Merge commit '137e071ca42f2c9e378d974c399a89504804a1e5' into vulkancts

Change-Id: I40ccde0cd8e6d1f080253225e22afdc3a358a1e7
diff --git a/BUILD.gn b/BUILD.gn
index 5d5b150..d8bfe61 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -141,13 +141,46 @@
 
   if (is_clang) {
     cflags_cc = [
-      "-Wno-implicit-fallthrough",
+      "-Wno-extra-semi",
       "-Wno-ignored-qualifiers",
+      "-Wno-implicit-fallthrough",
+      "-Wno-inconsistent-missing-override",
+      "-Wno-sign-compare",
       "-Wno-unused-variable",
     ]
   }
+  if (is_win && !is_clang) {
+    cflags = [
+      "/wd4018", # signed/unsigned mismatch
+      "/wd4189", # local variable is initialized but not referenced
+    ]
+  }
 
   deps = [
     "${spirv_tools_dir}:spvtools_opt",
   ]
 }
+
+source_set("glslang_default_resource_limits_sources") {
+  sources = [
+    "StandAlone/ResourceLimits.cpp",
+    "StandAlone/ResourceLimits.h",
+  ]
+  deps = [ ":glslang_sources" ]
+  public_configs = [ ":glslang_public" ]
+}
+
+executable("glslang_validator") {
+  sources = [
+    "StandAlone/DirStackFileIncluder.h",
+    "StandAlone/StandAlone.cpp",
+  ]
+  if (!is_win) {
+    cflags = [ "-Woverflow" ]
+  }
+  defines = [ "ENABLE_OPT=0" ]
+  deps = [
+    ":glslang_default_resource_limits_sources",
+    ":glslang_sources",
+  ]
+}
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5dc9c66..aafa70e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,7 +73,7 @@
 endif(ENABLE_HLSL)
 
 if(WIN32)
-    set(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "Adds a postfix for debug-built libraries.")
+    set(CMAKE_DEBUG_POSTFIX "d")
     if(MSVC)
         include(ChooseMSVCCRT.cmake)
     endif(MSVC)
diff --git a/SPIRV/GLSL.ext.NV.h b/SPIRV/GLSL.ext.NV.h
index 102d645..ede2c57 100644
--- a/SPIRV/GLSL.ext.NV.h
+++ b/SPIRV/GLSL.ext.NV.h
@@ -72,4 +72,7 @@
 //SPV_NV_shading_rate
 const char* const E_SPV_NV_shading_rate = "SPV_NV_shading_rate";
 
+//SPV_NV_cooperative_matrix
+const char* const E_SPV_NV_cooperative_matrix = "SPV_NV_cooperative_matrix";
+
 #endif  // #ifndef GLSLextNV_H
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index c7cab84..25ef210 100644
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -49,9 +49,7 @@
 #ifdef AMD_EXTENSIONS
     #include "GLSL.ext.AMD.h"
 #endif
-#ifdef NV_EXTENSIONS
     #include "GLSL.ext.NV.h"
-#endif
 }
 
 // Glslang includes
@@ -211,15 +209,6 @@
             builder.addExtension(ext);
     }
 
-    unsigned int getBufferReferenceAlignment(const glslang::TType &type) const {
-        if (type.getBasicType() == glslang::EbtReference) {
-            return type.getReferentType()->getQualifier().hasBufferReferenceAlign() ?
-                        (1u << type.getReferentType()->getQualifier().layoutBufferReferenceAlign) : 16u;
-        } else {
-            return 0;
-        }
-    }
-
     glslang::SpvOptions& options;
     spv::Function* shaderEntry;
     spv::Function* currentFunction;
@@ -567,14 +556,15 @@
     flags.workgroupcoherent = type.getQualifier().workgroupcoherent ||
                               type.getQualifier().storage == glslang::EvqShared;
     flags.subgroupcoherent = type.getQualifier().subgroupcoherent;
+    flags.volatil = type.getQualifier().volatil;
     // *coherent variables are implicitly nonprivate in GLSL
     flags.nonprivate = type.getQualifier().nonprivate ||
                        flags.subgroupcoherent ||
                        flags.workgroupcoherent ||
                        flags.queuefamilycoherent ||
                        flags.devicecoherent ||
-                       flags.coherent;
-    flags.volatil = type.getQualifier().volatil;
+                       flags.coherent ||
+                       flags.volatil;
     flags.isImage = type.getBasicType() == glslang::EbtSampler;
     return flags;
 }
@@ -582,7 +572,7 @@
 spv::Scope TGlslangToSpvTraverser::TranslateMemoryScope(const spv::Builder::AccessChain::CoherentFlags &coherentFlags)
 {
     spv::Scope scope;
-    if (coherentFlags.coherent) {
+    if (coherentFlags.volatil || coherentFlags.coherent) {
         // coherent defaults to Device scope in the old model, QueueFamilyKHR scope in the new model
         scope = glslangIntermediate->usingVulkanMemoryModel() ? spv::ScopeQueueFamilyKHR : spv::ScopeDevice;
     } else if (coherentFlags.devicecoherent) {
@@ -1330,6 +1320,10 @@
     }
     builder.setMemoryModel(addressingModel, memoryModel);
 
+    if (glslangIntermediate->usingVariablePointers()) {
+        builder.addCapability(spv::CapabilityVariablePointers);
+    }
+
     shaderEntry = builder.makeEntryPoint(glslangIntermediate->getEntryPointName().c_str());
     entryPoint = builder.addEntryPoint(executionModel, shaderEntry, glslangIntermediate->getEntryPointName().c_str());
 
@@ -1732,7 +1726,7 @@
                 }
 
                 // normal case for indexing array or structure or block
-                builder.accessChainPush(builder.makeIntConstant(spvIndex), TranslateCoherent(node->getLeft()->getType()), getBufferReferenceAlignment(node->getLeft()->getType()));
+                builder.accessChainPush(builder.makeIntConstant(spvIndex), TranslateCoherent(node->getLeft()->getType()), node->getLeft()->getType().getBufferReferenceAlignment());
 
                 // Add capabilities here for accessing PointSize and clip/cull distance.
                 // We have deferred generation of associated capabilities until now.
@@ -1771,7 +1765,7 @@
                                                 TranslateCoherent(node->getLeft()->getType()),
                                                 glslangIntermediate->getBaseAlignmentScalar(node->getLeft()->getType(), dummySize));
             } else
-                builder.accessChainPush(index, TranslateCoherent(node->getLeft()->getType()), getBufferReferenceAlignment(node->getLeft()->getType()));
+                builder.accessChainPush(index, TranslateCoherent(node->getLeft()->getType()), node->getLeft()->getType().getBufferReferenceAlignment());
         }
         return false;
     case glslang::EOpVectorSwizzle:
@@ -1870,16 +1864,31 @@
         // So, this has to be block.lastMember.length().
         // SPV wants "block" and member number as the operands, go get them.
 
-        glslang::TIntermTyped* block = node->getOperand()->getAsBinaryNode()->getLeft();
-        block->traverse(this);
-        unsigned int member = node->getOperand()->getAsBinaryNode()->getRight()->getAsConstantUnion()->getConstArray()[0].getUConst();
-        spv::Id length = builder.createArrayLength(builder.accessChainGetLValue(), member);
+        spv::Id length;
+        if (node->getOperand()->getType().isCoopMat()) {
+            spec_constant_op_mode_setter.turnOnSpecConstantOpMode();
+
+            spv::Id typeId = convertGlslangToSpvType(node->getOperand()->getType());
+            assert(builder.isCooperativeMatrixType(typeId));
+
+            length = builder.createCooperativeMatrixLength(typeId);
+        } else {
+            glslang::TIntermTyped* block = node->getOperand()->getAsBinaryNode()->getLeft();
+            block->traverse(this);
+            unsigned int member = node->getOperand()->getAsBinaryNode()->getRight()->getAsConstantUnion()->getConstArray()[0].getUConst();
+            length = builder.createArrayLength(builder.accessChainGetLValue(), member);
+        }
 
         // GLSL semantics say the result of .length() is an int, while SPIR-V says
         // signedness must be 0. So, convert from SPIR-V unsigned back to GLSL's
         // AST expectation of a signed result.
-        if (glslangIntermediate->getSource() == glslang::EShSourceGlsl)
-            length = builder.createUnaryOp(spv::OpBitcast, builder.makeIntType(32), length);
+        if (glslangIntermediate->getSource() == glslang::EShSourceGlsl) {
+            if (builder.isInSpecConstCodeGenMode()) {
+                length = builder.createBinOp(spv::OpIAdd, builder.makeIntType(32), length, builder.makeIntConstant(0));
+            } else {
+                length = builder.createUnaryOp(spv::OpBitcast, builder.makeIntType(32), length);
+            }
+        }
 
         builder.clearAccessChain();
         builder.setAccessChainRValue(length);
@@ -2222,6 +2231,7 @@
     case glslang::EOpConstructStruct:
     case glslang::EOpConstructTextureSampler:
     case glslang::EOpConstructReference:
+    case glslang::EOpConstructCooperativeMatrix:
     {
         builder.setLine(node->getLoc().line, node->getLoc().getFilename());
         std::vector<spv::Id> arguments;
@@ -2229,7 +2239,9 @@
         spv::Id constructed;
         if (node->getOp() == glslang::EOpConstructTextureSampler)
             constructed = builder.createOp(spv::OpSampledImage, resultType(), arguments);
-        else if (node->getOp() == glslang::EOpConstructStruct || node->getType().isArray()) {
+        else if (node->getOp() == glslang::EOpConstructStruct ||
+                 node->getOp() == glslang::EOpConstructCooperativeMatrix ||
+                 node->getType().isArray()) {
             std::vector<spv::Id> constituents;
             for (int c = 0; c < (int)arguments.size(); ++c)
                 constituents.push_back(arguments[c]);
@@ -2347,6 +2359,10 @@
         noReturnValue = true;
         break;
 #endif
+    case glslang::EOpCooperativeMatrixLoad:
+    case glslang::EOpCooperativeMatrixStore:
+        noReturnValue = true;
+        break;
 
     default:
         break;
@@ -2389,6 +2405,7 @@
     //
     glslang::TIntermSequence& glslangOperands = node->getSequence();
     std::vector<spv::Id> operands;
+    std::vector<spv::IdImmediate> memoryAccessOperands;
     for (int arg = 0; arg < (int)glslangOperands.size(); ++arg) {
         // special case l-value operands; there are just a few
         bool lvalue = false;
@@ -2445,6 +2462,14 @@
             if (arg >= 2)
                 lvalue = true;
             break;
+        case glslang::EOpCooperativeMatrixLoad:
+            if (arg == 0 || arg == 1)
+                lvalue = true;
+            break;
+        case glslang::EOpCooperativeMatrixStore:
+            if (arg == 1)
+                lvalue = true;
+            break;
         default:
             break;
         }
@@ -2453,6 +2478,50 @@
             glslangOperands[0]->getAsBinaryNode()->getLeft()->traverse(this);
         else
             glslangOperands[arg]->traverse(this);
+
+        if (node->getOp() == glslang::EOpCooperativeMatrixLoad ||
+            node->getOp() == glslang::EOpCooperativeMatrixStore) {
+
+            if (arg == 1) {
+                // fold "element" parameter into the access chain
+                spv::Builder::AccessChain save = builder.getAccessChain();
+                builder.clearAccessChain();
+                glslangOperands[2]->traverse(this);
+
+                spv::Id elementId = accessChainLoad(glslangOperands[2]->getAsTyped()->getType());
+
+                builder.setAccessChain(save);
+
+                // Point to the first element of the array.
+                builder.accessChainPush(elementId, TranslateCoherent(glslangOperands[arg]->getAsTyped()->getType()),
+                                                   glslangOperands[arg]->getAsTyped()->getType().getBufferReferenceAlignment());
+
+                spv::Builder::AccessChain::CoherentFlags coherentFlags = builder.getAccessChain().coherentFlags;
+                unsigned int alignment = builder.getAccessChain().alignment;
+
+                int memoryAccess = TranslateMemoryAccess(coherentFlags);
+                if (node->getOp() == glslang::EOpCooperativeMatrixLoad)
+                    memoryAccess &= ~spv::MemoryAccessMakePointerAvailableKHRMask;
+                if (node->getOp() == glslang::EOpCooperativeMatrixStore)
+                    memoryAccess &= ~spv::MemoryAccessMakePointerVisibleKHRMask;
+                if (builder.getStorageClass(builder.getAccessChain().base) == spv::StorageClassPhysicalStorageBufferEXT) {
+                    memoryAccess = (spv::MemoryAccessMask)(memoryAccess | spv::MemoryAccessAlignedMask);
+                }
+
+                memoryAccessOperands.push_back(spv::IdImmediate(false, memoryAccess));
+
+                if (memoryAccess & spv::MemoryAccessAlignedMask) {
+                    memoryAccessOperands.push_back(spv::IdImmediate(false, alignment));
+                }
+
+                if (memoryAccess & (spv::MemoryAccessMakePointerAvailableKHRMask | spv::MemoryAccessMakePointerVisibleKHRMask)) {
+                    memoryAccessOperands.push_back(spv::IdImmediate(true, builder.makeUintConstant(TranslateMemoryScope(coherentFlags))));
+                }
+            } else if (arg == 2) {
+                continue;
+            }
+        }
+
         if (lvalue)
             operands.push_back(builder.accessChainGetLValue());
         else {
@@ -2462,7 +2531,33 @@
     }
 
     builder.setLine(node->getLoc().line, node->getLoc().getFilename());
-    if (atomic) {
+    if (node->getOp() == glslang::EOpCooperativeMatrixLoad) {
+        std::vector<spv::IdImmediate> idImmOps;
+
+        idImmOps.push_back(spv::IdImmediate(true, operands[1])); // buf
+        idImmOps.push_back(spv::IdImmediate(true, operands[2])); // stride
+        idImmOps.push_back(spv::IdImmediate(true, operands[3])); // colMajor
+        idImmOps.insert(idImmOps.end(), memoryAccessOperands.begin(), memoryAccessOperands.end());
+        // get the pointee type
+        spv::Id typeId = builder.getContainedTypeId(builder.getTypeId(operands[0]));
+        assert(builder.isCooperativeMatrixType(typeId));
+        // do the op
+        spv::Id result = builder.createOp(spv::OpCooperativeMatrixLoadNV, typeId, idImmOps);
+        // store the result to the pointer (out param 'm')
+        builder.createStore(result, operands[0]);
+        result = 0;
+    } else if (node->getOp() == glslang::EOpCooperativeMatrixStore) {
+        std::vector<spv::IdImmediate> idImmOps;
+
+        idImmOps.push_back(spv::IdImmediate(true, operands[1])); // buf
+        idImmOps.push_back(spv::IdImmediate(true, operands[0])); // object
+        idImmOps.push_back(spv::IdImmediate(true, operands[2])); // stride
+        idImmOps.push_back(spv::IdImmediate(true, operands[3])); // colMajor
+        idImmOps.insert(idImmOps.end(), memoryAccessOperands.begin(), memoryAccessOperands.end());
+
+        builder.createNoResultOp(spv::OpCooperativeMatrixStoreNV, idImmOps);
+        result = 0;
+    } else if (atomic) {
         // Handle all atomics
         result = createAtomicOperation(node->getOp(), precision, resultType(), operands, node->getBasicType());
     } else {
@@ -3090,6 +3185,19 @@
             spvType = builder.makeVectorType(spvType, type.getVectorSize());
     }
 
+    if (type.isCoopMat()) {
+        builder.addCapability(spv::CapabilityCooperativeMatrixNV);
+        builder.addExtension(spv::E_SPV_NV_cooperative_matrix);
+        if (type.getBasicType() == glslang::EbtFloat16)
+            builder.addCapability(spv::CapabilityFloat16);
+
+        spv::Id scope = makeArraySizeId(*type.getTypeParameters(), 1);
+        spv::Id rows = makeArraySizeId(*type.getTypeParameters(), 2);
+        spv::Id cols = makeArraySizeId(*type.getTypeParameters(), 3);
+
+        spvType = builder.makeCooperativeMatrixType(spvType, scope, rows, cols);
+    }
+
     if (type.isArray()) {
         int stride = 0;  // keep this 0 unless doing an explicit layout; 0 will mean no decoration, no stride
 
@@ -3232,7 +3340,7 @@
     // Decorate it
     decorateStructType(type, glslangMembers, explicitLayout, qualifier, spvType);
 
-    for (int i = 0; i < deferredForwardPointers.size(); ++i) {
+    for (int i = 0; i < (int)deferredForwardPointers.size(); ++i) {
         auto it = deferredForwardPointers[i];
         convertGlslangToSpvType(*it.first, explicitLayout, it.second, false);
     }
@@ -3401,7 +3509,7 @@
     coherentFlags |= TranslateCoherent(type);
 
     unsigned int alignment = builder.getAccessChain().alignment;
-    alignment |= getBufferReferenceAlignment(type);
+    alignment |= type.getBufferReferenceAlignment();
 
     spv::Id loadedId = builder.accessChainLoad(TranslatePrecisionDecoration(type),
                                                TranslateNonUniformDecoration(type.getQualifier()),
@@ -3468,7 +3576,7 @@
     coherentFlags |= TranslateCoherent(type);
 
     unsigned int alignment = builder.getAccessChain().alignment;
-    alignment |= getBufferReferenceAlignment(type);
+    alignment |= type.getBufferReferenceAlignment();
 
     builder.accessChainStore(rvalue,
                              spv::MemoryAccessMask(TranslateMemoryAccess(coherentFlags) & ~spv::MemoryAccessMakePointerVisibleKHRMask),
@@ -3518,7 +3626,7 @@
             // set up the target storage
             builder.clearAccessChain();
             builder.setAccessChainLValue(lValue);
-            builder.accessChainPush(builder.makeIntConstant(index), TranslateCoherent(type), getBufferReferenceAlignment(type));
+            builder.accessChainPush(builder.makeIntConstant(index), TranslateCoherent(type), type.getBufferReferenceAlignment());
 
             // store the member
             multiTypeStore(glslangElementType, elementRValue);
@@ -3538,7 +3646,7 @@
             // set up the target storage
             builder.clearAccessChain();
             builder.setAccessChainLValue(lValue);
-            builder.accessChainPush(builder.makeIntConstant(m), TranslateCoherent(type), getBufferReferenceAlignment(type));
+            builder.accessChainPush(builder.makeIntConstant(m), TranslateCoherent(type), type.getBufferReferenceAlignment());
 
             // store the member
             multiTypeStore(glslangMemberType, memberRValue);
@@ -4847,7 +4955,8 @@
     // handle mapped binary operations (should be non-comparison)
     if (binOp != spv::OpNop) {
         assert(comparison == false);
-        if (builder.isMatrix(left) || builder.isMatrix(right))
+        if (builder.isMatrix(left) || builder.isMatrix(right) ||
+            builder.isCooperativeMatrix(left) || builder.isCooperativeMatrix(right))
             return createBinaryMatrixOperation(binOp, decorations, typeId, left, right);
 
         // No matrix involved; make both operands be the same number of components, if needed
@@ -4968,7 +5077,7 @@
             firstClass = false;
         break;
     case spv::OpMatrixTimesScalar:
-        if (builder.isMatrix(right))
+        if (builder.isMatrix(right) || builder.isCooperativeMatrix(right))
             std::swap(left, right);
         assert(builder.isScalar(right));
         break;
@@ -4989,6 +5098,9 @@
         break;
     }
 
+    if (builder.isCooperativeMatrix(left) || builder.isCooperativeMatrix(right))
+        firstClass = true;
+
     if (firstClass) {
         spv::Id result = builder.createBinOp(op, typeId, left, right);
         builder.addDecoration(result, decorations.noContraction);
@@ -7030,6 +7142,10 @@
         builder.createNoResultOp(spv::OpWritePackedPrimitiveIndices4x8NV, operands);
         return 0;
 #endif
+    case glslang::EOpCooperativeMatrixMulAdd:
+        opCode = spv::OpCooperativeMatrixMulAddNV;
+        break;
+
     default:
         return 0;
     }
@@ -7486,6 +7602,9 @@
         glslang::TType vectorType(glslangType, 0);
         for (int col = 0; col < glslangType.getMatrixCols(); ++col)
             spvConsts.push_back(createSpvConstantFromConstUnionArray(vectorType, consts, nextConst, false));
+    } else if (glslangType.isCoopMat()) {
+        glslang::TType componentType(glslangType.getBasicType());
+        spvConsts.push_back(createSpvConstantFromConstUnionArray(componentType, consts, nextConst, false));
     } else if (glslangType.isStruct()) {
         glslang::TVector<glslang::TTypeLoc>::const_iterator iter;
         for (iter = glslangType.getStruct()->begin(); iter != glslangType.getStruct()->end(); ++iter)
@@ -7577,6 +7696,10 @@
         case glslang::EbtBool:
             scalar = builder.makeBoolConstant(zero ? false : consts[nextConst].getBConst(), specConstant);
             break;
+        case glslang::EbtReference:
+            scalar = builder.makeUint64Constant(zero ? 0 : consts[nextConst].getU64Const(), specConstant);
+            scalar = builder.createUnaryOp(spv::OpBitcast, typeId, scalar);
+            break;
         default:
             assert(0);
             break;
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
old mode 100755
new mode 100644
index 8355d83..138c41c
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -388,6 +388,33 @@
     return type->getResultId();
 }
 
+Id Builder::makeCooperativeMatrixType(Id component, Id scope, Id rows, Id cols)
+{
+    // try to find it
+    Instruction* type;
+    for (int t = 0; t < (int)groupedTypes[OpTypeCooperativeMatrixNV].size(); ++t) {
+        type = groupedTypes[OpTypeCooperativeMatrixNV][t];
+        if (type->getIdOperand(0) == component &&
+            type->getIdOperand(1) == scope &&
+            type->getIdOperand(2) == rows &&
+            type->getIdOperand(3) == cols)
+            return type->getResultId();
+    }
+
+    // not found, make it
+    type = new Instruction(getUniqueId(), NoType, OpTypeCooperativeMatrixNV);
+    type->addIdOperand(component);
+    type->addIdOperand(scope);
+    type->addIdOperand(rows);
+    type->addIdOperand(cols);
+    groupedTypes[OpTypeCooperativeMatrixNV].push_back(type);
+    constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type));
+    module.mapInstruction(type);
+
+    return type->getResultId();
+}
+
+
 // TODO: performance: track arrays per stride
 // If a stride is supplied (non-zero) make an array.
 // If no stride (0), reuse previous array types.
@@ -623,6 +650,9 @@
     }
     case OpTypeStruct:
         return instr->getNumOperands();
+    case OpTypeCooperativeMatrixNV:
+        // has only one constituent when used with OpCompositeConstruct.
+        return 1;
     default:
         assert(0);
         return 1;
@@ -669,6 +699,7 @@
     case OpTypeMatrix:
     case OpTypeArray:
     case OpTypeRuntimeArray:
+    case OpTypeCooperativeMatrixNV:
         return instr->getIdOperand(0);
     case OpTypePointer:
         return instr->getIdOperand(1);
@@ -981,15 +1012,14 @@
         return NoResult;
 }
 
-Id Builder::findCompositeConstant(Op typeClass, const std::vector<Id>& comps)
+Id Builder::findCompositeConstant(Op typeClass, Id typeId, const std::vector<Id>& comps)
 {
     Instruction* constant = 0;
     bool found = false;
     for (int i = 0; i < (int)groupedConstants[typeClass].size(); ++i) {
         constant = groupedConstants[typeClass][i];
 
-        // same shape?
-        if (constant->getNumOperands() != (int)comps.size())
+        if (constant->getTypeId() != typeId)
             continue;
 
         // same contents?
@@ -1044,8 +1074,9 @@
     case OpTypeVector:
     case OpTypeArray:
     case OpTypeMatrix:
+    case OpTypeCooperativeMatrixNV:
         if (! specConstant) {
-            Id existing = findCompositeConstant(typeClass, members);
+            Id existing = findCompositeConstant(typeClass, typeId, members);
             if (existing)
                 return existing;
         }
@@ -1408,6 +1439,23 @@
     return length->getResultId();
 }
 
+Id Builder::createCooperativeMatrixLength(Id type)
+{
+    spv::Id intType = makeUintType(32);
+
+    // Generate code for spec constants if in spec constant operation
+    // generation mode.
+    if (generatingOpCodeForSpecConst) {
+        return createSpecConstantOp(OpCooperativeMatrixLengthNV, intType, std::vector<Id>(1, type), std::vector<Id>());
+    }
+
+    Instruction* length = new Instruction(getUniqueId(), intType, OpCooperativeMatrixLengthNV);
+    length->addIdOperand(type);
+    buildPoint->addInstruction(std::unique_ptr<Instruction>(length));
+
+    return length->getResultId();
+}
+
 Id Builder::createCompositeExtract(Id composite, Id typeId, unsigned index)
 {
     // Generate code for spec constants if in spec constant operation
@@ -2598,9 +2646,9 @@
                 }
             }
 
-            if (constant)
+            if (constant) {
                 id = createCompositeExtract(accessChain.base, swizzleBase, indexes);
-            else {
+            } else {
                 // make a new function variable for this r-value
                 Id lValue = createVariable(StorageClassFunction, getTypeId(accessChain.base), "indexable");
 
diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h
old mode 100755
new mode 100644
index edeac1b..52f7fba
--- a/SPIRV/SpvBuilder.h
+++ b/SPIRV/SpvBuilder.h
@@ -155,6 +155,7 @@
     Id makeImageType(Id sampledType, Dim, bool depth, bool arrayed, bool ms, unsigned sampled, ImageFormat format);
     Id makeSamplerType();
     Id makeSampledImageType(Id imageType);
+    Id makeCooperativeMatrixType(Id component, Id scope, Id rows, Id cols);
 
     // accelerationStructureNV type
     Id makeAccelerationStructureNVType();
@@ -178,6 +179,7 @@
     bool isScalar(Id resultId)       const { return isScalarType(getTypeId(resultId)); }
     bool isVector(Id resultId)       const { return isVectorType(getTypeId(resultId)); }
     bool isMatrix(Id resultId)       const { return isMatrixType(getTypeId(resultId)); }
+    bool isCooperativeMatrix(Id resultId)const { return isCooperativeMatrixType(getTypeId(resultId)); }
     bool isAggregate(Id resultId)    const { return isAggregateType(getTypeId(resultId)); }
     bool isSampledImage(Id resultId) const { return isSampledImageType(getTypeId(resultId)); }
 
@@ -191,7 +193,8 @@
     bool isMatrixType(Id typeId)       const { return getTypeClass(typeId) == OpTypeMatrix; }
     bool isStructType(Id typeId)       const { return getTypeClass(typeId) == OpTypeStruct; }
     bool isArrayType(Id typeId)        const { return getTypeClass(typeId) == OpTypeArray; }
-    bool isAggregateType(Id typeId)    const { return isArrayType(typeId) || isStructType(typeId); }
+    bool isCooperativeMatrixType(Id typeId)const { return getTypeClass(typeId) == OpTypeCooperativeMatrixNV; }
+    bool isAggregateType(Id typeId)    const { return isArrayType(typeId) || isStructType(typeId) || isCooperativeMatrixType(typeId); }
     bool isImageType(Id typeId)        const { return getTypeClass(typeId) == OpTypeImage; }
     bool isSamplerType(Id typeId)      const { return getTypeClass(typeId) == OpTypeSampler; }
     bool isSampledImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampledImage; }
@@ -314,6 +317,9 @@
     // Create an OpArrayLength instruction
     Id createArrayLength(Id base, unsigned int member);
 
+    // Create an OpCooperativeMatrixLengthNV instruction
+    Id createCooperativeMatrixLength(Id type);
+
     // Create an OpCompositeExtract instruction
     Id createCompositeExtract(Id composite, Id typeId, unsigned index);
     Id createCompositeExtract(Id composite, Id typeId, const std::vector<unsigned>& indexes);
@@ -670,7 +676,7 @@
     Id makeInt64Constant(Id typeId, unsigned long long value, bool specConstant);
     Id findScalarConstant(Op typeClass, Op opcode, Id typeId, unsigned value);
     Id findScalarConstant(Op typeClass, Op opcode, Id typeId, unsigned v1, unsigned v2);
-    Id findCompositeConstant(Op typeClass, const std::vector<Id>& comps);
+    Id findCompositeConstant(Op typeClass, Id typeId, const std::vector<Id>& comps);
     Id findStructConstant(Id typeId, const std::vector<Id>& comps);
     Id collapseAccessChain();
     void remapDynamicSwizzle();
diff --git a/SPIRV/SpvPostProcess.cpp b/SPIRV/SpvPostProcess.cpp
old mode 100755
new mode 100644
index 04d594c..80471ca
--- a/SPIRV/SpvPostProcess.cpp
+++ b/SPIRV/SpvPostProcess.cpp
@@ -222,7 +222,7 @@
                     Instruction *idx = module.getInstruction(accessChain->getIdOperand(i));
                     if (type->getOpCode() == OpTypeStruct) {
                         assert(idx->getOpCode() == OpConstant);
-                        int c = idx->getImmediateOperand(0);
+                        unsigned int c = idx->getImmediateOperand(0);
 
                         const auto function = [&](const std::unique_ptr<Instruction>& decoration) {
                             if (decoration.get()->getOpCode() == OpMemberDecorate &&
@@ -258,10 +258,9 @@
                 assert(inst.getNumOperands() >= 3);
                 unsigned int memoryAccess = inst.getImmediateOperand((inst.getOpCode() == OpStore) ? 2 : 1);
                 assert(memoryAccess & MemoryAccessAlignedMask);
+                static_cast<void>(memoryAccess);
                 // Compute the index of the alignment operand.
                 int alignmentIdx = 2;
-                if (memoryAccess & MemoryAccessVolatileMask)
-                    alignmentIdx++;
                 if (inst.getOpCode() == OpStore)
                     alignmentIdx++;
                 // Merge new and old (mis)alignment
diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp
index eec06e0..cce5fa7 100644
--- a/SPIRV/SpvTools.cpp
+++ b/SPIRV/SpvTools.cpp
@@ -191,7 +191,9 @@
         optimizer.RegisterPass(spvtools::CreateRedundantLineInfoElimPass());
     }
 
-    optimizer.Run(spirv.data(), spirv.size(), &spirv);
+    spvtools::OptimizerOptions spvOptOptions;
+    spvOptOptions.set_run_validator(false); // The validator may run as a seperate step later on
+    optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);
 }
 
 }; // end namespace glslang
diff --git a/SPIRV/SpvTools.h b/SPIRV/SpvTools.h
index 08bcf3a..7e49ae0 100644
--- a/SPIRV/SpvTools.h
+++ b/SPIRV/SpvTools.h
@@ -75,6 +75,6 @@
 
 #endif
 
-}; // end namespace glslang
+} // end namespace glslang
 
-#endif // GLSLANG_SPV_TOOLS_H
\ No newline at end of file
+#endif // GLSLANG_SPV_TOOLS_H
diff --git a/SPIRV/disassemble.h b/SPIRV/disassemble.h
index 2a9a89b..b6a4635 100644
--- a/SPIRV/disassemble.h
+++ b/SPIRV/disassemble.h
@@ -48,6 +48,6 @@
     // disassemble with glslang custom disassembler
     void Disassemble(std::ostream& out, const std::vector<unsigned int>&);
 
-};  // end namespace spv
+}  // end namespace spv
 
 #endif // disassembler_H
diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp
index bd6df10..76e1df8 100644
--- a/SPIRV/doc.cpp
+++ b/SPIRV/doc.cpp
@@ -930,6 +930,10 @@
 
     case CapabilityPhysicalStorageBufferAddressesEXT:   return "CapabilityPhysicalStorageBufferAddressesEXT";
 
+    case CapabilityVariablePointers:                    return "CapabilityVariablePointers";
+
+    case CapabilityCooperativeMatrixNV:     return "CapabilityCooperativeMatrixNV";
+
     default: return "Bad";
     }
 }
@@ -1333,6 +1337,12 @@
     case OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV";
 #endif
 
+    case OpTypeCooperativeMatrixNV:         return "OpTypeCooperativeMatrixNV";
+    case OpCooperativeMatrixLoadNV:         return "OpCooperativeMatrixLoadNV";
+    case OpCooperativeMatrixStoreNV:        return "OpCooperativeMatrixStoreNV";
+    case OpCooperativeMatrixMulAddNV:       return "OpCooperativeMatrixMulAddNV";
+    case OpCooperativeMatrixLengthNV:       return "OpCooperativeMatrixLengthNV";
+
     default:
         return "Bad";
     }
@@ -1444,6 +1454,8 @@
     InstructionDesc[OpGroupWaitEvents].setResultAndType(false, false);
     InstructionDesc[OpAtomicFlagClear].setResultAndType(false, false);
     InstructionDesc[OpModuleProcessed].setResultAndType(false, false);
+    InstructionDesc[OpTypeCooperativeMatrixNV].setResultAndType(true, false);
+    InstructionDesc[OpCooperativeMatrixStoreNV].setResultAndType(false, false);
 
     // Specific additional context-dependent operands
 
@@ -2714,6 +2726,32 @@
     InstructionDesc[OpWritePackedPrimitiveIndices4x8NV].operands.push(OperandId, "'Index Offset'");
     InstructionDesc[OpWritePackedPrimitiveIndices4x8NV].operands.push(OperandId, "'Packed Indices'");
 #endif
+
+    InstructionDesc[OpTypeCooperativeMatrixNV].operands.push(OperandId, "'Component Type'");
+    InstructionDesc[OpTypeCooperativeMatrixNV].operands.push(OperandId, "'Scope'");
+    InstructionDesc[OpTypeCooperativeMatrixNV].operands.push(OperandId, "'Rows'");
+    InstructionDesc[OpTypeCooperativeMatrixNV].operands.push(OperandId, "'Columns'");
+
+    InstructionDesc[OpCooperativeMatrixLoadNV].operands.push(OperandId, "'Pointer'");
+    InstructionDesc[OpCooperativeMatrixLoadNV].operands.push(OperandId, "'Stride'");
+    InstructionDesc[OpCooperativeMatrixLoadNV].operands.push(OperandId, "'Column Major'");
+    InstructionDesc[OpCooperativeMatrixLoadNV].operands.push(OperandMemoryAccess, "'Memory Access'");
+    InstructionDesc[OpCooperativeMatrixLoadNV].operands.push(OperandLiteralNumber, "", true);
+    InstructionDesc[OpCooperativeMatrixLoadNV].operands.push(OperandId, "", true);
+
+    InstructionDesc[OpCooperativeMatrixStoreNV].operands.push(OperandId, "'Pointer'");
+    InstructionDesc[OpCooperativeMatrixStoreNV].operands.push(OperandId, "'Object'");
+    InstructionDesc[OpCooperativeMatrixStoreNV].operands.push(OperandId, "'Stride'");
+    InstructionDesc[OpCooperativeMatrixStoreNV].operands.push(OperandId, "'Column Major'");
+    InstructionDesc[OpCooperativeMatrixStoreNV].operands.push(OperandMemoryAccess, "'Memory Access'");
+    InstructionDesc[OpCooperativeMatrixStoreNV].operands.push(OperandLiteralNumber, "", true);
+    InstructionDesc[OpCooperativeMatrixStoreNV].operands.push(OperandId, "", true);
+
+    InstructionDesc[OpCooperativeMatrixMulAddNV].operands.push(OperandId, "'A'");
+    InstructionDesc[OpCooperativeMatrixMulAddNV].operands.push(OperandId, "'B'");
+    InstructionDesc[OpCooperativeMatrixMulAddNV].operands.push(OperandId, "'C'");
+
+    InstructionDesc[OpCooperativeMatrixLengthNV].operands.push(OperandId, "'Type'");
 }
 
 }; // end spv namespace
diff --git a/SPIRV/doc.h b/SPIRV/doc.h
index 7d0475d..293256a 100644
--- a/SPIRV/doc.h
+++ b/SPIRV/doc.h
@@ -255,4 +255,4 @@
 
 void PrintOperands(const OperandParameters& operands, int reservedOperands);
 
-};  // end namespace spv
+}  // end namespace spv
diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp
index 44d0616..62c2dc9 100644
--- a/SPIRV/spirv.hpp
+++ b/SPIRV/spirv.hpp
@@ -50,11 +50,11 @@
 typedef unsigned int Id;
 
 #define SPV_VERSION 0x10300
-#define SPV_REVISION 6
+#define SPV_REVISION 7
 
 static const unsigned int MagicNumber = 0x07230203;
 static const unsigned int Version = 0x00010300;
-static const unsigned int Revision = 6;
+static const unsigned int Revision = 7;
 static const unsigned int OpCodeMask = 0xffff;
 static const unsigned int WordCountShift = 16;
 
@@ -811,9 +811,14 @@
     CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
     CapabilityPhysicalStorageBufferAddressesEXT = 5347,
     CapabilityComputeDerivativeGroupLinearNV = 5350,
+    CapabilityCooperativeMatrixNV = 5357,
     CapabilitySubgroupShuffleINTEL = 5568,
     CapabilitySubgroupBufferBlockIOINTEL = 5569,
     CapabilitySubgroupImageBlockIOINTEL = 5570,
+    CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
+    CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
+    CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
+    CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
     CapabilityMax = 0x7fffffff,
 };
 
@@ -1183,6 +1188,11 @@
     OpTraceNV = 5337,
     OpTypeAccelerationStructureNV = 5341,
     OpExecuteCallableNV = 5344,
+    OpTypeCooperativeMatrixNV = 5358,
+    OpCooperativeMatrixLoadNV = 5359,
+    OpCooperativeMatrixStoreNV = 5360,
+    OpCooperativeMatrixMulAddNV = 5361,
+    OpCooperativeMatrixLengthNV = 5362,
     OpSubgroupShuffleINTEL = 5571,
     OpSubgroupShuffleDownINTEL = 5572,
     OpSubgroupShuffleUpINTEL = 5573,
@@ -1191,8 +1201,128 @@
     OpSubgroupBlockWriteINTEL = 5576,
     OpSubgroupImageBlockReadINTEL = 5577,
     OpSubgroupImageBlockWriteINTEL = 5578,
+    OpSubgroupImageMediaBlockReadINTEL = 5580,
+    OpSubgroupImageMediaBlockWriteINTEL = 5581,
     OpDecorateStringGOOGLE = 5632,
     OpMemberDecorateStringGOOGLE = 5633,
+    OpVmeImageINTEL = 5699,
+    OpTypeVmeImageINTEL = 5700,
+    OpTypeAvcImePayloadINTEL = 5701,
+    OpTypeAvcRefPayloadINTEL = 5702,
+    OpTypeAvcSicPayloadINTEL = 5703,
+    OpTypeAvcMcePayloadINTEL = 5704,
+    OpTypeAvcMceResultINTEL = 5705,
+    OpTypeAvcImeResultINTEL = 5706,
+    OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
+    OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
+    OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
+    OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
+    OpTypeAvcRefResultINTEL = 5711,
+    OpTypeAvcSicResultINTEL = 5712,
+    OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
+    OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
+    OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
+    OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
+    OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
+    OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
+    OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
+    OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
+    OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
+    OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
+    OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
+    OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
+    OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
+    OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
+    OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
+    OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
+    OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
+    OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
+    OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
+    OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
+    OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
+    OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
+    OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
+    OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
+    OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
+    OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
+    OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
+    OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
+    OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
+    OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
+    OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
+    OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
+    OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
+    OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
+    OpSubgroupAvcImeInitializeINTEL = 5747,
+    OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
+    OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
+    OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
+    OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
+    OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
+    OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
+    OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
+    OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
+    OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
+    OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
+    OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
+    OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
+    OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
+    OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
+    OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
+    OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
+    OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
+    OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
+    OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
+    OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
+    OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
+    OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
+    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
+    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
+    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
+    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
+    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
+    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
+    OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
+    OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
+    OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
+    OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
+    OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
+    OpSubgroupAvcFmeInitializeINTEL = 5781,
+    OpSubgroupAvcBmeInitializeINTEL = 5782,
+    OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
+    OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
+    OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
+    OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
+    OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
+    OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
+    OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
+    OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
+    OpSubgroupAvcSicInitializeINTEL = 5791,
+    OpSubgroupAvcSicConfigureSkcINTEL = 5792,
+    OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
+    OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
+    OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
+    OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
+    OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
+    OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
+    OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
+    OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
+    OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
+    OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
+    OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
+    OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
+    OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
+    OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
+    OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
+    OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
+    OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
+    OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
+    OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
+    OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
+    OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
+    OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
+    OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
+    OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
     OpMax = 0x7fffffff,
 };
 
diff --git a/SPIRV/spvIR.h b/SPIRV/spvIR.h
index 8c2d0b6..b3cd0b0 100755
--- a/SPIRV/spvIR.h
+++ b/SPIRV/spvIR.h
@@ -83,6 +83,7 @@
 struct IdImmediate {
     bool isId;      // true if word is an Id, false if word is an immediate
     unsigned word;
+    IdImmediate(bool i, unsigned w) : isId(i), word(w) {}
 };
 
 //
diff --git a/StandAlone/ResourceLimits.h b/StandAlone/ResourceLimits.h
index 9c3eb3e..736248e 100644
--- a/StandAlone/ResourceLimits.h
+++ b/StandAlone/ResourceLimits.h
@@ -37,7 +37,7 @@
 
 #include <string>
 
-#include "glslang/Include/ResourceLimits.h"
+#include "../glslang/Include/ResourceLimits.h"
 
 namespace glslang {
 
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index 42a46ce..bb37a84 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -152,6 +152,7 @@
     }
 }
 
+int ReflectOptions = EShReflectionDefault;
 int Options = 0;
 const char* ExecutableName = nullptr;
 const char* binaryFileName = nullptr;
@@ -523,6 +524,18 @@
                         Options |= EOptionNoStorageFormat;
                     } else if (lowerword == "relaxed-errors") {
                         Options |= EOptionRelaxedErrors;
+                    } else if (lowerword == "reflect-strict-array-suffix") {
+                        ReflectOptions |= EShReflectionStrictArraySuffix;
+                    } else if (lowerword == "reflect-basic-array-suffix") {
+                        ReflectOptions |= EShReflectionBasicArraySuffix;
+                    } else if (lowerword == "reflect-intermediate-io") {
+                        ReflectOptions |= EShReflectionIntermediateIO;
+                    } else if (lowerword == "reflect-separate-buffers") {
+                        ReflectOptions |= EShReflectionSeparateBuffers;
+                    } else if (lowerword == "reflect-all-block-variables") {
+                        ReflectOptions |= EShReflectionAllBlockVariables;
+                    } else if (lowerword == "reflect-unwrap-io-blocks") {
+                        ReflectOptions |= EShReflectionUnwrapIOBlocks;
                     } else if (lowerword == "resource-set-bindings" ||  // synonyms
                                lowerword == "resource-set-binding"  ||
                                lowerword == "rsb") {
@@ -1051,7 +1064,7 @@
 
     // Reflect
     if (Options & EOptionDumpReflection) {
-        program.buildReflection();
+        program.buildReflection(ReflectOptions);
         program.dumpReflection();
     }
 
@@ -1518,6 +1531,17 @@
            "  --invert-y | --iy                 invert position.Y output in vertex shader\n"
            "  --keep-uncalled | --ku            don't eliminate uncalled functions\n"
            "  --no-storage-format | --nsf       use Unknown image format\n"
+           "  --reflect-strict-array-suffix     use strict array suffix rules when\n"
+           "                                    reflecting\n"
+           "  --reflect-basic-array-suffix      arrays of basic types will have trailing [0]\n"
+           "  --reflect-intermediate-io         reflection includes inputs/outputs of linked\n"
+           "                                    shaders rather than just vertex/fragment\n"
+           "  --reflect-separate-buffers        reflect buffer variables and blocks\n"
+           "                                    separately to uniforms\n"
+           "  --reflect-all-block-variables     reflect all variables in blocks, whether\n"
+           "                                    inactive or active\n"
+           "  --reflect-unwrap-io-blocks        unwrap input/output blocks the same as\n"
+           "                                    uniform blocks\n"
            "  --resource-set-binding [stage] name set binding\n"
            "                                    set descriptor set and binding for\n"
            "                                    individual resources\n"
diff --git a/Test/300samplerExternalYUV.frag b/Test/300samplerExternalYUV.frag
new file mode 100644
index 0000000..add2128
--- /dev/null
+++ b/Test/300samplerExternalYUV.frag
@@ -0,0 +1,38 @@
+#version 300 es

+

+#extension GL_EXT_YUV_target : enable

+

+uniform __samplerExternal2DY2YEXT sExt;

+precision mediump __samplerExternal2DY2YEXT;

+uniform __samplerExternal2DY2YEXT mediumExt;

+uniform highp __samplerExternal2DY2YEXT highExt;

+

+void main()

+{

+    texture2D(sExt, vec2(0.2));  // ERROR

+    texture2D(mediumExt, vec2(0.2));  // ERROR

+    texture2D(highExt, vec2(0.2));  // ERROR

+    texture2DProj(sExt, vec3(0.3));  // ERROR

+    texture2DProj(sExt, vec4(0.3));  // ERROR

+

+    int lod = 0;

+    highp float bias = 0.01;

+    textureSize(sExt, lod);

+    texture(sExt, vec2(0.2));

+    texture(sExt, vec2(0.2), bias);

+    textureProj(sExt, vec3(0.2));

+    textureProj(sExt, vec3(0.2), bias);

+    textureProj(sExt, vec4(0.2));

+    textureProj(sExt, vec4(0.2), bias);

+    texelFetch(sExt, ivec2(4), lod);

+

+    texture3D(sExt, vec3(0.3));  // ERROR

+    texture2DProjLod(sExt, vec3(0.3), 0.3);  // ERROR

+    texture(sExt, vec3(0.3));  // ERROR

+    textureProjLod(sExt, vec3(0.3), 0.3);  // ERROR

+}

+

+#extension GL_EXT_YUV_target : disable

+

+uniform __samplerExternal2DY2YEXT badExt;  // ERROR

+

diff --git a/Test/310.tesc b/Test/310.tesc
index 29c3932..7b8d0db 100644
--- a/Test/310.tesc
+++ b/Test/310.tesc
@@ -128,6 +128,21 @@
     d = fma(d, d, d);

 }

 

+void bbextBad()

+{

+    gl_BoundingBoxEXT;  // ERROR without GL_EXT_primitive_bounding_box

+    gl_BoundingBox;  // ERROR, version < 320

+}

+

+#extension GL_EXT_primitive_bounding_box : enable

+

+void bbext()

+{

+    gl_BoundingBoxEXT[0] = vec4(0.0);

+    gl_BoundingBoxEXT[1] = vec4(1.0);

+    gl_BoundingBoxEXT[2] = vec4(2.0);  // ERROR, overflow

+}

+

 void bbBad()

 {

     gl_BoundingBoxOES;  // ERROR without GL_OES_primitive_bounding_box 

diff --git a/Test/320.tesc b/Test/320.tesc
index 4fa20f6..fbe0463 100644
--- a/Test/320.tesc
+++ b/Test/320.tesc
@@ -118,9 +118,20 @@
 

 void bb()

 {

-    gl_BoundingBoxOES[0] = vec4(0.0);

-    gl_BoundingBoxOES[1] = vec4(1.0);

-    gl_BoundingBoxOES[2] = vec4(2.0);  // ERROR, overflow

+    gl_BoundingBoxEXT[0] = vec4(0.0); // ERROR without GL_EXT_primitive_bounding_box 

+    gl_BoundingBoxOES[0] = vec4(0.0); // ERROR without GL_OES_primitive_bounding_box 

+    gl_BoundingBox[0] = vec4(1.0);

+    gl_BoundingBox[1] = vec4(1.0);

+    gl_BoundingBox[2] = vec4(2.0);  // ERROR, overflow

+}

+

+#extension GL_EXT_primitive_bounding_box : enable

+#extension GL_OES_primitive_bounding_box : enable

+

+void bbext()

+{

+    gl_BoundingBoxEXT[1] = vec4(0.0);

+    gl_BoundingBoxOES[1] = vec4(0.0);

 }

 

 out patch badpatchBName {  // ERROR, array size required

diff --git a/Test/baseResults/300samplerExternalYUV.frag.out b/Test/baseResults/300samplerExternalYUV.frag.out
new file mode 100644
index 0000000..b76e706
--- /dev/null
+++ b/Test/baseResults/300samplerExternalYUV.frag.out
@@ -0,0 +1,192 @@
+300samplerExternalYUV.frag
+ERROR: 0:12: 'texture2D' : no matching overloaded function found 
+ERROR: 0:13: 'texture2D' : no matching overloaded function found 
+ERROR: 0:14: 'texture2D' : no matching overloaded function found 
+ERROR: 0:15: 'texture2DProj' : no matching overloaded function found 
+ERROR: 0:16: 'texture2DProj' : no matching overloaded function found 
+ERROR: 0:29: 'texture3D' : no matching overloaded function found 
+ERROR: 0:30: 'texture2DProjLod' : no matching overloaded function found 
+ERROR: 0:31: 'texture' : no matching overloaded function found 
+ERROR: 0:32: 'textureProjLod' : no matching overloaded function found 
+ERROR: 0:37: '' :  syntax error, unexpected IDENTIFIER, expecting LEFT_BRACE or COMMA or SEMICOLON
+ERROR: 10 compilation errors.  No code generated.
+
+
+Shader version: 300
+Requested GL_EXT_YUV_target
+ERROR: node is still EOpNull!
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      Constant:
+0:12        0.000000
+0:13      Constant:
+0:13        0.000000
+0:14      Constant:
+0:14        0.000000
+0:15      Constant:
+0:15        0.000000
+0:16      Constant:
+0:16        0.000000
+0:18      Sequence
+0:18        move second child to first child ( temp mediump int)
+0:18          'lod' ( temp mediump int)
+0:18          Constant:
+0:18            0 (const int)
+0:19      Sequence
+0:19        move second child to first child ( temp highp float)
+0:19          'bias' ( temp highp float)
+0:19          Constant:
+0:19            0.010000
+0:20      textureSize ( global highp 2-component vector of int, operation at mediump)
+0:20        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:20        'lod' ( temp mediump int)
+0:21      texture ( global lowp 4-component vector of float)
+0:21        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:21        Constant:
+0:21          0.200000
+0:21          0.200000
+0:22      texture ( global lowp 4-component vector of float, operation at highp)
+0:22        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:22        Constant:
+0:22          0.200000
+0:22          0.200000
+0:22        'bias' ( temp highp float)
+0:23      textureProj ( global lowp 4-component vector of float)
+0:23        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:23        Constant:
+0:23          0.200000
+0:23          0.200000
+0:23          0.200000
+0:24      textureProj ( global lowp 4-component vector of float, operation at highp)
+0:24        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:24        Constant:
+0:24          0.200000
+0:24          0.200000
+0:24          0.200000
+0:24        'bias' ( temp highp float)
+0:25      textureProj ( global lowp 4-component vector of float)
+0:25        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:25        Constant:
+0:25          0.200000
+0:25          0.200000
+0:25          0.200000
+0:25          0.200000
+0:26      textureProj ( global lowp 4-component vector of float, operation at highp)
+0:26        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:26        Constant:
+0:26          0.200000
+0:26          0.200000
+0:26          0.200000
+0:26          0.200000
+0:26        'bias' ( temp highp float)
+0:27      textureFetch ( global lowp 4-component vector of float, operation at mediump)
+0:27        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:27        Constant:
+0:27          4 (const int)
+0:27          4 (const int)
+0:27        'lod' ( temp mediump int)
+0:29      Constant:
+0:29        0.000000
+0:30      Constant:
+0:30        0.000000
+0:31      Constant:
+0:31        0.000000
+0:32      Constant:
+0:32        0.000000
+0:?   Linker Objects
+0:?     'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:?     'mediumExt' ( uniform mediump __samplerExternal2DY2YEXT)
+0:?     'highExt' ( uniform highp __samplerExternal2DY2YEXT)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+Requested GL_EXT_YUV_target
+ERROR: node is still EOpNull!
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      Constant:
+0:12        0.000000
+0:13      Constant:
+0:13        0.000000
+0:14      Constant:
+0:14        0.000000
+0:15      Constant:
+0:15        0.000000
+0:16      Constant:
+0:16        0.000000
+0:18      Sequence
+0:18        move second child to first child ( temp mediump int)
+0:18          'lod' ( temp mediump int)
+0:18          Constant:
+0:18            0 (const int)
+0:19      Sequence
+0:19        move second child to first child ( temp highp float)
+0:19          'bias' ( temp highp float)
+0:19          Constant:
+0:19            0.010000
+0:20      textureSize ( global highp 2-component vector of int, operation at mediump)
+0:20        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:20        'lod' ( temp mediump int)
+0:21      texture ( global lowp 4-component vector of float)
+0:21        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:21        Constant:
+0:21          0.200000
+0:21          0.200000
+0:22      texture ( global lowp 4-component vector of float, operation at highp)
+0:22        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:22        Constant:
+0:22          0.200000
+0:22          0.200000
+0:22        'bias' ( temp highp float)
+0:23      textureProj ( global lowp 4-component vector of float)
+0:23        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:23        Constant:
+0:23          0.200000
+0:23          0.200000
+0:23          0.200000
+0:24      textureProj ( global lowp 4-component vector of float, operation at highp)
+0:24        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:24        Constant:
+0:24          0.200000
+0:24          0.200000
+0:24          0.200000
+0:24        'bias' ( temp highp float)
+0:25      textureProj ( global lowp 4-component vector of float)
+0:25        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:25        Constant:
+0:25          0.200000
+0:25          0.200000
+0:25          0.200000
+0:25          0.200000
+0:26      textureProj ( global lowp 4-component vector of float, operation at highp)
+0:26        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:26        Constant:
+0:26          0.200000
+0:26          0.200000
+0:26          0.200000
+0:26          0.200000
+0:26        'bias' ( temp highp float)
+0:27      textureFetch ( global lowp 4-component vector of float, operation at mediump)
+0:27        'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:27        Constant:
+0:27          4 (const int)
+0:27          4 (const int)
+0:27        'lod' ( temp mediump int)
+0:29      Constant:
+0:29        0.000000
+0:30      Constant:
+0:30        0.000000
+0:31      Constant:
+0:31        0.000000
+0:32      Constant:
+0:32        0.000000
+0:?   Linker Objects
+0:?     'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
+0:?     'mediumExt' ( uniform mediump __samplerExternal2DY2YEXT)
+0:?     'highExt' ( uniform highp __samplerExternal2DY2YEXT)
+
diff --git a/Test/baseResults/310.tesc.out b/Test/baseResults/310.tesc.out
index 433a7dc..ef78bf3 100644
--- a/Test/baseResults/310.tesc.out
+++ b/Test/baseResults/310.tesc.out
@@ -37,19 +37,21 @@
 ERROR: 0:104: 'sample' : Reserved word. 
 ERROR: 0:106: 'vertices' : can only apply to a standalone qualifier 
 ERROR: 0:107: 'vertices' : inconsistent output number of vertices for array size of misSized
-ERROR: 0:133: 'gl_BoundingBoxOES' : required extension not requested: Possible extensions include:
-GL_EXT_primitive_bounding_box
-GL_OES_primitive_bounding_box
-ERROR: 0:142: '[' :  array index out of range '2'
-ERROR: 0:145: '' : array size required 
-ERROR: 0:161: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
-ERROR: 0:162: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
-ERROR: 0:165: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
-ERROR: 38 compilation errors.  No code generated.
+ERROR: 0:133: 'gl_BoundingBoxEXT' : required extension not requested: GL_EXT_primitive_bounding_box
+ERROR: 0:134: 'gl_BoundingBox' : undeclared identifier 
+ERROR: 0:143: '[' :  array index out of range '2'
+ERROR: 0:148: 'gl_BoundingBoxOES' : required extension not requested: GL_OES_primitive_bounding_box
+ERROR: 0:157: '[' :  array index out of range '2'
+ERROR: 0:160: '' : array size required 
+ERROR: 0:176: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
+ERROR: 0:177: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
+ERROR: 0:180: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
+ERROR: 41 compilation errors.  No code generated.
 
 
 Shader version: 310
 Requested GL_ARB_separate_shader_objects
+Requested GL_EXT_primitive_bounding_box
 Requested GL_OES_gpu_shader5
 Requested GL_OES_primitive_bounding_box
 Requested GL_OES_shader_io_blocks
@@ -241,113 +243,151 @@
 0:128          'd' ( noContraction temp highp float)
 0:128          'd' ( noContraction temp highp float)
 0:128          'd' ( noContraction temp highp float)
-0:131  Function Definition: bbBad( ( global void)
+0:131  Function Definition: bbextBad( ( global void)
 0:131    Function Parameters: 
 0:133    Sequence
-0:133      'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:138  Function Definition: bb( ( global void)
-0:138    Function Parameters: 
-0:140    Sequence
-0:140      move second child to first child ( temp highp 4-component vector of float)
-0:140        direct index ( patch temp highp 4-component vector of float BoundingBox)
-0:140          'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:140          Constant:
-0:140            0 (const int)
-0:140        Constant:
-0:140          0.000000
-0:140          0.000000
-0:140          0.000000
-0:140          0.000000
+0:133      'gl_BoundingBoxEXT' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:134      'gl_BoundingBox' ( temp float)
+0:139  Function Definition: bbext( ( global void)
+0:139    Function Parameters: 
+0:141    Sequence
 0:141      move second child to first child ( temp highp 4-component vector of float)
 0:141        direct index ( patch temp highp 4-component vector of float BoundingBox)
-0:141          'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:141          'gl_BoundingBoxEXT' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
 0:141          Constant:
-0:141            1 (const int)
+0:141            0 (const int)
 0:141        Constant:
-0:141          1.000000
-0:141          1.000000
-0:141          1.000000
-0:141          1.000000
+0:141          0.000000
+0:141          0.000000
+0:141          0.000000
+0:141          0.000000
 0:142      move second child to first child ( temp highp 4-component vector of float)
 0:142        direct index ( patch temp highp 4-component vector of float BoundingBox)
-0:142          'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:142          'gl_BoundingBoxEXT' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
 0:142          Constant:
-0:142            2 (const int)
+0:142            1 (const int)
 0:142        Constant:
-0:142          2.000000
-0:142          2.000000
-0:142          2.000000
-0:142          2.000000
-0:153  Function Definition: outputtingOutparam(i1; ( global void)
+0:142          1.000000
+0:142          1.000000
+0:142          1.000000
+0:142          1.000000
+0:143      move second child to first child ( temp highp 4-component vector of float)
+0:143        direct index ( patch temp highp 4-component vector of float BoundingBox)
+0:143          'gl_BoundingBoxEXT' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:143          Constant:
+0:143            2 (const int)
+0:143        Constant:
+0:143          2.000000
+0:143          2.000000
+0:143          2.000000
+0:143          2.000000
+0:146  Function Definition: bbBad( ( global void)
+0:146    Function Parameters: 
+0:148    Sequence
+0:148      'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:153  Function Definition: bb( ( global void)
 0:153    Function Parameters: 
-0:153      'a' ( out highp int)
 0:155    Sequence
-0:155      move second child to first child ( temp highp int)
-0:155        'a' ( out highp int)
+0:155      move second child to first child ( temp highp 4-component vector of float)
+0:155        direct index ( patch temp highp 4-component vector of float BoundingBox)
+0:155          'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:155          Constant:
+0:155            0 (const int)
 0:155        Constant:
-0:155          2 (const int)
-0:158  Function Definition: outputting( ( global void)
-0:158    Function Parameters: 
-0:160    Sequence
-0:160      move second child to first child ( temp highp int)
-0:160        indirect index ( temp highp int)
-0:160          'outa' ( out 4-element array of highp int)
-0:160          'gl_InvocationID' ( in highp int InvocationID)
-0:160        Constant:
-0:160          2 (const int)
-0:161      move second child to first child ( temp highp int)
-0:161        direct index ( temp highp int)
-0:161          'outa' ( out 4-element array of highp int)
-0:161          Constant:
-0:161            1 (const int)
-0:161        Constant:
-0:161          2 (const int)
-0:162      move second child to first child ( temp highp 4-component vector of float)
-0:162        gl_Position: direct index for structure ( out highp 4-component vector of float Position)
-0:162          direct index ( temp block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
-0:162            'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
-0:162            Constant:
-0:162              0 (const int)
-0:162          Constant:
-0:162            0 (const int)
-0:162        Constant:
-0:162          1.000000
-0:162          1.000000
-0:162          1.000000
-0:162          1.000000
-0:163      direct index ( temp highp int)
-0:163        'outa' ( out 4-element array of highp int)
-0:163        Constant:
-0:163          1 (const int)
-0:164      direct index ( temp block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
-0:164        'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
-0:164        Constant:
-0:164          0 (const int)
-0:165      Function Call: outputtingOutparam(i1; ( global void)
-0:165        direct index ( temp highp int)
-0:165          'outa' ( out 4-element array of highp int)
-0:165          Constant:
-0:165            0 (const int)
-0:166      Function Call: outputtingOutparam(i1; ( global void)
-0:166        indirect index ( temp highp int)
-0:166          'outa' ( out 4-element array of highp int)
-0:166          'gl_InvocationID' ( in highp int InvocationID)
-0:167      move second child to first child ( temp highp float)
-0:167        f: direct index for structure ( out highp float)
-0:167          direct index ( patch temp block{ out highp float f})
-0:167            'patchIName' ( patch out 4-element array of block{ out highp float f})
-0:167            Constant:
-0:167              1 (const int)
-0:167          Constant:
-0:167            0 (const int)
-0:167        Constant:
-0:167          3.140000
-0:168      move second child to first child ( temp highp int)
-0:168        indirect index ( temp highp int)
-0:168          'outa' ( out 4-element array of highp int)
-0:168          'gl_InvocationID' ( in highp int InvocationID)
-0:168        Constant:
-0:168          2 (const int)
+0:155          0.000000
+0:155          0.000000
+0:155          0.000000
+0:155          0.000000
+0:156      move second child to first child ( temp highp 4-component vector of float)
+0:156        direct index ( patch temp highp 4-component vector of float BoundingBox)
+0:156          'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:156          Constant:
+0:156            1 (const int)
+0:156        Constant:
+0:156          1.000000
+0:156          1.000000
+0:156          1.000000
+0:156          1.000000
+0:157      move second child to first child ( temp highp 4-component vector of float)
+0:157        direct index ( patch temp highp 4-component vector of float BoundingBox)
+0:157          'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:157          Constant:
+0:157            2 (const int)
+0:157        Constant:
+0:157          2.000000
+0:157          2.000000
+0:157          2.000000
+0:157          2.000000
+0:168  Function Definition: outputtingOutparam(i1; ( global void)
+0:168    Function Parameters: 
+0:168      'a' ( out highp int)
+0:170    Sequence
+0:170      move second child to first child ( temp highp int)
+0:170        'a' ( out highp int)
+0:170        Constant:
+0:170          2 (const int)
+0:173  Function Definition: outputting( ( global void)
+0:173    Function Parameters: 
+0:175    Sequence
+0:175      move second child to first child ( temp highp int)
+0:175        indirect index ( temp highp int)
+0:175          'outa' ( out 4-element array of highp int)
+0:175          'gl_InvocationID' ( in highp int InvocationID)
+0:175        Constant:
+0:175          2 (const int)
+0:176      move second child to first child ( temp highp int)
+0:176        direct index ( temp highp int)
+0:176          'outa' ( out 4-element array of highp int)
+0:176          Constant:
+0:176            1 (const int)
+0:176        Constant:
+0:176          2 (const int)
+0:177      move second child to first child ( temp highp 4-component vector of float)
+0:177        gl_Position: direct index for structure ( out highp 4-component vector of float Position)
+0:177          direct index ( temp block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
+0:177            'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
+0:177            Constant:
+0:177              0 (const int)
+0:177          Constant:
+0:177            0 (const int)
+0:177        Constant:
+0:177          1.000000
+0:177          1.000000
+0:177          1.000000
+0:177          1.000000
+0:178      direct index ( temp highp int)
+0:178        'outa' ( out 4-element array of highp int)
+0:178        Constant:
+0:178          1 (const int)
+0:179      direct index ( temp block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
+0:179        'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
+0:179        Constant:
+0:179          0 (const int)
+0:180      Function Call: outputtingOutparam(i1; ( global void)
+0:180        direct index ( temp highp int)
+0:180          'outa' ( out 4-element array of highp int)
+0:180          Constant:
+0:180            0 (const int)
+0:181      Function Call: outputtingOutparam(i1; ( global void)
+0:181        indirect index ( temp highp int)
+0:181          'outa' ( out 4-element array of highp int)
+0:181          'gl_InvocationID' ( in highp int InvocationID)
+0:182      move second child to first child ( temp highp float)
+0:182        f: direct index for structure ( out highp float)
+0:182          direct index ( patch temp block{ out highp float f})
+0:182            'patchIName' ( patch out 4-element array of block{ out highp float f})
+0:182            Constant:
+0:182              1 (const int)
+0:182          Constant:
+0:182            0 (const int)
+0:182        Constant:
+0:182          3.140000
+0:183      move second child to first child ( temp highp int)
+0:183        indirect index ( temp highp int)
+0:183          'outa' ( out 4-element array of highp int)
+0:183          'gl_InvocationID' ( in highp int InvocationID)
+0:183        Constant:
+0:183          2 (const int)
 0:?   Linker Objects
 0:?     'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
 0:?     'outa' ( out 4-element array of highp int)
@@ -381,6 +421,7 @@
 
 Shader version: 310
 Requested GL_ARB_separate_shader_objects
+Requested GL_EXT_primitive_bounding_box
 Requested GL_OES_gpu_shader5
 Requested GL_OES_primitive_bounding_box
 Requested GL_OES_shader_io_blocks
diff --git a/Test/baseResults/320.tesc.out b/Test/baseResults/320.tesc.out
index 41ee29c..4bb6fc2 100644
--- a/Test/baseResults/320.tesc.out
+++ b/Test/baseResults/320.tesc.out
@@ -37,16 +37,20 @@
 ERROR: 0:105: 'gl_PointSize' : required extension not requested: Possible extensions include:
 GL_EXT_tessellation_point_size
 GL_OES_tessellation_point_size
-ERROR: 0:123: '[' :  array index out of range '2'
-ERROR: 0:126: '' : array size required 
-ERROR: 0:142: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
-ERROR: 0:143: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
-ERROR: 0:146: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
-ERROR: 35 compilation errors.  No code generated.
+ERROR: 0:121: 'gl_BoundingBoxEXT' : required extension not requested: GL_EXT_primitive_bounding_box
+ERROR: 0:122: 'gl_BoundingBoxOES' : required extension not requested: GL_OES_primitive_bounding_box
+ERROR: 0:125: '[' :  array index out of range '2'
+ERROR: 0:137: '' : array size required 
+ERROR: 0:153: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
+ERROR: 0:154: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
+ERROR: 0:157: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID 
+ERROR: 37 compilation errors.  No code generated.
 
 
 Shader version: 320
 Requested GL_ARB_separate_shader_objects
+Requested GL_EXT_primitive_bounding_box
+Requested GL_OES_primitive_bounding_box
 vertices = 4
 ERROR: node is still EOpNull!
 0:13  Function Definition: main( ( global void)
@@ -229,7 +233,7 @@
 0:121    Sequence
 0:121      move second child to first child ( temp highp 4-component vector of float)
 0:121        direct index ( patch temp highp 4-component vector of float BoundingBox)
-0:121          'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:121          'gl_BoundingBoxEXT' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
 0:121          Constant:
 0:121            0 (const int)
 0:121        Constant:
@@ -241,92 +245,135 @@
 0:122        direct index ( patch temp highp 4-component vector of float BoundingBox)
 0:122          'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
 0:122          Constant:
-0:122            1 (const int)
+0:122            0 (const int)
 0:122        Constant:
-0:122          1.000000
-0:122          1.000000
-0:122          1.000000
-0:122          1.000000
+0:122          0.000000
+0:122          0.000000
+0:122          0.000000
+0:122          0.000000
 0:123      move second child to first child ( temp highp 4-component vector of float)
 0:123        direct index ( patch temp highp 4-component vector of float BoundingBox)
-0:123          'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:123          'gl_BoundingBox' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
 0:123          Constant:
-0:123            2 (const int)
+0:123            0 (const int)
 0:123        Constant:
-0:123          2.000000
-0:123          2.000000
-0:123          2.000000
-0:123          2.000000
-0:134  Function Definition: outputtingOutparam(i1; ( global void)
-0:134    Function Parameters: 
-0:134      'a' ( out highp int)
-0:136    Sequence
-0:136      move second child to first child ( temp highp int)
-0:136        'a' ( out highp int)
-0:136        Constant:
-0:136          2 (const int)
-0:139  Function Definition: outputting( ( global void)
-0:139    Function Parameters: 
-0:141    Sequence
-0:141      move second child to first child ( temp highp int)
-0:141        indirect index ( temp highp int)
-0:141          'outa' ( out 4-element array of highp int)
-0:141          'gl_InvocationID' ( in highp int InvocationID)
-0:141        Constant:
-0:141          2 (const int)
-0:142      move second child to first child ( temp highp int)
-0:142        direct index ( temp highp int)
-0:142          'outa' ( out 4-element array of highp int)
-0:142          Constant:
-0:142            1 (const int)
-0:142        Constant:
-0:142          2 (const int)
-0:143      move second child to first child ( temp highp 4-component vector of float)
-0:143        gl_Position: direct index for structure ( out highp 4-component vector of float Position)
-0:143          direct index ( temp block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
-0:143            'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
-0:143            Constant:
-0:143              0 (const int)
-0:143          Constant:
-0:143            0 (const int)
-0:143        Constant:
-0:143          1.000000
-0:143          1.000000
-0:143          1.000000
-0:143          1.000000
-0:144      direct index ( temp highp int)
-0:144        'outa' ( out 4-element array of highp int)
-0:144        Constant:
-0:144          1 (const int)
-0:145      direct index ( temp block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
-0:145        'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
-0:145        Constant:
-0:145          0 (const int)
-0:146      Function Call: outputtingOutparam(i1; ( global void)
-0:146        direct index ( temp highp int)
-0:146          'outa' ( out 4-element array of highp int)
-0:146          Constant:
-0:146            0 (const int)
-0:147      Function Call: outputtingOutparam(i1; ( global void)
-0:147        indirect index ( temp highp int)
-0:147          'outa' ( out 4-element array of highp int)
-0:147          'gl_InvocationID' ( in highp int InvocationID)
-0:148      move second child to first child ( temp highp float)
-0:148        f: direct index for structure ( out highp float)
-0:148          direct index ( patch temp block{ out highp float f})
-0:148            'patchIName' ( patch out 4-element array of block{ out highp float f})
-0:148            Constant:
-0:148              1 (const int)
-0:148          Constant:
-0:148            0 (const int)
-0:148        Constant:
-0:148          3.140000
-0:149      move second child to first child ( temp highp int)
-0:149        indirect index ( temp highp int)
-0:149          'outa' ( out 4-element array of highp int)
-0:149          'gl_InvocationID' ( in highp int InvocationID)
-0:149        Constant:
-0:149          2 (const int)
+0:123          1.000000
+0:123          1.000000
+0:123          1.000000
+0:123          1.000000
+0:124      move second child to first child ( temp highp 4-component vector of float)
+0:124        direct index ( patch temp highp 4-component vector of float BoundingBox)
+0:124          'gl_BoundingBox' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:124          Constant:
+0:124            1 (const int)
+0:124        Constant:
+0:124          1.000000
+0:124          1.000000
+0:124          1.000000
+0:124          1.000000
+0:125      move second child to first child ( temp highp 4-component vector of float)
+0:125        direct index ( patch temp highp 4-component vector of float BoundingBox)
+0:125          'gl_BoundingBox' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:125          Constant:
+0:125            2 (const int)
+0:125        Constant:
+0:125          2.000000
+0:125          2.000000
+0:125          2.000000
+0:125          2.000000
+0:131  Function Definition: bbext( ( global void)
+0:131    Function Parameters: 
+0:133    Sequence
+0:133      move second child to first child ( temp highp 4-component vector of float)
+0:133        direct index ( patch temp highp 4-component vector of float BoundingBox)
+0:133          'gl_BoundingBoxEXT' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:133          Constant:
+0:133            1 (const int)
+0:133        Constant:
+0:133          0.000000
+0:133          0.000000
+0:133          0.000000
+0:133          0.000000
+0:134      move second child to first child ( temp highp 4-component vector of float)
+0:134        direct index ( patch temp highp 4-component vector of float BoundingBox)
+0:134          'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:134          Constant:
+0:134            1 (const int)
+0:134        Constant:
+0:134          0.000000
+0:134          0.000000
+0:134          0.000000
+0:134          0.000000
+0:145  Function Definition: outputtingOutparam(i1; ( global void)
+0:145    Function Parameters: 
+0:145      'a' ( out highp int)
+0:147    Sequence
+0:147      move second child to first child ( temp highp int)
+0:147        'a' ( out highp int)
+0:147        Constant:
+0:147          2 (const int)
+0:150  Function Definition: outputting( ( global void)
+0:150    Function Parameters: 
+0:152    Sequence
+0:152      move second child to first child ( temp highp int)
+0:152        indirect index ( temp highp int)
+0:152          'outa' ( out 4-element array of highp int)
+0:152          'gl_InvocationID' ( in highp int InvocationID)
+0:152        Constant:
+0:152          2 (const int)
+0:153      move second child to first child ( temp highp int)
+0:153        direct index ( temp highp int)
+0:153          'outa' ( out 4-element array of highp int)
+0:153          Constant:
+0:153            1 (const int)
+0:153        Constant:
+0:153          2 (const int)
+0:154      move second child to first child ( temp highp 4-component vector of float)
+0:154        gl_Position: direct index for structure ( out highp 4-component vector of float Position)
+0:154          direct index ( temp block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
+0:154            'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
+0:154            Constant:
+0:154              0 (const int)
+0:154          Constant:
+0:154            0 (const int)
+0:154        Constant:
+0:154          1.000000
+0:154          1.000000
+0:154          1.000000
+0:154          1.000000
+0:155      direct index ( temp highp int)
+0:155        'outa' ( out 4-element array of highp int)
+0:155        Constant:
+0:155          1 (const int)
+0:156      direct index ( temp block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
+0:156        'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
+0:156        Constant:
+0:156          0 (const int)
+0:157      Function Call: outputtingOutparam(i1; ( global void)
+0:157        direct index ( temp highp int)
+0:157          'outa' ( out 4-element array of highp int)
+0:157          Constant:
+0:157            0 (const int)
+0:158      Function Call: outputtingOutparam(i1; ( global void)
+0:158        indirect index ( temp highp int)
+0:158          'outa' ( out 4-element array of highp int)
+0:158          'gl_InvocationID' ( in highp int InvocationID)
+0:159      move second child to first child ( temp highp float)
+0:159        f: direct index for structure ( out highp float)
+0:159          direct index ( patch temp block{ out highp float f})
+0:159            'patchIName' ( patch out 4-element array of block{ out highp float f})
+0:159            Constant:
+0:159              1 (const int)
+0:159          Constant:
+0:159            0 (const int)
+0:159        Constant:
+0:159          3.140000
+0:160      move second child to first child ( temp highp int)
+0:160        indirect index ( temp highp int)
+0:160          'outa' ( out 4-element array of highp int)
+0:160          'gl_InvocationID' ( in highp int InvocationID)
+0:160        Constant:
+0:160          2 (const int)
 0:?   Linker Objects
 0:?     'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position,  out highp float PointSize gl_PointSize})
 0:?     'outa' ( out 4-element array of highp int)
@@ -360,6 +407,8 @@
 
 Shader version: 320
 Requested GL_ARB_separate_shader_objects
+Requested GL_EXT_primitive_bounding_box
+Requested GL_OES_primitive_bounding_box
 vertices = 4
 ERROR: node is still EOpNull!
 0:13  Function Definition: main( ( global void)
diff --git a/Test/baseResults/420.vert.out b/Test/baseResults/420.vert.out
index 22577ab..740c8fe 100644
--- a/Test/baseResults/420.vert.out
+++ b/Test/baseResults/420.vert.out
@@ -8,7 +8,7 @@
 ERROR: 0:13: 'uniform' : too many storage qualifiers 
 ERROR: 0:18: '=' : global const initializers must be constant ' const int'
 ERROR: 0:20: 'const' : no qualifiers allowed for function return 
-ERROR: 0:27: '' : array size must be a constant integer expression 
+ERROR: 0:27: '' : array size must be a constant integer expression
 ERROR: 0:38: 'j' : undeclared identifier 
 ERROR: 0:38: '=' :  cannot convert from ' temp float' to ' temp int'
 ERROR: 0:39: 'k' : undeclared identifier 
@@ -31,7 +31,7 @@
 ERROR: 0:85: '' : vertex input cannot be further qualified 
 ERROR: 0:86: 'patch' : not supported in this stage: vertex
 ERROR: 0:100: '=' : global const initializers must be constant ' const int'
-ERROR: 0:101: '' : array size must be a constant integer expression 
+ERROR: 0:101: '' : array size must be a constant integer expression
 ERROR: 0:107: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported for this version or the enabled extensions 
 ERROR: 0:114: 'imageAtomicMin' : only supported on image with format r32i or r32ui 
 ERROR: 0:115: 'imageAtomicMax' : no matching overloaded function found 
diff --git a/Test/baseResults/440.vert.out b/Test/baseResults/440.vert.out
index 5a10e26..5af757a 100644
--- a/Test/baseResults/440.vert.out
+++ b/Test/baseResults/440.vert.out
@@ -39,9 +39,9 @@
 ERROR: 0:152: 'xfb_offset' : overlapping offsets at offset 64 in buffer 0
 ERROR: 0:157: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
 ERROR: 0:158: 'xfb_offset' : must be a multiple of size of first component 
-ERROR: 0:159: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8 
+ERROR: 0:159: 'xfb_offset' : type contains double or 64-bit integer; xfb_offset must be a multiple of 8 
 ERROR: 0:161: 'xfb_offset' : must be a multiple of size of first component 
-ERROR: 0:162: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8 
+ERROR: 0:162: 'xfb_offset' : type contains double or 64-bit integer; xfb_offset must be a multiple of 8 
 ERROR: 0:166: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
 ERROR: 0:169: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
 ERROR: 0:169: 'xfb_stride' : 1/4 stride is too large: gl_MaxTransformFeedbackInterleavedComponents is 64
@@ -166,7 +166,7 @@
 ERROR: Linking vertex stage: Missing entry point: Each stage requires one entry point
 ERROR: Linking vertex stage: xfb_stride is too small to hold all buffer entries:
 ERROR:     xfb_buffer 0, xfb_stride 92, minimum stride needed: 96
-ERROR: Linking vertex stage: xfb_stride must be multiple of 8 for buffer holding a double:
+ERROR: Linking vertex stage: xfb_stride must be multiple of 8 for buffer holding a double or 64-bit integer:
 ERROR:     xfb_buffer 0, xfb_stride 92
 ERROR: Linking vertex stage: xfb_stride must be multiple of 4:
 ERROR:     xfb_buffer 5, xfb_stride 6
diff --git a/Test/baseResults/constErrors.frag.out b/Test/baseResults/constErrors.frag.out
index 0b2dc62..2177484 100644
--- a/Test/baseResults/constErrors.frag.out
+++ b/Test/baseResults/constErrors.frag.out
@@ -1,8 +1,8 @@
 constErrors.frag
 ERROR: 0:14: 'non-constant initializer' : not supported for this version or the enabled extensions 
-ERROR: 0:17: '' : array size must be a constant integer expression 
-ERROR: 0:18: '' : array size must be a constant integer expression 
-ERROR: 0:19: '' : array size must be a constant integer expression 
+ERROR: 0:17: '' : array size must be a constant integer expression
+ERROR: 0:18: '' : array size must be a constant integer expression
+ERROR: 0:19: '' : array size must be a constant integer expression
 ERROR: 0:27: '=' : global const initializers must be constant ' const structure{ global 3-component vector of float v3,  global 2-component vector of int iv2}'
 ERROR: 0:33: '=' : global const initializers must be constant ' const structure{ global 3-component vector of float v3,  global 2-component vector of int iv2,  global 2X4 matrix of float m}'
 ERROR: 6 compilation errors.  No code generated.
diff --git a/Test/baseResults/cppBad.vert.out b/Test/baseResults/cppBad.vert.out
index a5267ff..13a5fc1 100644
--- a/Test/baseResults/cppBad.vert.out
+++ b/Test/baseResults/cppBad.vert.out
@@ -1,9 +1,10 @@
 cppBad.vert
-ERROR: 0:2: 'preprocessor evaluation' : bad expression 
-ERROR: 0:2: '#if' : unexpected tokens following directive 
-ERROR: 0:5: 'string' : End of line in string 
-ERROR: 0:5: '""' : string literals not supported 
-ERROR: 0:5: '' :  syntax error, unexpected INT, expecting COMMA or SEMICOLON
+WARNING: 0:1: '#define' : missing space after macro name 
+ERROR: 0:3: 'preprocessor evaluation' : bad expression 
+ERROR: 0:3: '#if' : unexpected tokens following directive 
+ERROR: 0:6: 'string' : End of line in string 
+ERROR: 0:6: '""' : string literals not supported 
+ERROR: 0:6: '' :  syntax error, unexpected INT, expecting COMMA or SEMICOLON
 ERROR: 5 compilation errors.  No code generated.
 
 
diff --git a/Test/baseResults/cppBad2.vert.out b/Test/baseResults/cppBad2.vert.out
index af9ff38..0398e5e 100644
--- a/Test/baseResults/cppBad2.vert.out
+++ b/Test/baseResults/cppBad2.vert.out
@@ -1,6 +1,7 @@
 cppBad2.vert
 ERROR: 0:3: 'macro expansion' : End of input in macro b
-ERROR: 1 compilation errors.  No code generated.
+ERROR: 0:3: '' : compilation terminated 
+ERROR: 2 compilation errors.  No code generated.
 
 
 Shader version: 100
diff --git a/Test/baseResults/cppBad3.vert.out b/Test/baseResults/cppBad3.vert.out
new file mode 100755
index 0000000..c454c1a
--- /dev/null
+++ b/Test/baseResults/cppBad3.vert.out
@@ -0,0 +1,19 @@
+cppBad3.vert
+ERROR: 0:3: 'macro expansion' : End of input in macro y
+ERROR: 0:3: '' : compilation terminated 
+ERROR: 2 compilation errors.  No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one entry point
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+
diff --git a/Test/baseResults/cppBad4.vert.out b/Test/baseResults/cppBad4.vert.out
new file mode 100755
index 0000000..693ea8e
--- /dev/null
+++ b/Test/baseResults/cppBad4.vert.out
@@ -0,0 +1,19 @@
+cppBad4.vert
+ERROR: 0:4: 'macro expansion' : unexpected '#' g
+ERROR: 0:5: '' :  syntax error, unexpected SEMICOLON, expecting LEFT_PAREN
+ERROR: 2 compilation errors.  No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one entry point
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+
diff --git a/Test/baseResults/cppBad5.vert.out b/Test/baseResults/cppBad5.vert.out
new file mode 100755
index 0000000..83043bb
--- /dev/null
+++ b/Test/baseResults/cppBad5.vert.out
@@ -0,0 +1,19 @@
+cppBad5.vert
+ERROR: 0:4: 'macro expansion' : End of input in macro g
+ERROR: 0:5: '' : compilation terminated 
+ERROR: 2 compilation errors.  No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one entry point
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+
diff --git a/Test/baseResults/cppMerge.frag.out b/Test/baseResults/cppMerge.frag.out
new file mode 100755
index 0000000..64afd47
--- /dev/null
+++ b/Test/baseResults/cppMerge.frag.out
@@ -0,0 +1,23 @@
+cppMerge.frag
+Shader version: 450
+0:? Sequence
+0:22  Function Definition: main( ( global void)
+0:22    Function Parameters: 
+0:?   Linker Objects
+0:?     'dest1' (layout( set=0 binding=0) writeonly uniform image1D)
+0:?     'dest2' (layout( set=0 binding=0) writeonly uniform image1D)
+0:?     'dest3' (layout( set=0 binding=0) writeonly uniform image1D)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+0:? Sequence
+0:22  Function Definition: main( ( global void)
+0:22    Function Parameters: 
+0:?   Linker Objects
+0:?     'dest1' (layout( set=0 binding=0) writeonly uniform image1D)
+0:?     'dest2' (layout( set=0 binding=0) writeonly uniform image1D)
+0:?     'dest3' (layout( set=0 binding=0) writeonly uniform image1D)
+
diff --git a/Test/baseResults/glsl.450.subgroup.frag.out b/Test/baseResults/glsl.450.subgroup.frag.out
new file mode 100644
index 0000000..f651d6c
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroup.frag.out
@@ -0,0 +1,41 @@
+glsl.450.subgroup.frag
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+0:? Sequence
+0:4  Function Definition: main( ( global void)
+0:4    Function Parameters: 
+0:6    Sequence
+0:6      move second child to first child ( temp 4-component vector of uint)
+0:6        'data' (layout( location=0) out 4-component vector of uint)
+0:6        Construct uvec4 ( temp 4-component vector of uint)
+0:6          'gl_SubgroupSize' ( flat in uint unknown built-in variable)
+0:6          'gl_SubgroupInvocationID' ( flat in uint unknown built-in variable)
+0:6          Constant:
+0:6            0 (const uint)
+0:6          Constant:
+0:6            0 (const uint)
+0:?   Linker Objects
+0:?     'data' (layout( location=0) out 4-component vector of uint)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+0:? Sequence
+0:4  Function Definition: main( ( global void)
+0:4    Function Parameters: 
+0:6    Sequence
+0:6      move second child to first child ( temp 4-component vector of uint)
+0:6        'data' (layout( location=0) out 4-component vector of uint)
+0:6        Construct uvec4 ( temp 4-component vector of uint)
+0:6          'gl_SubgroupSize' ( flat in uint unknown built-in variable)
+0:6          'gl_SubgroupInvocationID' ( flat in uint unknown built-in variable)
+0:6          Constant:
+0:6            0 (const uint)
+0:6          Constant:
+0:6            0 (const uint)
+0:?   Linker Objects
+0:?     'data' (layout( location=0) out 4-component vector of uint)
+
diff --git a/Test/baseResults/glsl.450.subgroup.geom.out b/Test/baseResults/glsl.450.subgroup.geom.out
new file mode 100644
index 0000000..cddf7da
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroup.geom.out
@@ -0,0 +1,59 @@
+glsl.450.subgroup.geom
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+invocations = -1
+max_vertices = 1
+input primitive = points
+output primitive = points
+0:? Sequence
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      move second child to first child ( temp 4-component vector of uint)
+0:12        indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
+0:12          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
+0:12            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+0:12            Constant:
+0:12              0 (const uint)
+0:12          'gl_PrimitiveIDIn' ( in int PrimitiveID)
+0:12        Construct uvec4 ( temp 4-component vector of uint)
+0:12          'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:12          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:12          Constant:
+0:12            0 (const uint)
+0:12          Constant:
+0:12            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+
+
+Linked geometry stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+invocations = 1
+max_vertices = 1
+input primitive = points
+output primitive = points
+0:? Sequence
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      move second child to first child ( temp 4-component vector of uint)
+0:12        indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
+0:12          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
+0:12            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+0:12            Constant:
+0:12              0 (const uint)
+0:12          'gl_PrimitiveIDIn' ( in int PrimitiveID)
+0:12        Construct uvec4 ( temp 4-component vector of uint)
+0:12          'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:12          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:12          Constant:
+0:12            0 (const uint)
+0:12          Constant:
+0:12            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+
diff --git a/Test/baseResults/glsl.450.subgroup.tesc.out b/Test/baseResults/glsl.450.subgroup.tesc.out
new file mode 100644
index 0000000..d446664
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroup.tesc.out
@@ -0,0 +1,53 @@
+glsl.450.subgroup.tesc
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+vertices = 1
+0:? Sequence
+0:9  Function Definition: main( ( global void)
+0:9    Function Parameters: 
+0:11    Sequence
+0:11      move second child to first child ( temp 4-component vector of uint)
+0:11        indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
+0:11          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
+0:11            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+0:11            Constant:
+0:11              0 (const uint)
+0:11          'gl_PrimitiveID' ( in int PrimitiveID)
+0:11        Construct uvec4 ( temp 4-component vector of uint)
+0:11          'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:11          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:11          Constant:
+0:11            0 (const uint)
+0:11          Constant:
+0:11            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+
+
+Linked tessellation control stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+vertices = 1
+0:? Sequence
+0:9  Function Definition: main( ( global void)
+0:9    Function Parameters: 
+0:11    Sequence
+0:11      move second child to first child ( temp 4-component vector of uint)
+0:11        indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
+0:11          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
+0:11            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+0:11            Constant:
+0:11              0 (const uint)
+0:11          'gl_PrimitiveID' ( in int PrimitiveID)
+0:11        Construct uvec4 ( temp 4-component vector of uint)
+0:11          'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:11          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:11          Constant:
+0:11            0 (const uint)
+0:11          Constant:
+0:11            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+
diff --git a/Test/baseResults/glsl.450.subgroup.tese.out b/Test/baseResults/glsl.450.subgroup.tese.out
new file mode 100644
index 0000000..7a00523
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroup.tese.out
@@ -0,0 +1,57 @@
+glsl.450.subgroup.tese
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+input primitive = isolines
+vertex spacing = none
+triangle order = none
+0:? Sequence
+0:9  Function Definition: main( ( global void)
+0:9    Function Parameters: 
+0:11    Sequence
+0:11      move second child to first child ( temp 4-component vector of uint)
+0:11        indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
+0:11          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
+0:11            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+0:11            Constant:
+0:11              0 (const uint)
+0:11          'gl_PrimitiveID' ( in int PrimitiveID)
+0:11        Construct uvec4 ( temp 4-component vector of uint)
+0:11          'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:11          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:11          Constant:
+0:11            0 (const uint)
+0:11          Constant:
+0:11            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+
+
+Linked tessellation evaluation stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+input primitive = isolines
+vertex spacing = equal_spacing
+triangle order = ccw
+0:? Sequence
+0:9  Function Definition: main( ( global void)
+0:9    Function Parameters: 
+0:11    Sequence
+0:11      move second child to first child ( temp 4-component vector of uint)
+0:11        indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
+0:11          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
+0:11            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+0:11            Constant:
+0:11              0 (const uint)
+0:11          'gl_PrimitiveID' ( in int PrimitiveID)
+0:11        Construct uvec4 ( temp 4-component vector of uint)
+0:11          'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:11          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:11          Constant:
+0:11            0 (const uint)
+0:11          Constant:
+0:11            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+
diff --git a/Test/baseResults/glsl.450.subgroup.vert.out b/Test/baseResults/glsl.450.subgroup.vert.out
new file mode 100644
index 0000000..54c5412
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroup.vert.out
@@ -0,0 +1,55 @@
+glsl.450.subgroup.vert
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+0:? Sequence
+0:8  Function Definition: main( ( global void)
+0:8    Function Parameters: 
+0:10    Sequence
+0:10      move second child to first child ( temp 4-component vector of uint)
+0:10        indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
+0:10          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
+0:10            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+0:10            Constant:
+0:10              0 (const uint)
+0:10          'gl_VertexID' ( gl_VertexId int VertexId)
+0:10        Construct uvec4 ( temp 4-component vector of uint)
+0:10          'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:10          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:10          Constant:
+0:10            0 (const uint)
+0:10          Constant:
+0:10            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+0:?     'gl_VertexID' ( gl_VertexId int VertexId)
+0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+0:? Sequence
+0:8  Function Definition: main( ( global void)
+0:8    Function Parameters: 
+0:10    Sequence
+0:10      move second child to first child ( temp 4-component vector of uint)
+0:10        indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
+0:10          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
+0:10            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+0:10            Constant:
+0:10              0 (const uint)
+0:10          'gl_VertexID' ( gl_VertexId int VertexId)
+0:10        Construct uvec4 ( temp 4-component vector of uint)
+0:10          'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:10          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:10          Constant:
+0:10            0 (const uint)
+0:10          Constant:
+0:10            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
+0:?     'gl_VertexID' ( gl_VertexId int VertexId)
+0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/glsl.450.subgroupArithmetic.comp.out b/Test/baseResults/glsl.450.subgroupArithmetic.comp.out
new file mode 100644
index 0000000..6c91bb0
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupArithmetic.comp.out
@@ -0,0 +1,14549 @@
+glsl.450.subgroupArithmetic.comp
+Shader version: 450
+Requested GL_KHR_shader_subgroup_arithmetic
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 1, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      move second child to first child ( temp float)
+0:19        direct index ( temp float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'invocation' ( temp uint)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            0 (const int)
+0:19        subgroupAdd ( global float)
+0:19          direct index ( temp float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:20      move second child to first child ( temp 2-component vector of float)
+0:20        vector swizzle ( temp 2-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'invocation' ( temp uint)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20        subgroupAdd ( global 2-component vector of float)
+0:20          vector swizzle ( temp 2-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                Constant:
+0:20                  1 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:21      move second child to first child ( temp 3-component vector of float)
+0:21        vector swizzle ( temp 3-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'invocation' ( temp uint)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21            Constant:
+0:21              2 (const int)
+0:21        subgroupAdd ( global 3-component vector of float)
+0:21          vector swizzle ( temp 3-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  2 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21              Constant:
+0:21                2 (const int)
+0:22      move second child to first child ( temp 4-component vector of float)
+0:22        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            0 (const int)
+0:22        subgroupAdd ( global 4-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              Constant:
+0:22                3 (const int)
+0:22            Constant:
+0:22              0 (const int)
+0:24      move second child to first child ( temp int)
+0:24        direct index ( temp int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupAdd ( global int)
+0:24          direct index ( temp int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:25      move second child to first child ( temp 2-component vector of int)
+0:25        vector swizzle ( temp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'invocation' ( temp uint)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupAdd ( global 2-component vector of int)
+0:25          vector swizzle ( temp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:26      move second child to first child ( temp 3-component vector of int)
+0:26        vector swizzle ( temp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupAdd ( global 3-component vector of int)
+0:26          vector swizzle ( temp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:27      move second child to first child ( temp 4-component vector of int)
+0:27        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            1 (const int)
+0:27        subgroupAdd ( global 4-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              Constant:
+0:27                3 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupAdd ( global uint)
+0:29          direct index ( temp uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:30      move second child to first child ( temp 2-component vector of uint)
+0:30        vector swizzle ( temp 2-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30        subgroupAdd ( global 2-component vector of uint)
+0:30          vector swizzle ( temp 2-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                Constant:
+0:30                  1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:31      move second child to first child ( temp 3-component vector of uint)
+0:31        vector swizzle ( temp 3-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'invocation' ( temp uint)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31        subgroupAdd ( global 3-component vector of uint)
+0:31          vector swizzle ( temp 3-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  2 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupAdd ( global 4-component vector of uint)
+0:32          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              Constant:
+0:32                3 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:34      move second child to first child ( temp double)
+0:34        direct index ( temp double)
+0:34          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              3 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupAdd ( global double)
+0:34          direct index ( temp double)
+0:34            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:35      move second child to first child ( temp 2-component vector of double)
+0:35        vector swizzle ( temp 2-component vector of double)
+0:35          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'invocation' ( temp uint)
+0:35            Constant:
+0:35              3 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35        subgroupAdd ( global 2-component vector of double)
+0:35          vector swizzle ( temp 2-component vector of double)
+0:35            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                3 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:36      move second child to first child ( temp 3-component vector of double)
+0:36        vector swizzle ( temp 3-component vector of double)
+0:36          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              3 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36            Constant:
+0:36              2 (const int)
+0:36        subgroupAdd ( global 3-component vector of double)
+0:36          vector swizzle ( temp 3-component vector of double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  2 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              Constant:
+0:36                2 (const int)
+0:37      move second child to first child ( temp 4-component vector of double)
+0:37        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            3 (const int)
+0:37        subgroupAdd ( global 4-component vector of double)
+0:37          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              Constant:
+0:37                3 (const int)
+0:37            Constant:
+0:37              3 (const int)
+0:39      move second child to first child ( temp float)
+0:39        direct index ( temp float)
+0:39          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'invocation' ( temp uint)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Constant:
+0:39            0 (const int)
+0:39        subgroupMul ( global float)
+0:39          direct index ( temp float)
+0:39            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:40      move second child to first child ( temp 2-component vector of float)
+0:40        vector swizzle ( temp 2-component vector of float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'invocation' ( temp uint)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40        subgroupMul ( global 2-component vector of float)
+0:40          vector swizzle ( temp 2-component vector of float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                Constant:
+0:40                  1 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:41      move second child to first child ( temp 3-component vector of float)
+0:41        vector swizzle ( temp 3-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'invocation' ( temp uint)
+0:41            Constant:
+0:41              0 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41            Constant:
+0:41              2 (const int)
+0:41        subgroupMul ( global 3-component vector of float)
+0:41          vector swizzle ( temp 3-component vector of float)
+0:41            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                Constant:
+0:41                  2 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41              Constant:
+0:41                2 (const int)
+0:42      move second child to first child ( temp 4-component vector of float)
+0:42        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            0 (const int)
+0:42        subgroupMul ( global 4-component vector of float)
+0:42          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:42            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42              Constant:
+0:42                3 (const int)
+0:42            Constant:
+0:42              0 (const int)
+0:44      move second child to first child ( temp int)
+0:44        direct index ( temp int)
+0:44          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'invocation' ( temp uint)
+0:44            Constant:
+0:44              1 (const int)
+0:44          Constant:
+0:44            0 (const int)
+0:44        subgroupMul ( global int)
+0:44          direct index ( temp int)
+0:44            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44            Constant:
+0:44              0 (const int)
+0:45      move second child to first child ( temp 2-component vector of int)
+0:45        vector swizzle ( temp 2-component vector of int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'invocation' ( temp uint)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45        subgroupMul ( global 2-component vector of int)
+0:45          vector swizzle ( temp 2-component vector of int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                Constant:
+0:45                  1 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:46      move second child to first child ( temp 3-component vector of int)
+0:46        vector swizzle ( temp 3-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              1 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46        subgroupMul ( global 3-component vector of int)
+0:46          vector swizzle ( temp 3-component vector of int)
+0:46            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:47      move second child to first child ( temp 4-component vector of int)
+0:47        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'invocation' ( temp uint)
+0:47          Constant:
+0:47            1 (const int)
+0:47        subgroupMul ( global 4-component vector of int)
+0:47          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              Constant:
+0:47                3 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:49      move second child to first child ( temp uint)
+0:49        direct index ( temp uint)
+0:49          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'invocation' ( temp uint)
+0:49            Constant:
+0:49              2 (const int)
+0:49          Constant:
+0:49            0 (const int)
+0:49        subgroupMul ( global uint)
+0:49          direct index ( temp uint)
+0:49            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                2 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:50      move second child to first child ( temp 2-component vector of uint)
+0:50        vector swizzle ( temp 2-component vector of uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'invocation' ( temp uint)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50        subgroupMul ( global 2-component vector of uint)
+0:50          vector swizzle ( temp 2-component vector of uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:51      move second child to first child ( temp 3-component vector of uint)
+0:51        vector swizzle ( temp 3-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              2 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51        subgroupMul ( global 3-component vector of uint)
+0:51          vector swizzle ( temp 3-component vector of uint)
+0:51            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  2 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:52      move second child to first child ( temp 4-component vector of uint)
+0:52        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'invocation' ( temp uint)
+0:52          Constant:
+0:52            2 (const int)
+0:52        subgroupMul ( global 4-component vector of uint)
+0:52          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              Constant:
+0:52                3 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:54      move second child to first child ( temp double)
+0:54        direct index ( temp double)
+0:54          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'invocation' ( temp uint)
+0:54            Constant:
+0:54              3 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupMul ( global double)
+0:54          direct index ( temp double)
+0:54            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                Constant:
+0:54                  0 (const int)
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:55      move second child to first child ( temp 2-component vector of double)
+0:55        vector swizzle ( temp 2-component vector of double)
+0:55          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'invocation' ( temp uint)
+0:55            Constant:
+0:55              3 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55        subgroupMul ( global 2-component vector of double)
+0:55          vector swizzle ( temp 2-component vector of double)
+0:55            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Constant:
+0:55                3 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:56      move second child to first child ( temp 3-component vector of double)
+0:56        vector swizzle ( temp 3-component vector of double)
+0:56          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              3 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56            Constant:
+0:56              2 (const int)
+0:56        subgroupMul ( global 3-component vector of double)
+0:56          vector swizzle ( temp 3-component vector of double)
+0:56            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  2 (const int)
+0:56              Constant:
+0:56                3 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:57      move second child to first child ( temp 4-component vector of double)
+0:57        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'invocation' ( temp uint)
+0:57          Constant:
+0:57            3 (const int)
+0:57        subgroupMul ( global 4-component vector of double)
+0:57          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              Constant:
+0:57                3 (const int)
+0:57            Constant:
+0:57              3 (const int)
+0:59      move second child to first child ( temp float)
+0:59        direct index ( temp float)
+0:59          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'invocation' ( temp uint)
+0:59            Constant:
+0:59              0 (const int)
+0:59          Constant:
+0:59            0 (const int)
+0:59        subgroupMin ( global float)
+0:59          direct index ( temp float)
+0:59            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                Constant:
+0:59                  0 (const int)
+0:59              Constant:
+0:59                0 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:60      move second child to first child ( temp 2-component vector of float)
+0:60        vector swizzle ( temp 2-component vector of float)
+0:60          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'invocation' ( temp uint)
+0:60            Constant:
+0:60              0 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60        subgroupMin ( global 2-component vector of float)
+0:60          vector swizzle ( temp 2-component vector of float)
+0:60            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                0 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:61      move second child to first child ( temp 3-component vector of float)
+0:61        vector swizzle ( temp 3-component vector of float)
+0:61          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              0 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61        subgroupMin ( global 3-component vector of float)
+0:61          vector swizzle ( temp 3-component vector of float)
+0:61            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  2 (const int)
+0:61              Constant:
+0:61                0 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61              Constant:
+0:61                2 (const int)
+0:62      move second child to first child ( temp 4-component vector of float)
+0:62        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'invocation' ( temp uint)
+0:62          Constant:
+0:62            0 (const int)
+0:62        subgroupMin ( global 4-component vector of float)
+0:62          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              Constant:
+0:62                3 (const int)
+0:62            Constant:
+0:62              0 (const int)
+0:64      move second child to first child ( temp int)
+0:64        direct index ( temp int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'invocation' ( temp uint)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Constant:
+0:64            0 (const int)
+0:64        subgroupMin ( global int)
+0:64          direct index ( temp int)
+0:64            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                Constant:
+0:64                  0 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:64            Constant:
+0:64              0 (const int)
+0:65      move second child to first child ( temp 2-component vector of int)
+0:65        vector swizzle ( temp 2-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'invocation' ( temp uint)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65        subgroupMin ( global 2-component vector of int)
+0:65          vector swizzle ( temp 2-component vector of int)
+0:65            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                Constant:
+0:65                  1 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65            Sequence
+0:65              Constant:
+0:65                0 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:66      move second child to first child ( temp 3-component vector of int)
+0:66        vector swizzle ( temp 3-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              1 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66        subgroupMin ( global 3-component vector of int)
+0:66          vector swizzle ( temp 3-component vector of int)
+0:66            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                Constant:
+0:66                  2 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66            Sequence
+0:66              Constant:
+0:66                0 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66              Constant:
+0:66                2 (const int)
+0:67      move second child to first child ( temp 4-component vector of int)
+0:67        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'invocation' ( temp uint)
+0:67          Constant:
+0:67            1 (const int)
+0:67        subgroupMin ( global 4-component vector of int)
+0:67          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              Constant:
+0:67                3 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:69      move second child to first child ( temp uint)
+0:69        direct index ( temp uint)
+0:69          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:69            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'invocation' ( temp uint)
+0:69            Constant:
+0:69              2 (const int)
+0:69          Constant:
+0:69            0 (const int)
+0:69        subgroupMin ( global uint)
+0:69          direct index ( temp uint)
+0:69            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                Constant:
+0:69                  0 (const int)
+0:69              Constant:
+0:69                2 (const int)
+0:69            Constant:
+0:69              0 (const int)
+0:70      move second child to first child ( temp 2-component vector of uint)
+0:70        vector swizzle ( temp 2-component vector of uint)
+0:70          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:70            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'invocation' ( temp uint)
+0:70            Constant:
+0:70              2 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70        subgroupMin ( global 2-component vector of uint)
+0:70          vector swizzle ( temp 2-component vector of uint)
+0:70            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                Constant:
+0:70                  1 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:71      move second child to first child ( temp 3-component vector of uint)
+0:71        vector swizzle ( temp 3-component vector of uint)
+0:71          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'invocation' ( temp uint)
+0:71            Constant:
+0:71              2 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71            Constant:
+0:71              2 (const int)
+0:71        subgroupMin ( global 3-component vector of uint)
+0:71          vector swizzle ( temp 3-component vector of uint)
+0:71            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                Constant:
+0:71                  2 (const int)
+0:71              Constant:
+0:71                2 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71              Constant:
+0:71                2 (const int)
+0:72      move second child to first child ( temp 4-component vector of uint)
+0:72        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'invocation' ( temp uint)
+0:72          Constant:
+0:72            2 (const int)
+0:72        subgroupMin ( global 4-component vector of uint)
+0:72          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              Constant:
+0:72                3 (const int)
+0:72            Constant:
+0:72              2 (const int)
+0:74      move second child to first child ( temp double)
+0:74        direct index ( temp double)
+0:74          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:74            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'invocation' ( temp uint)
+0:74            Constant:
+0:74              3 (const int)
+0:74          Constant:
+0:74            0 (const int)
+0:74        subgroupMin ( global double)
+0:74          direct index ( temp double)
+0:74            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:74              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                Constant:
+0:74                  0 (const int)
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              0 (const int)
+0:75      move second child to first child ( temp 2-component vector of double)
+0:75        vector swizzle ( temp 2-component vector of double)
+0:75          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:75            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'invocation' ( temp uint)
+0:75            Constant:
+0:75              3 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75        subgroupMin ( global 2-component vector of double)
+0:75          vector swizzle ( temp 2-component vector of double)
+0:75            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                Constant:
+0:75                  1 (const int)
+0:75              Constant:
+0:75                3 (const int)
+0:75            Sequence
+0:75              Constant:
+0:75                0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:76      move second child to first child ( temp 3-component vector of double)
+0:76        vector swizzle ( temp 3-component vector of double)
+0:76          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'invocation' ( temp uint)
+0:76            Constant:
+0:76              3 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76            Constant:
+0:76              2 (const int)
+0:76        subgroupMin ( global 3-component vector of double)
+0:76          vector swizzle ( temp 3-component vector of double)
+0:76            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                Constant:
+0:76                  2 (const int)
+0:76              Constant:
+0:76                3 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76              Constant:
+0:76                2 (const int)
+0:77      move second child to first child ( temp 4-component vector of double)
+0:77        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'invocation' ( temp uint)
+0:77          Constant:
+0:77            3 (const int)
+0:77        subgroupMin ( global 4-component vector of double)
+0:77          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              Constant:
+0:77                3 (const int)
+0:77            Constant:
+0:77              3 (const int)
+0:79      move second child to first child ( temp float)
+0:79        direct index ( temp float)
+0:79          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:79            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'invocation' ( temp uint)
+0:79            Constant:
+0:79              0 (const int)
+0:79          Constant:
+0:79            0 (const int)
+0:79        subgroupMax ( global float)
+0:79          direct index ( temp float)
+0:79            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                Constant:
+0:79                  0 (const int)
+0:79              Constant:
+0:79                0 (const int)
+0:79            Constant:
+0:79              0 (const int)
+0:80      move second child to first child ( temp 2-component vector of float)
+0:80        vector swizzle ( temp 2-component vector of float)
+0:80          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:80            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'invocation' ( temp uint)
+0:80            Constant:
+0:80              0 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80        subgroupMax ( global 2-component vector of float)
+0:80          vector swizzle ( temp 2-component vector of float)
+0:80            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                Constant:
+0:80                  1 (const int)
+0:80              Constant:
+0:80                0 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:81      move second child to first child ( temp 3-component vector of float)
+0:81        vector swizzle ( temp 3-component vector of float)
+0:81          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:81            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'invocation' ( temp uint)
+0:81            Constant:
+0:81              0 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81            Constant:
+0:81              2 (const int)
+0:81        subgroupMax ( global 3-component vector of float)
+0:81          vector swizzle ( temp 3-component vector of float)
+0:81            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                Constant:
+0:81                  2 (const int)
+0:81              Constant:
+0:81                0 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81              Constant:
+0:81                2 (const int)
+0:82      move second child to first child ( temp 4-component vector of float)
+0:82        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:82          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'invocation' ( temp uint)
+0:82          Constant:
+0:82            0 (const int)
+0:82        subgroupMax ( global 4-component vector of float)
+0:82          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:82            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              Constant:
+0:82                3 (const int)
+0:82            Constant:
+0:82              0 (const int)
+0:84      move second child to first child ( temp int)
+0:84        direct index ( temp int)
+0:84          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'invocation' ( temp uint)
+0:84            Constant:
+0:84              1 (const int)
+0:84          Constant:
+0:84            0 (const int)
+0:84        subgroupMax ( global int)
+0:84          direct index ( temp int)
+0:84            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                Constant:
+0:84                  0 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:84            Constant:
+0:84              0 (const int)
+0:85      move second child to first child ( temp 2-component vector of int)
+0:85        vector swizzle ( temp 2-component vector of int)
+0:85          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:85            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'invocation' ( temp uint)
+0:85            Constant:
+0:85              1 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85        subgroupMax ( global 2-component vector of int)
+0:85          vector swizzle ( temp 2-component vector of int)
+0:85            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                Constant:
+0:85                  1 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:86      move second child to first child ( temp 3-component vector of int)
+0:86        vector swizzle ( temp 3-component vector of int)
+0:86          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:86            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'invocation' ( temp uint)
+0:86            Constant:
+0:86              1 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86        subgroupMax ( global 3-component vector of int)
+0:86          vector swizzle ( temp 3-component vector of int)
+0:86            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                Constant:
+0:86                  2 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86              Constant:
+0:86                2 (const int)
+0:87      move second child to first child ( temp 4-component vector of int)
+0:87        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:87          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'invocation' ( temp uint)
+0:87          Constant:
+0:87            1 (const int)
+0:87        subgroupMax ( global 4-component vector of int)
+0:87          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:87            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              Constant:
+0:87                3 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:89      move second child to first child ( temp uint)
+0:89        direct index ( temp uint)
+0:89          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:89            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'invocation' ( temp uint)
+0:89            Constant:
+0:89              2 (const int)
+0:89          Constant:
+0:89            0 (const int)
+0:89        subgroupMax ( global uint)
+0:89          direct index ( temp uint)
+0:89            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:89              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                Constant:
+0:89                  0 (const int)
+0:89              Constant:
+0:89                2 (const int)
+0:89            Constant:
+0:89              0 (const int)
+0:90      move second child to first child ( temp 2-component vector of uint)
+0:90        vector swizzle ( temp 2-component vector of uint)
+0:90          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:90            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'invocation' ( temp uint)
+0:90            Constant:
+0:90              2 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90        subgroupMax ( global 2-component vector of uint)
+0:90          vector swizzle ( temp 2-component vector of uint)
+0:90            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:90              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                Constant:
+0:90                  1 (const int)
+0:90              Constant:
+0:90                2 (const int)
+0:90            Sequence
+0:90              Constant:
+0:90                0 (const int)
+0:90              Constant:
+0:90                1 (const int)
+0:91      move second child to first child ( temp 3-component vector of uint)
+0:91        vector swizzle ( temp 3-component vector of uint)
+0:91          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:91            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'invocation' ( temp uint)
+0:91            Constant:
+0:91              2 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91            Constant:
+0:91              2 (const int)
+0:91        subgroupMax ( global 3-component vector of uint)
+0:91          vector swizzle ( temp 3-component vector of uint)
+0:91            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:91              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                Constant:
+0:91                  2 (const int)
+0:91              Constant:
+0:91                2 (const int)
+0:91            Sequence
+0:91              Constant:
+0:91                0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91              Constant:
+0:91                2 (const int)
+0:92      move second child to first child ( temp 4-component vector of uint)
+0:92        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:92          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'invocation' ( temp uint)
+0:92          Constant:
+0:92            2 (const int)
+0:92        subgroupMax ( global 4-component vector of uint)
+0:92          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:92            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              Constant:
+0:92                3 (const int)
+0:92            Constant:
+0:92              2 (const int)
+0:94      move second child to first child ( temp double)
+0:94        direct index ( temp double)
+0:94          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:94            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'invocation' ( temp uint)
+0:94            Constant:
+0:94              3 (const int)
+0:94          Constant:
+0:94            0 (const int)
+0:94        subgroupMax ( global double)
+0:94          direct index ( temp double)
+0:94            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:94              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                Constant:
+0:94                  0 (const int)
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              0 (const int)
+0:95      move second child to first child ( temp 2-component vector of double)
+0:95        vector swizzle ( temp 2-component vector of double)
+0:95          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:95            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'invocation' ( temp uint)
+0:95            Constant:
+0:95              3 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95        subgroupMax ( global 2-component vector of double)
+0:95          vector swizzle ( temp 2-component vector of double)
+0:95            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                Constant:
+0:95                  1 (const int)
+0:95              Constant:
+0:95                3 (const int)
+0:95            Sequence
+0:95              Constant:
+0:95                0 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:96      move second child to first child ( temp 3-component vector of double)
+0:96        vector swizzle ( temp 3-component vector of double)
+0:96          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:96            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'invocation' ( temp uint)
+0:96            Constant:
+0:96              3 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96            Constant:
+0:96              2 (const int)
+0:96        subgroupMax ( global 3-component vector of double)
+0:96          vector swizzle ( temp 3-component vector of double)
+0:96            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                Constant:
+0:96                  2 (const int)
+0:96              Constant:
+0:96                3 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:96              Constant:
+0:96                2 (const int)
+0:97      move second child to first child ( temp 4-component vector of double)
+0:97        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:97          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'invocation' ( temp uint)
+0:97          Constant:
+0:97            3 (const int)
+0:97        subgroupMax ( global 4-component vector of double)
+0:97          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:97            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              Constant:
+0:97                3 (const int)
+0:97            Constant:
+0:97              3 (const int)
+0:99      move second child to first child ( temp int)
+0:99        direct index ( temp int)
+0:99          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'invocation' ( temp uint)
+0:99            Constant:
+0:99              1 (const int)
+0:99          Constant:
+0:99            0 (const int)
+0:99        subgroupAnd ( global int)
+0:99          direct index ( temp int)
+0:99            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                Constant:
+0:99                  0 (const int)
+0:99              Constant:
+0:99                1 (const int)
+0:99            Constant:
+0:99              0 (const int)
+0:100      move second child to first child ( temp 2-component vector of int)
+0:100        vector swizzle ( temp 2-component vector of int)
+0:100          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'invocation' ( temp uint)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Sequence
+0:100            Constant:
+0:100              0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100        subgroupAnd ( global 2-component vector of int)
+0:100          vector swizzle ( temp 2-component vector of int)
+0:100            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                Constant:
+0:100                  1 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Sequence
+0:100              Constant:
+0:100                0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:101      move second child to first child ( temp 3-component vector of int)
+0:101        vector swizzle ( temp 3-component vector of int)
+0:101          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'invocation' ( temp uint)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101            Constant:
+0:101              2 (const int)
+0:101        subgroupAnd ( global 3-component vector of int)
+0:101          vector swizzle ( temp 3-component vector of int)
+0:101            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                Constant:
+0:101                  2 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101              Constant:
+0:101                2 (const int)
+0:102      move second child to first child ( temp 4-component vector of int)
+0:102        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'invocation' ( temp uint)
+0:102          Constant:
+0:102            1 (const int)
+0:102        subgroupAnd ( global 4-component vector of int)
+0:102          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              Constant:
+0:102                3 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:104      move second child to first child ( temp uint)
+0:104        direct index ( temp uint)
+0:104          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'invocation' ( temp uint)
+0:104            Constant:
+0:104              2 (const int)
+0:104          Constant:
+0:104            0 (const int)
+0:104        subgroupAnd ( global uint)
+0:104          direct index ( temp uint)
+0:104            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                Constant:
+0:104                  0 (const int)
+0:104              Constant:
+0:104                2 (const int)
+0:104            Constant:
+0:104              0 (const int)
+0:105      move second child to first child ( temp 2-component vector of uint)
+0:105        vector swizzle ( temp 2-component vector of uint)
+0:105          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'invocation' ( temp uint)
+0:105            Constant:
+0:105              2 (const int)
+0:105          Sequence
+0:105            Constant:
+0:105              0 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105        subgroupAnd ( global 2-component vector of uint)
+0:105          vector swizzle ( temp 2-component vector of uint)
+0:105            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                Constant:
+0:105                  1 (const int)
+0:105              Constant:
+0:105                2 (const int)
+0:105            Sequence
+0:105              Constant:
+0:105                0 (const int)
+0:105              Constant:
+0:105                1 (const int)
+0:106      move second child to first child ( temp 3-component vector of uint)
+0:106        vector swizzle ( temp 3-component vector of uint)
+0:106          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'invocation' ( temp uint)
+0:106            Constant:
+0:106              2 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106            Constant:
+0:106              2 (const int)
+0:106        subgroupAnd ( global 3-component vector of uint)
+0:106          vector swizzle ( temp 3-component vector of uint)
+0:106            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                Constant:
+0:106                  2 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:107      move second child to first child ( temp 4-component vector of uint)
+0:107        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'invocation' ( temp uint)
+0:107          Constant:
+0:107            2 (const int)
+0:107        subgroupAnd ( global 4-component vector of uint)
+0:107          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              Constant:
+0:107                3 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:109      move second child to first child ( temp int)
+0:109        direct index ( temp int)
+0:109          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:109            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'invocation' ( temp uint)
+0:109            Constant:
+0:109              1 (const int)
+0:109          Constant:
+0:109            0 (const int)
+0:109        Convert bool to int ( temp int)
+0:109          subgroupAnd ( global bool)
+0:109            Compare Less Than ( temp bool)
+0:109              direct index ( temp int)
+0:109                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:109                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                    Constant:
+0:109                      0 (const int)
+0:109                  Constant:
+0:109                    1 (const int)
+0:109                Constant:
+0:109                  0 (const int)
+0:109              Constant:
+0:109                0 (const int)
+0:110      move second child to first child ( temp 2-component vector of int)
+0:110        vector swizzle ( temp 2-component vector of int)
+0:110          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:110            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'invocation' ( temp uint)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Sequence
+0:110            Constant:
+0:110              0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110        Convert bool to int ( temp 2-component vector of int)
+0:110          subgroupAnd ( global 2-component vector of bool)
+0:110            Compare Less Than ( global 2-component vector of bool)
+0:110              vector swizzle ( temp 2-component vector of int)
+0:110                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:110                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                    Constant:
+0:110                      1 (const int)
+0:110                  Constant:
+0:110                    1 (const int)
+0:110                Sequence
+0:110                  Constant:
+0:110                    0 (const int)
+0:110                  Constant:
+0:110                    1 (const int)
+0:110              Constant:
+0:110                0 (const int)
+0:110                0 (const int)
+0:111      move second child to first child ( temp 3-component vector of int)
+0:111        vector swizzle ( temp 3-component vector of int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'invocation' ( temp uint)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111            Constant:
+0:111              2 (const int)
+0:111        Convert bool to int ( temp 3-component vector of int)
+0:111          subgroupAnd ( global 3-component vector of bool)
+0:111            Compare Less Than ( global 3-component vector of bool)
+0:111              vector swizzle ( temp 3-component vector of int)
+0:111                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                    Constant:
+0:111                      1 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111                Sequence
+0:111                  Constant:
+0:111                    0 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111                  Constant:
+0:111                    2 (const int)
+0:111              Constant:
+0:111                0 (const int)
+0:111                0 (const int)
+0:111                0 (const int)
+0:112      move second child to first child ( temp 4-component vector of int)
+0:112        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'invocation' ( temp uint)
+0:112          Constant:
+0:112            1 (const int)
+0:112        Convert bool to int ( temp 4-component vector of int)
+0:112          subgroupAnd ( global 4-component vector of bool)
+0:112            Compare Less Than ( global 4-component vector of bool)
+0:112              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                  Constant:
+0:112                    1 (const int)
+0:112                Constant:
+0:112                  1 (const int)
+0:112              Constant:
+0:112                0 (const int)
+0:112                0 (const int)
+0:112                0 (const int)
+0:112                0 (const int)
+0:114      move second child to first child ( temp int)
+0:114        direct index ( temp int)
+0:114          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'invocation' ( temp uint)
+0:114            Constant:
+0:114              1 (const int)
+0:114          Constant:
+0:114            0 (const int)
+0:114        subgroupOr ( global int)
+0:114          direct index ( temp int)
+0:114            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                Constant:
+0:114                  0 (const int)
+0:114              Constant:
+0:114                1 (const int)
+0:114            Constant:
+0:114              0 (const int)
+0:115      move second child to first child ( temp 2-component vector of int)
+0:115        vector swizzle ( temp 2-component vector of int)
+0:115          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'invocation' ( temp uint)
+0:115            Constant:
+0:115              1 (const int)
+0:115          Sequence
+0:115            Constant:
+0:115              0 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115        subgroupOr ( global 2-component vector of int)
+0:115          vector swizzle ( temp 2-component vector of int)
+0:115            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                Constant:
+0:115                  1 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115            Sequence
+0:115              Constant:
+0:115                0 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:116      move second child to first child ( temp 3-component vector of int)
+0:116        vector swizzle ( temp 3-component vector of int)
+0:116          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'invocation' ( temp uint)
+0:116            Constant:
+0:116              1 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116            Constant:
+0:116              2 (const int)
+0:116        subgroupOr ( global 3-component vector of int)
+0:116          vector swizzle ( temp 3-component vector of int)
+0:116            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                Constant:
+0:116                  2 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116            Sequence
+0:116              Constant:
+0:116                0 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116              Constant:
+0:116                2 (const int)
+0:117      move second child to first child ( temp 4-component vector of int)
+0:117        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'invocation' ( temp uint)
+0:117          Constant:
+0:117            1 (const int)
+0:117        subgroupOr ( global 4-component vector of int)
+0:117          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              Constant:
+0:117                3 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:119      move second child to first child ( temp uint)
+0:119        direct index ( temp uint)
+0:119          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              'invocation' ( temp uint)
+0:119            Constant:
+0:119              2 (const int)
+0:119          Constant:
+0:119            0 (const int)
+0:119        subgroupOr ( global uint)
+0:119          direct index ( temp uint)
+0:119            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119                Constant:
+0:119                  0 (const int)
+0:119              Constant:
+0:119                2 (const int)
+0:119            Constant:
+0:119              0 (const int)
+0:120      move second child to first child ( temp 2-component vector of uint)
+0:120        vector swizzle ( temp 2-component vector of uint)
+0:120          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:120            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120              'invocation' ( temp uint)
+0:120            Constant:
+0:120              2 (const int)
+0:120          Sequence
+0:120            Constant:
+0:120              0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120        subgroupOr ( global 2-component vector of uint)
+0:120          vector swizzle ( temp 2-component vector of uint)
+0:120            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:120              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120                Constant:
+0:120                  1 (const int)
+0:120              Constant:
+0:120                2 (const int)
+0:120            Sequence
+0:120              Constant:
+0:120                0 (const int)
+0:120              Constant:
+0:120                1 (const int)
+0:121      move second child to first child ( temp 3-component vector of uint)
+0:121        vector swizzle ( temp 3-component vector of uint)
+0:121          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:121            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'invocation' ( temp uint)
+0:121            Constant:
+0:121              2 (const int)
+0:121          Sequence
+0:121            Constant:
+0:121              0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121            Constant:
+0:121              2 (const int)
+0:121        subgroupOr ( global 3-component vector of uint)
+0:121          vector swizzle ( temp 3-component vector of uint)
+0:121            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:121              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                Constant:
+0:121                  2 (const int)
+0:121              Constant:
+0:121                2 (const int)
+0:121            Sequence
+0:121              Constant:
+0:121                0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:121              Constant:
+0:121                2 (const int)
+0:122      move second child to first child ( temp 4-component vector of uint)
+0:122        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:122          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122            'invocation' ( temp uint)
+0:122          Constant:
+0:122            2 (const int)
+0:122        subgroupOr ( global 4-component vector of uint)
+0:122          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:122            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              Constant:
+0:122                3 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:124      move second child to first child ( temp int)
+0:124        direct index ( temp int)
+0:124          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:124            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              'invocation' ( temp uint)
+0:124            Constant:
+0:124              1 (const int)
+0:124          Constant:
+0:124            0 (const int)
+0:124        Convert bool to int ( temp int)
+0:124          subgroupOr ( global bool)
+0:124            Compare Less Than ( temp bool)
+0:124              direct index ( temp int)
+0:124                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:124                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124                    Constant:
+0:124                      0 (const int)
+0:124                  Constant:
+0:124                    1 (const int)
+0:124                Constant:
+0:124                  0 (const int)
+0:124              Constant:
+0:124                0 (const int)
+0:125      move second child to first child ( temp 2-component vector of int)
+0:125        vector swizzle ( temp 2-component vector of int)
+0:125          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:125            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125              'invocation' ( temp uint)
+0:125            Constant:
+0:125              1 (const int)
+0:125          Sequence
+0:125            Constant:
+0:125              0 (const int)
+0:125            Constant:
+0:125              1 (const int)
+0:125        Convert bool to int ( temp 2-component vector of int)
+0:125          subgroupOr ( global 2-component vector of bool)
+0:125            Compare Less Than ( global 2-component vector of bool)
+0:125              vector swizzle ( temp 2-component vector of int)
+0:125                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:125                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125                    Constant:
+0:125                      1 (const int)
+0:125                  Constant:
+0:125                    1 (const int)
+0:125                Sequence
+0:125                  Constant:
+0:125                    0 (const int)
+0:125                  Constant:
+0:125                    1 (const int)
+0:125              Constant:
+0:125                0 (const int)
+0:125                0 (const int)
+0:126      move second child to first child ( temp 3-component vector of int)
+0:126        vector swizzle ( temp 3-component vector of int)
+0:126          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'invocation' ( temp uint)
+0:126            Constant:
+0:126              1 (const int)
+0:126          Sequence
+0:126            Constant:
+0:126              0 (const int)
+0:126            Constant:
+0:126              1 (const int)
+0:126            Constant:
+0:126              2 (const int)
+0:126        Convert bool to int ( temp 3-component vector of int)
+0:126          subgroupOr ( global 3-component vector of bool)
+0:126            Compare Less Than ( global 3-component vector of bool)
+0:126              vector swizzle ( temp 3-component vector of int)
+0:126                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                    Constant:
+0:126                      1 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126                Sequence
+0:126                  Constant:
+0:126                    0 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126                  Constant:
+0:126                    2 (const int)
+0:126              Constant:
+0:126                0 (const int)
+0:126                0 (const int)
+0:126                0 (const int)
+0:127      move second child to first child ( temp 4-component vector of int)
+0:127        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127            'invocation' ( temp uint)
+0:127          Constant:
+0:127            1 (const int)
+0:127        Convert bool to int ( temp 4-component vector of int)
+0:127          subgroupOr ( global 4-component vector of bool)
+0:127            Compare Less Than ( global 4-component vector of bool)
+0:127              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                  Constant:
+0:127                    1 (const int)
+0:127                Constant:
+0:127                  1 (const int)
+0:127              Constant:
+0:127                0 (const int)
+0:127                0 (const int)
+0:127                0 (const int)
+0:127                0 (const int)
+0:129      move second child to first child ( temp int)
+0:129        direct index ( temp int)
+0:129          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              'invocation' ( temp uint)
+0:129            Constant:
+0:129              1 (const int)
+0:129          Constant:
+0:129            0 (const int)
+0:129        subgroupXor ( global int)
+0:129          direct index ( temp int)
+0:129            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129                Constant:
+0:129                  0 (const int)
+0:129              Constant:
+0:129                1 (const int)
+0:129            Constant:
+0:129              0 (const int)
+0:130      move second child to first child ( temp 2-component vector of int)
+0:130        vector swizzle ( temp 2-component vector of int)
+0:130          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:130            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130              'invocation' ( temp uint)
+0:130            Constant:
+0:130              1 (const int)
+0:130          Sequence
+0:130            Constant:
+0:130              0 (const int)
+0:130            Constant:
+0:130              1 (const int)
+0:130        subgroupXor ( global 2-component vector of int)
+0:130          vector swizzle ( temp 2-component vector of int)
+0:130            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:130              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130                Constant:
+0:130                  1 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130            Sequence
+0:130              Constant:
+0:130                0 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:131      move second child to first child ( temp 3-component vector of int)
+0:131        vector swizzle ( temp 3-component vector of int)
+0:131          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:131            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'invocation' ( temp uint)
+0:131            Constant:
+0:131              1 (const int)
+0:131          Sequence
+0:131            Constant:
+0:131              0 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:131            Constant:
+0:131              2 (const int)
+0:131        subgroupXor ( global 3-component vector of int)
+0:131          vector swizzle ( temp 3-component vector of int)
+0:131            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:131              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                Constant:
+0:131                  2 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131            Sequence
+0:131              Constant:
+0:131                0 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131              Constant:
+0:131                2 (const int)
+0:132      move second child to first child ( temp 4-component vector of int)
+0:132        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:132          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132            'invocation' ( temp uint)
+0:132          Constant:
+0:132            1 (const int)
+0:132        subgroupXor ( global 4-component vector of int)
+0:132          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:132            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              Constant:
+0:132                3 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:134      move second child to first child ( temp uint)
+0:134        direct index ( temp uint)
+0:134          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              'invocation' ( temp uint)
+0:134            Constant:
+0:134              2 (const int)
+0:134          Constant:
+0:134            0 (const int)
+0:134        subgroupXor ( global uint)
+0:134          direct index ( temp uint)
+0:134            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134                Constant:
+0:134                  0 (const int)
+0:134              Constant:
+0:134                2 (const int)
+0:134            Constant:
+0:134              0 (const int)
+0:135      move second child to first child ( temp 2-component vector of uint)
+0:135        vector swizzle ( temp 2-component vector of uint)
+0:135          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:135            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135              'invocation' ( temp uint)
+0:135            Constant:
+0:135              2 (const int)
+0:135          Sequence
+0:135            Constant:
+0:135              0 (const int)
+0:135            Constant:
+0:135              1 (const int)
+0:135        subgroupXor ( global 2-component vector of uint)
+0:135          vector swizzle ( temp 2-component vector of uint)
+0:135            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:135              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135                Constant:
+0:135                  1 (const int)
+0:135              Constant:
+0:135                2 (const int)
+0:135            Sequence
+0:135              Constant:
+0:135                0 (const int)
+0:135              Constant:
+0:135                1 (const int)
+0:136      move second child to first child ( temp 3-component vector of uint)
+0:136        vector swizzle ( temp 3-component vector of uint)
+0:136          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:136            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'invocation' ( temp uint)
+0:136            Constant:
+0:136              2 (const int)
+0:136          Sequence
+0:136            Constant:
+0:136              0 (const int)
+0:136            Constant:
+0:136              1 (const int)
+0:136            Constant:
+0:136              2 (const int)
+0:136        subgroupXor ( global 3-component vector of uint)
+0:136          vector swizzle ( temp 3-component vector of uint)
+0:136            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:136              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                Constant:
+0:136                  2 (const int)
+0:136              Constant:
+0:136                2 (const int)
+0:136            Sequence
+0:136              Constant:
+0:136                0 (const int)
+0:136              Constant:
+0:136                1 (const int)
+0:136              Constant:
+0:136                2 (const int)
+0:137      move second child to first child ( temp 4-component vector of uint)
+0:137        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:137          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137            'invocation' ( temp uint)
+0:137          Constant:
+0:137            2 (const int)
+0:137        subgroupXor ( global 4-component vector of uint)
+0:137          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:137            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              Constant:
+0:137                3 (const int)
+0:137            Constant:
+0:137              2 (const int)
+0:139      move second child to first child ( temp int)
+0:139        direct index ( temp int)
+0:139          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139              'invocation' ( temp uint)
+0:139            Constant:
+0:139              1 (const int)
+0:139          Constant:
+0:139            0 (const int)
+0:139        Convert bool to int ( temp int)
+0:139          subgroupXor ( global bool)
+0:139            Compare Less Than ( temp bool)
+0:139              direct index ( temp int)
+0:139                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                    Constant:
+0:139                      0 (const int)
+0:139                  Constant:
+0:139                    1 (const int)
+0:139                Constant:
+0:139                  0 (const int)
+0:139              Constant:
+0:139                0 (const int)
+0:140      move second child to first child ( temp 2-component vector of int)
+0:140        vector swizzle ( temp 2-component vector of int)
+0:140          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:140            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140              'invocation' ( temp uint)
+0:140            Constant:
+0:140              1 (const int)
+0:140          Sequence
+0:140            Constant:
+0:140              0 (const int)
+0:140            Constant:
+0:140              1 (const int)
+0:140        Convert bool to int ( temp 2-component vector of int)
+0:140          subgroupXor ( global 2-component vector of bool)
+0:140            Compare Less Than ( global 2-component vector of bool)
+0:140              vector swizzle ( temp 2-component vector of int)
+0:140                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:140                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140                    Constant:
+0:140                      1 (const int)
+0:140                  Constant:
+0:140                    1 (const int)
+0:140                Sequence
+0:140                  Constant:
+0:140                    0 (const int)
+0:140                  Constant:
+0:140                    1 (const int)
+0:140              Constant:
+0:140                0 (const int)
+0:140                0 (const int)
+0:141      move second child to first child ( temp 3-component vector of int)
+0:141        vector swizzle ( temp 3-component vector of int)
+0:141          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'invocation' ( temp uint)
+0:141            Constant:
+0:141              1 (const int)
+0:141          Sequence
+0:141            Constant:
+0:141              0 (const int)
+0:141            Constant:
+0:141              1 (const int)
+0:141            Constant:
+0:141              2 (const int)
+0:141        Convert bool to int ( temp 3-component vector of int)
+0:141          subgroupXor ( global 3-component vector of bool)
+0:141            Compare Less Than ( global 3-component vector of bool)
+0:141              vector swizzle ( temp 3-component vector of int)
+0:141                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                    Constant:
+0:141                      1 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141                Sequence
+0:141                  Constant:
+0:141                    0 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141                  Constant:
+0:141                    2 (const int)
+0:141              Constant:
+0:141                0 (const int)
+0:141                0 (const int)
+0:141                0 (const int)
+0:142      move second child to first child ( temp 4-component vector of int)
+0:142        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142            'invocation' ( temp uint)
+0:142          Constant:
+0:142            1 (const int)
+0:142        Convert bool to int ( temp 4-component vector of int)
+0:142          subgroupXor ( global 4-component vector of bool)
+0:142            Compare Less Than ( global 4-component vector of bool)
+0:142              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                  Constant:
+0:142                    1 (const int)
+0:142                Constant:
+0:142                  1 (const int)
+0:142              Constant:
+0:142                0 (const int)
+0:142                0 (const int)
+0:142                0 (const int)
+0:142                0 (const int)
+0:144      move second child to first child ( temp float)
+0:144        direct index ( temp float)
+0:144          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:144            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144              'invocation' ( temp uint)
+0:144            Constant:
+0:144              0 (const int)
+0:144          Constant:
+0:144            0 (const int)
+0:144        subgroupInclusiveAdd ( global float)
+0:144          direct index ( temp float)
+0:144            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:144              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144                Constant:
+0:144                  0 (const int)
+0:144              Constant:
+0:144                0 (const int)
+0:144            Constant:
+0:144              0 (const int)
+0:145      move second child to first child ( temp 2-component vector of float)
+0:145        vector swizzle ( temp 2-component vector of float)
+0:145          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:145            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:145              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:145              'invocation' ( temp uint)
+0:145            Constant:
+0:145              0 (const int)
+0:145          Sequence
+0:145            Constant:
+0:145              0 (const int)
+0:145            Constant:
+0:145              1 (const int)
+0:145        subgroupInclusiveAdd ( global 2-component vector of float)
+0:145          vector swizzle ( temp 2-component vector of float)
+0:145            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:145              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:145                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:145                Constant:
+0:145                  1 (const int)
+0:145              Constant:
+0:145                0 (const int)
+0:145            Sequence
+0:145              Constant:
+0:145                0 (const int)
+0:145              Constant:
+0:145                1 (const int)
+0:146      move second child to first child ( temp 3-component vector of float)
+0:146        vector swizzle ( temp 3-component vector of float)
+0:146          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:146            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146              'invocation' ( temp uint)
+0:146            Constant:
+0:146              0 (const int)
+0:146          Sequence
+0:146            Constant:
+0:146              0 (const int)
+0:146            Constant:
+0:146              1 (const int)
+0:146            Constant:
+0:146              2 (const int)
+0:146        subgroupInclusiveAdd ( global 3-component vector of float)
+0:146          vector swizzle ( temp 3-component vector of float)
+0:146            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:146              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146                Constant:
+0:146                  2 (const int)
+0:146              Constant:
+0:146                0 (const int)
+0:146            Sequence
+0:146              Constant:
+0:146                0 (const int)
+0:146              Constant:
+0:146                1 (const int)
+0:146              Constant:
+0:146                2 (const int)
+0:147      move second child to first child ( temp 4-component vector of float)
+0:147        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:147          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147            'invocation' ( temp uint)
+0:147          Constant:
+0:147            0 (const int)
+0:147        subgroupInclusiveAdd ( global 4-component vector of float)
+0:147          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:147            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147              Constant:
+0:147                3 (const int)
+0:147            Constant:
+0:147              0 (const int)
+0:149      move second child to first child ( temp int)
+0:149        direct index ( temp int)
+0:149          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:149            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149              'invocation' ( temp uint)
+0:149            Constant:
+0:149              1 (const int)
+0:149          Constant:
+0:149            0 (const int)
+0:149        subgroupInclusiveAdd ( global int)
+0:149          direct index ( temp int)
+0:149            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:149              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149                Constant:
+0:149                  0 (const int)
+0:149              Constant:
+0:149                1 (const int)
+0:149            Constant:
+0:149              0 (const int)
+0:150      move second child to first child ( temp 2-component vector of int)
+0:150        vector swizzle ( temp 2-component vector of int)
+0:150          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:150            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:150              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:150              'invocation' ( temp uint)
+0:150            Constant:
+0:150              1 (const int)
+0:150          Sequence
+0:150            Constant:
+0:150              0 (const int)
+0:150            Constant:
+0:150              1 (const int)
+0:150        subgroupInclusiveAdd ( global 2-component vector of int)
+0:150          vector swizzle ( temp 2-component vector of int)
+0:150            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:150              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:150                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:150                Constant:
+0:150                  1 (const int)
+0:150              Constant:
+0:150                1 (const int)
+0:150            Sequence
+0:150              Constant:
+0:150                0 (const int)
+0:150              Constant:
+0:150                1 (const int)
+0:151      move second child to first child ( temp 3-component vector of int)
+0:151        vector swizzle ( temp 3-component vector of int)
+0:151          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:151            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151              'invocation' ( temp uint)
+0:151            Constant:
+0:151              1 (const int)
+0:151          Sequence
+0:151            Constant:
+0:151              0 (const int)
+0:151            Constant:
+0:151              1 (const int)
+0:151            Constant:
+0:151              2 (const int)
+0:151        subgroupInclusiveAdd ( global 3-component vector of int)
+0:151          vector swizzle ( temp 3-component vector of int)
+0:151            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:151              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151                Constant:
+0:151                  2 (const int)
+0:151              Constant:
+0:151                1 (const int)
+0:151            Sequence
+0:151              Constant:
+0:151                0 (const int)
+0:151              Constant:
+0:151                1 (const int)
+0:151              Constant:
+0:151                2 (const int)
+0:152      move second child to first child ( temp 4-component vector of int)
+0:152        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:152          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152            'invocation' ( temp uint)
+0:152          Constant:
+0:152            1 (const int)
+0:152        subgroupInclusiveAdd ( global 4-component vector of int)
+0:152          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:152            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152              Constant:
+0:152                3 (const int)
+0:152            Constant:
+0:152              1 (const int)
+0:154      move second child to first child ( temp uint)
+0:154        direct index ( temp uint)
+0:154          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:154            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154              'invocation' ( temp uint)
+0:154            Constant:
+0:154              2 (const int)
+0:154          Constant:
+0:154            0 (const int)
+0:154        subgroupInclusiveAdd ( global uint)
+0:154          direct index ( temp uint)
+0:154            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:154              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154                Constant:
+0:154                  0 (const int)
+0:154              Constant:
+0:154                2 (const int)
+0:154            Constant:
+0:154              0 (const int)
+0:155      move second child to first child ( temp 2-component vector of uint)
+0:155        vector swizzle ( temp 2-component vector of uint)
+0:155          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:155            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:155              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:155              'invocation' ( temp uint)
+0:155            Constant:
+0:155              2 (const int)
+0:155          Sequence
+0:155            Constant:
+0:155              0 (const int)
+0:155            Constant:
+0:155              1 (const int)
+0:155        subgroupInclusiveAdd ( global 2-component vector of uint)
+0:155          vector swizzle ( temp 2-component vector of uint)
+0:155            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:155              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:155                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:155                Constant:
+0:155                  1 (const int)
+0:155              Constant:
+0:155                2 (const int)
+0:155            Sequence
+0:155              Constant:
+0:155                0 (const int)
+0:155              Constant:
+0:155                1 (const int)
+0:156      move second child to first child ( temp 3-component vector of uint)
+0:156        vector swizzle ( temp 3-component vector of uint)
+0:156          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:156            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156              'invocation' ( temp uint)
+0:156            Constant:
+0:156              2 (const int)
+0:156          Sequence
+0:156            Constant:
+0:156              0 (const int)
+0:156            Constant:
+0:156              1 (const int)
+0:156            Constant:
+0:156              2 (const int)
+0:156        subgroupInclusiveAdd ( global 3-component vector of uint)
+0:156          vector swizzle ( temp 3-component vector of uint)
+0:156            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:156              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156                Constant:
+0:156                  2 (const int)
+0:156              Constant:
+0:156                2 (const int)
+0:156            Sequence
+0:156              Constant:
+0:156                0 (const int)
+0:156              Constant:
+0:156                1 (const int)
+0:156              Constant:
+0:156                2 (const int)
+0:157      move second child to first child ( temp 4-component vector of uint)
+0:157        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:157          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157            'invocation' ( temp uint)
+0:157          Constant:
+0:157            2 (const int)
+0:157        subgroupInclusiveAdd ( global 4-component vector of uint)
+0:157          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:157            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157              Constant:
+0:157                3 (const int)
+0:157            Constant:
+0:157              2 (const int)
+0:159      move second child to first child ( temp double)
+0:159        direct index ( temp double)
+0:159          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:159            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159              'invocation' ( temp uint)
+0:159            Constant:
+0:159              3 (const int)
+0:159          Constant:
+0:159            0 (const int)
+0:159        subgroupInclusiveAdd ( global double)
+0:159          direct index ( temp double)
+0:159            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:159              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159                Constant:
+0:159                  0 (const int)
+0:159              Constant:
+0:159                3 (const int)
+0:159            Constant:
+0:159              0 (const int)
+0:160      move second child to first child ( temp 2-component vector of double)
+0:160        vector swizzle ( temp 2-component vector of double)
+0:160          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:160            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:160              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:160              'invocation' ( temp uint)
+0:160            Constant:
+0:160              3 (const int)
+0:160          Sequence
+0:160            Constant:
+0:160              0 (const int)
+0:160            Constant:
+0:160              1 (const int)
+0:160        subgroupInclusiveAdd ( global 2-component vector of double)
+0:160          vector swizzle ( temp 2-component vector of double)
+0:160            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:160              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:160                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:160                Constant:
+0:160                  1 (const int)
+0:160              Constant:
+0:160                3 (const int)
+0:160            Sequence
+0:160              Constant:
+0:160                0 (const int)
+0:160              Constant:
+0:160                1 (const int)
+0:161      move second child to first child ( temp 3-component vector of double)
+0:161        vector swizzle ( temp 3-component vector of double)
+0:161          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:161            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161              'invocation' ( temp uint)
+0:161            Constant:
+0:161              3 (const int)
+0:161          Sequence
+0:161            Constant:
+0:161              0 (const int)
+0:161            Constant:
+0:161              1 (const int)
+0:161            Constant:
+0:161              2 (const int)
+0:161        subgroupInclusiveAdd ( global 3-component vector of double)
+0:161          vector swizzle ( temp 3-component vector of double)
+0:161            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:161              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161                Constant:
+0:161                  2 (const int)
+0:161              Constant:
+0:161                3 (const int)
+0:161            Sequence
+0:161              Constant:
+0:161                0 (const int)
+0:161              Constant:
+0:161                1 (const int)
+0:161              Constant:
+0:161                2 (const int)
+0:162      move second child to first child ( temp 4-component vector of double)
+0:162        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:162          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162            'invocation' ( temp uint)
+0:162          Constant:
+0:162            3 (const int)
+0:162        subgroupInclusiveAdd ( global 4-component vector of double)
+0:162          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:162            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162              Constant:
+0:162                3 (const int)
+0:162            Constant:
+0:162              3 (const int)
+0:164      move second child to first child ( temp float)
+0:164        direct index ( temp float)
+0:164          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:164            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164              'invocation' ( temp uint)
+0:164            Constant:
+0:164              0 (const int)
+0:164          Constant:
+0:164            0 (const int)
+0:164        subgroupInclusiveMul ( global float)
+0:164          direct index ( temp float)
+0:164            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:164              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164                Constant:
+0:164                  0 (const int)
+0:164              Constant:
+0:164                0 (const int)
+0:164            Constant:
+0:164              0 (const int)
+0:165      move second child to first child ( temp 2-component vector of float)
+0:165        vector swizzle ( temp 2-component vector of float)
+0:165          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:165            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:165              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:165              'invocation' ( temp uint)
+0:165            Constant:
+0:165              0 (const int)
+0:165          Sequence
+0:165            Constant:
+0:165              0 (const int)
+0:165            Constant:
+0:165              1 (const int)
+0:165        subgroupInclusiveMul ( global 2-component vector of float)
+0:165          vector swizzle ( temp 2-component vector of float)
+0:165            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:165              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:165                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:165                Constant:
+0:165                  1 (const int)
+0:165              Constant:
+0:165                0 (const int)
+0:165            Sequence
+0:165              Constant:
+0:165                0 (const int)
+0:165              Constant:
+0:165                1 (const int)
+0:166      move second child to first child ( temp 3-component vector of float)
+0:166        vector swizzle ( temp 3-component vector of float)
+0:166          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:166            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166              'invocation' ( temp uint)
+0:166            Constant:
+0:166              0 (const int)
+0:166          Sequence
+0:166            Constant:
+0:166              0 (const int)
+0:166            Constant:
+0:166              1 (const int)
+0:166            Constant:
+0:166              2 (const int)
+0:166        subgroupInclusiveMul ( global 3-component vector of float)
+0:166          vector swizzle ( temp 3-component vector of float)
+0:166            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:166              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166                Constant:
+0:166                  2 (const int)
+0:166              Constant:
+0:166                0 (const int)
+0:166            Sequence
+0:166              Constant:
+0:166                0 (const int)
+0:166              Constant:
+0:166                1 (const int)
+0:166              Constant:
+0:166                2 (const int)
+0:167      move second child to first child ( temp 4-component vector of float)
+0:167        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:167          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167            'invocation' ( temp uint)
+0:167          Constant:
+0:167            0 (const int)
+0:167        subgroupInclusiveMul ( global 4-component vector of float)
+0:167          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:167            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167              Constant:
+0:167                3 (const int)
+0:167            Constant:
+0:167              0 (const int)
+0:169      move second child to first child ( temp int)
+0:169        direct index ( temp int)
+0:169          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:169            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169              'invocation' ( temp uint)
+0:169            Constant:
+0:169              1 (const int)
+0:169          Constant:
+0:169            0 (const int)
+0:169        subgroupInclusiveMul ( global int)
+0:169          direct index ( temp int)
+0:169            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:169              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169                Constant:
+0:169                  0 (const int)
+0:169              Constant:
+0:169                1 (const int)
+0:169            Constant:
+0:169              0 (const int)
+0:170      move second child to first child ( temp 2-component vector of int)
+0:170        vector swizzle ( temp 2-component vector of int)
+0:170          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:170            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:170              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:170              'invocation' ( temp uint)
+0:170            Constant:
+0:170              1 (const int)
+0:170          Sequence
+0:170            Constant:
+0:170              0 (const int)
+0:170            Constant:
+0:170              1 (const int)
+0:170        subgroupInclusiveMul ( global 2-component vector of int)
+0:170          vector swizzle ( temp 2-component vector of int)
+0:170            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:170              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:170                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:170                Constant:
+0:170                  1 (const int)
+0:170              Constant:
+0:170                1 (const int)
+0:170            Sequence
+0:170              Constant:
+0:170                0 (const int)
+0:170              Constant:
+0:170                1 (const int)
+0:171      move second child to first child ( temp 3-component vector of int)
+0:171        vector swizzle ( temp 3-component vector of int)
+0:171          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:171            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171              'invocation' ( temp uint)
+0:171            Constant:
+0:171              1 (const int)
+0:171          Sequence
+0:171            Constant:
+0:171              0 (const int)
+0:171            Constant:
+0:171              1 (const int)
+0:171            Constant:
+0:171              2 (const int)
+0:171        subgroupInclusiveMul ( global 3-component vector of int)
+0:171          vector swizzle ( temp 3-component vector of int)
+0:171            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:171              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171                Constant:
+0:171                  2 (const int)
+0:171              Constant:
+0:171                1 (const int)
+0:171            Sequence
+0:171              Constant:
+0:171                0 (const int)
+0:171              Constant:
+0:171                1 (const int)
+0:171              Constant:
+0:171                2 (const int)
+0:172      move second child to first child ( temp 4-component vector of int)
+0:172        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:172          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172            'invocation' ( temp uint)
+0:172          Constant:
+0:172            1 (const int)
+0:172        subgroupInclusiveMul ( global 4-component vector of int)
+0:172          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:172            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172              Constant:
+0:172                3 (const int)
+0:172            Constant:
+0:172              1 (const int)
+0:174      move second child to first child ( temp uint)
+0:174        direct index ( temp uint)
+0:174          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:174            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174              'invocation' ( temp uint)
+0:174            Constant:
+0:174              2 (const int)
+0:174          Constant:
+0:174            0 (const int)
+0:174        subgroupInclusiveMul ( global uint)
+0:174          direct index ( temp uint)
+0:174            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:174              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174                Constant:
+0:174                  0 (const int)
+0:174              Constant:
+0:174                2 (const int)
+0:174            Constant:
+0:174              0 (const int)
+0:175      move second child to first child ( temp 2-component vector of uint)
+0:175        vector swizzle ( temp 2-component vector of uint)
+0:175          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:175            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:175              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:175              'invocation' ( temp uint)
+0:175            Constant:
+0:175              2 (const int)
+0:175          Sequence
+0:175            Constant:
+0:175              0 (const int)
+0:175            Constant:
+0:175              1 (const int)
+0:175        subgroupInclusiveMul ( global 2-component vector of uint)
+0:175          vector swizzle ( temp 2-component vector of uint)
+0:175            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:175              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:175                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:175                Constant:
+0:175                  1 (const int)
+0:175              Constant:
+0:175                2 (const int)
+0:175            Sequence
+0:175              Constant:
+0:175                0 (const int)
+0:175              Constant:
+0:175                1 (const int)
+0:176      move second child to first child ( temp 3-component vector of uint)
+0:176        vector swizzle ( temp 3-component vector of uint)
+0:176          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:176            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176              'invocation' ( temp uint)
+0:176            Constant:
+0:176              2 (const int)
+0:176          Sequence
+0:176            Constant:
+0:176              0 (const int)
+0:176            Constant:
+0:176              1 (const int)
+0:176            Constant:
+0:176              2 (const int)
+0:176        subgroupInclusiveMul ( global 3-component vector of uint)
+0:176          vector swizzle ( temp 3-component vector of uint)
+0:176            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:176              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176                Constant:
+0:176                  2 (const int)
+0:176              Constant:
+0:176                2 (const int)
+0:176            Sequence
+0:176              Constant:
+0:176                0 (const int)
+0:176              Constant:
+0:176                1 (const int)
+0:176              Constant:
+0:176                2 (const int)
+0:177      move second child to first child ( temp 4-component vector of uint)
+0:177        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:177          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177            'invocation' ( temp uint)
+0:177          Constant:
+0:177            2 (const int)
+0:177        subgroupInclusiveMul ( global 4-component vector of uint)
+0:177          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:177            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177              Constant:
+0:177                3 (const int)
+0:177            Constant:
+0:177              2 (const int)
+0:179      move second child to first child ( temp double)
+0:179        direct index ( temp double)
+0:179          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:179            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179              'invocation' ( temp uint)
+0:179            Constant:
+0:179              3 (const int)
+0:179          Constant:
+0:179            0 (const int)
+0:179        subgroupInclusiveMul ( global double)
+0:179          direct index ( temp double)
+0:179            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:179              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179                Constant:
+0:179                  0 (const int)
+0:179              Constant:
+0:179                3 (const int)
+0:179            Constant:
+0:179              0 (const int)
+0:180      move second child to first child ( temp 2-component vector of double)
+0:180        vector swizzle ( temp 2-component vector of double)
+0:180          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:180            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:180              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:180              'invocation' ( temp uint)
+0:180            Constant:
+0:180              3 (const int)
+0:180          Sequence
+0:180            Constant:
+0:180              0 (const int)
+0:180            Constant:
+0:180              1 (const int)
+0:180        subgroupInclusiveMul ( global 2-component vector of double)
+0:180          vector swizzle ( temp 2-component vector of double)
+0:180            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:180              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:180                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:180                Constant:
+0:180                  1 (const int)
+0:180              Constant:
+0:180                3 (const int)
+0:180            Sequence
+0:180              Constant:
+0:180                0 (const int)
+0:180              Constant:
+0:180                1 (const int)
+0:181      move second child to first child ( temp 3-component vector of double)
+0:181        vector swizzle ( temp 3-component vector of double)
+0:181          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:181            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181              'invocation' ( temp uint)
+0:181            Constant:
+0:181              3 (const int)
+0:181          Sequence
+0:181            Constant:
+0:181              0 (const int)
+0:181            Constant:
+0:181              1 (const int)
+0:181            Constant:
+0:181              2 (const int)
+0:181        subgroupInclusiveMul ( global 3-component vector of double)
+0:181          vector swizzle ( temp 3-component vector of double)
+0:181            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:181              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181                Constant:
+0:181                  2 (const int)
+0:181              Constant:
+0:181                3 (const int)
+0:181            Sequence
+0:181              Constant:
+0:181                0 (const int)
+0:181              Constant:
+0:181                1 (const int)
+0:181              Constant:
+0:181                2 (const int)
+0:182      move second child to first child ( temp 4-component vector of double)
+0:182        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:182          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182            'invocation' ( temp uint)
+0:182          Constant:
+0:182            3 (const int)
+0:182        subgroupInclusiveMul ( global 4-component vector of double)
+0:182          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:182            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182              Constant:
+0:182                3 (const int)
+0:182            Constant:
+0:182              3 (const int)
+0:184      move second child to first child ( temp float)
+0:184        direct index ( temp float)
+0:184          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:184            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184              'invocation' ( temp uint)
+0:184            Constant:
+0:184              0 (const int)
+0:184          Constant:
+0:184            0 (const int)
+0:184        subgroupInclusiveMin ( global float)
+0:184          direct index ( temp float)
+0:184            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:184              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184                Constant:
+0:184                  0 (const int)
+0:184              Constant:
+0:184                0 (const int)
+0:184            Constant:
+0:184              0 (const int)
+0:185      move second child to first child ( temp 2-component vector of float)
+0:185        vector swizzle ( temp 2-component vector of float)
+0:185          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:185            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:185              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:185              'invocation' ( temp uint)
+0:185            Constant:
+0:185              0 (const int)
+0:185          Sequence
+0:185            Constant:
+0:185              0 (const int)
+0:185            Constant:
+0:185              1 (const int)
+0:185        subgroupInclusiveMin ( global 2-component vector of float)
+0:185          vector swizzle ( temp 2-component vector of float)
+0:185            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:185              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:185                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:185                Constant:
+0:185                  1 (const int)
+0:185              Constant:
+0:185                0 (const int)
+0:185            Sequence
+0:185              Constant:
+0:185                0 (const int)
+0:185              Constant:
+0:185                1 (const int)
+0:186      move second child to first child ( temp 3-component vector of float)
+0:186        vector swizzle ( temp 3-component vector of float)
+0:186          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:186            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186              'invocation' ( temp uint)
+0:186            Constant:
+0:186              0 (const int)
+0:186          Sequence
+0:186            Constant:
+0:186              0 (const int)
+0:186            Constant:
+0:186              1 (const int)
+0:186            Constant:
+0:186              2 (const int)
+0:186        subgroupInclusiveMin ( global 3-component vector of float)
+0:186          vector swizzle ( temp 3-component vector of float)
+0:186            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:186              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186                Constant:
+0:186                  2 (const int)
+0:186              Constant:
+0:186                0 (const int)
+0:186            Sequence
+0:186              Constant:
+0:186                0 (const int)
+0:186              Constant:
+0:186                1 (const int)
+0:186              Constant:
+0:186                2 (const int)
+0:187      move second child to first child ( temp 4-component vector of float)
+0:187        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:187          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187            'invocation' ( temp uint)
+0:187          Constant:
+0:187            0 (const int)
+0:187        subgroupInclusiveMin ( global 4-component vector of float)
+0:187          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:187            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187              Constant:
+0:187                3 (const int)
+0:187            Constant:
+0:187              0 (const int)
+0:189      move second child to first child ( temp int)
+0:189        direct index ( temp int)
+0:189          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:189            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189              'invocation' ( temp uint)
+0:189            Constant:
+0:189              1 (const int)
+0:189          Constant:
+0:189            0 (const int)
+0:189        subgroupInclusiveMin ( global int)
+0:189          direct index ( temp int)
+0:189            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:189              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189                Constant:
+0:189                  0 (const int)
+0:189              Constant:
+0:189                1 (const int)
+0:189            Constant:
+0:189              0 (const int)
+0:190      move second child to first child ( temp 2-component vector of int)
+0:190        vector swizzle ( temp 2-component vector of int)
+0:190          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:190            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:190              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:190              'invocation' ( temp uint)
+0:190            Constant:
+0:190              1 (const int)
+0:190          Sequence
+0:190            Constant:
+0:190              0 (const int)
+0:190            Constant:
+0:190              1 (const int)
+0:190        subgroupInclusiveMin ( global 2-component vector of int)
+0:190          vector swizzle ( temp 2-component vector of int)
+0:190            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:190              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:190                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:190                Constant:
+0:190                  1 (const int)
+0:190              Constant:
+0:190                1 (const int)
+0:190            Sequence
+0:190              Constant:
+0:190                0 (const int)
+0:190              Constant:
+0:190                1 (const int)
+0:191      move second child to first child ( temp 3-component vector of int)
+0:191        vector swizzle ( temp 3-component vector of int)
+0:191          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:191            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191              'invocation' ( temp uint)
+0:191            Constant:
+0:191              1 (const int)
+0:191          Sequence
+0:191            Constant:
+0:191              0 (const int)
+0:191            Constant:
+0:191              1 (const int)
+0:191            Constant:
+0:191              2 (const int)
+0:191        subgroupInclusiveMin ( global 3-component vector of int)
+0:191          vector swizzle ( temp 3-component vector of int)
+0:191            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:191              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191                Constant:
+0:191                  2 (const int)
+0:191              Constant:
+0:191                1 (const int)
+0:191            Sequence
+0:191              Constant:
+0:191                0 (const int)
+0:191              Constant:
+0:191                1 (const int)
+0:191              Constant:
+0:191                2 (const int)
+0:192      move second child to first child ( temp 4-component vector of int)
+0:192        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:192          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192            'invocation' ( temp uint)
+0:192          Constant:
+0:192            1 (const int)
+0:192        subgroupInclusiveMin ( global 4-component vector of int)
+0:192          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:192            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192              Constant:
+0:192                3 (const int)
+0:192            Constant:
+0:192              1 (const int)
+0:194      move second child to first child ( temp uint)
+0:194        direct index ( temp uint)
+0:194          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:194            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194              'invocation' ( temp uint)
+0:194            Constant:
+0:194              2 (const int)
+0:194          Constant:
+0:194            0 (const int)
+0:194        subgroupInclusiveMin ( global uint)
+0:194          direct index ( temp uint)
+0:194            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:194              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194                Constant:
+0:194                  0 (const int)
+0:194              Constant:
+0:194                2 (const int)
+0:194            Constant:
+0:194              0 (const int)
+0:195      move second child to first child ( temp 2-component vector of uint)
+0:195        vector swizzle ( temp 2-component vector of uint)
+0:195          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:195            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:195              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:195              'invocation' ( temp uint)
+0:195            Constant:
+0:195              2 (const int)
+0:195          Sequence
+0:195            Constant:
+0:195              0 (const int)
+0:195            Constant:
+0:195              1 (const int)
+0:195        subgroupInclusiveMin ( global 2-component vector of uint)
+0:195          vector swizzle ( temp 2-component vector of uint)
+0:195            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:195              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:195                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:195                Constant:
+0:195                  1 (const int)
+0:195              Constant:
+0:195                2 (const int)
+0:195            Sequence
+0:195              Constant:
+0:195                0 (const int)
+0:195              Constant:
+0:195                1 (const int)
+0:196      move second child to first child ( temp 3-component vector of uint)
+0:196        vector swizzle ( temp 3-component vector of uint)
+0:196          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:196            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196              'invocation' ( temp uint)
+0:196            Constant:
+0:196              2 (const int)
+0:196          Sequence
+0:196            Constant:
+0:196              0 (const int)
+0:196            Constant:
+0:196              1 (const int)
+0:196            Constant:
+0:196              2 (const int)
+0:196        subgroupInclusiveMin ( global 3-component vector of uint)
+0:196          vector swizzle ( temp 3-component vector of uint)
+0:196            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:196              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196                Constant:
+0:196                  2 (const int)
+0:196              Constant:
+0:196                2 (const int)
+0:196            Sequence
+0:196              Constant:
+0:196                0 (const int)
+0:196              Constant:
+0:196                1 (const int)
+0:196              Constant:
+0:196                2 (const int)
+0:197      move second child to first child ( temp 4-component vector of uint)
+0:197        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:197          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197            'invocation' ( temp uint)
+0:197          Constant:
+0:197            2 (const int)
+0:197        subgroupInclusiveMin ( global 4-component vector of uint)
+0:197          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:197            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197              Constant:
+0:197                3 (const int)
+0:197            Constant:
+0:197              2 (const int)
+0:199      move second child to first child ( temp double)
+0:199        direct index ( temp double)
+0:199          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:199            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199              'invocation' ( temp uint)
+0:199            Constant:
+0:199              3 (const int)
+0:199          Constant:
+0:199            0 (const int)
+0:199        subgroupInclusiveMin ( global double)
+0:199          direct index ( temp double)
+0:199            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:199              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199                Constant:
+0:199                  0 (const int)
+0:199              Constant:
+0:199                3 (const int)
+0:199            Constant:
+0:199              0 (const int)
+0:200      move second child to first child ( temp 2-component vector of double)
+0:200        vector swizzle ( temp 2-component vector of double)
+0:200          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:200            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:200              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:200              'invocation' ( temp uint)
+0:200            Constant:
+0:200              3 (const int)
+0:200          Sequence
+0:200            Constant:
+0:200              0 (const int)
+0:200            Constant:
+0:200              1 (const int)
+0:200        subgroupInclusiveMin ( global 2-component vector of double)
+0:200          vector swizzle ( temp 2-component vector of double)
+0:200            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:200              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:200                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:200                Constant:
+0:200                  1 (const int)
+0:200              Constant:
+0:200                3 (const int)
+0:200            Sequence
+0:200              Constant:
+0:200                0 (const int)
+0:200              Constant:
+0:200                1 (const int)
+0:201      move second child to first child ( temp 3-component vector of double)
+0:201        vector swizzle ( temp 3-component vector of double)
+0:201          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:201            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201              'invocation' ( temp uint)
+0:201            Constant:
+0:201              3 (const int)
+0:201          Sequence
+0:201            Constant:
+0:201              0 (const int)
+0:201            Constant:
+0:201              1 (const int)
+0:201            Constant:
+0:201              2 (const int)
+0:201        subgroupInclusiveMin ( global 3-component vector of double)
+0:201          vector swizzle ( temp 3-component vector of double)
+0:201            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:201              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201                Constant:
+0:201                  2 (const int)
+0:201              Constant:
+0:201                3 (const int)
+0:201            Sequence
+0:201              Constant:
+0:201                0 (const int)
+0:201              Constant:
+0:201                1 (const int)
+0:201              Constant:
+0:201                2 (const int)
+0:202      move second child to first child ( temp 4-component vector of double)
+0:202        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:202          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202            'invocation' ( temp uint)
+0:202          Constant:
+0:202            3 (const int)
+0:202        subgroupInclusiveMin ( global 4-component vector of double)
+0:202          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:202            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202              Constant:
+0:202                3 (const int)
+0:202            Constant:
+0:202              3 (const int)
+0:204      move second child to first child ( temp float)
+0:204        direct index ( temp float)
+0:204          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:204            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204              'invocation' ( temp uint)
+0:204            Constant:
+0:204              0 (const int)
+0:204          Constant:
+0:204            0 (const int)
+0:204        subgroupInclusiveMax ( global float)
+0:204          direct index ( temp float)
+0:204            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:204              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204                Constant:
+0:204                  0 (const int)
+0:204              Constant:
+0:204                0 (const int)
+0:204            Constant:
+0:204              0 (const int)
+0:205      move second child to first child ( temp 2-component vector of float)
+0:205        vector swizzle ( temp 2-component vector of float)
+0:205          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:205            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:205              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:205              'invocation' ( temp uint)
+0:205            Constant:
+0:205              0 (const int)
+0:205          Sequence
+0:205            Constant:
+0:205              0 (const int)
+0:205            Constant:
+0:205              1 (const int)
+0:205        subgroupInclusiveMax ( global 2-component vector of float)
+0:205          vector swizzle ( temp 2-component vector of float)
+0:205            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:205              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:205                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:205                Constant:
+0:205                  1 (const int)
+0:205              Constant:
+0:205                0 (const int)
+0:205            Sequence
+0:205              Constant:
+0:205                0 (const int)
+0:205              Constant:
+0:205                1 (const int)
+0:206      move second child to first child ( temp 3-component vector of float)
+0:206        vector swizzle ( temp 3-component vector of float)
+0:206          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:206            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206              'invocation' ( temp uint)
+0:206            Constant:
+0:206              0 (const int)
+0:206          Sequence
+0:206            Constant:
+0:206              0 (const int)
+0:206            Constant:
+0:206              1 (const int)
+0:206            Constant:
+0:206              2 (const int)
+0:206        subgroupInclusiveMax ( global 3-component vector of float)
+0:206          vector swizzle ( temp 3-component vector of float)
+0:206            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:206              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206                Constant:
+0:206                  2 (const int)
+0:206              Constant:
+0:206                0 (const int)
+0:206            Sequence
+0:206              Constant:
+0:206                0 (const int)
+0:206              Constant:
+0:206                1 (const int)
+0:206              Constant:
+0:206                2 (const int)
+0:207      move second child to first child ( temp 4-component vector of float)
+0:207        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:207          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207            'invocation' ( temp uint)
+0:207          Constant:
+0:207            0 (const int)
+0:207        subgroupInclusiveMax ( global 4-component vector of float)
+0:207          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:207            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207              Constant:
+0:207                3 (const int)
+0:207            Constant:
+0:207              0 (const int)
+0:209      move second child to first child ( temp int)
+0:209        direct index ( temp int)
+0:209          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:209            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209              'invocation' ( temp uint)
+0:209            Constant:
+0:209              1 (const int)
+0:209          Constant:
+0:209            0 (const int)
+0:209        subgroupInclusiveMax ( global int)
+0:209          direct index ( temp int)
+0:209            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:209              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209                Constant:
+0:209                  0 (const int)
+0:209              Constant:
+0:209                1 (const int)
+0:209            Constant:
+0:209              0 (const int)
+0:210      move second child to first child ( temp 2-component vector of int)
+0:210        vector swizzle ( temp 2-component vector of int)
+0:210          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:210            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:210              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:210              'invocation' ( temp uint)
+0:210            Constant:
+0:210              1 (const int)
+0:210          Sequence
+0:210            Constant:
+0:210              0 (const int)
+0:210            Constant:
+0:210              1 (const int)
+0:210        subgroupInclusiveMax ( global 2-component vector of int)
+0:210          vector swizzle ( temp 2-component vector of int)
+0:210            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:210              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:210                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:210                Constant:
+0:210                  1 (const int)
+0:210              Constant:
+0:210                1 (const int)
+0:210            Sequence
+0:210              Constant:
+0:210                0 (const int)
+0:210              Constant:
+0:210                1 (const int)
+0:211      move second child to first child ( temp 3-component vector of int)
+0:211        vector swizzle ( temp 3-component vector of int)
+0:211          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:211            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211              'invocation' ( temp uint)
+0:211            Constant:
+0:211              1 (const int)
+0:211          Sequence
+0:211            Constant:
+0:211              0 (const int)
+0:211            Constant:
+0:211              1 (const int)
+0:211            Constant:
+0:211              2 (const int)
+0:211        subgroupInclusiveMax ( global 3-component vector of int)
+0:211          vector swizzle ( temp 3-component vector of int)
+0:211            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:211              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211                Constant:
+0:211                  2 (const int)
+0:211              Constant:
+0:211                1 (const int)
+0:211            Sequence
+0:211              Constant:
+0:211                0 (const int)
+0:211              Constant:
+0:211                1 (const int)
+0:211              Constant:
+0:211                2 (const int)
+0:212      move second child to first child ( temp 4-component vector of int)
+0:212        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:212          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212            'invocation' ( temp uint)
+0:212          Constant:
+0:212            1 (const int)
+0:212        subgroupInclusiveMax ( global 4-component vector of int)
+0:212          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:212            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212              Constant:
+0:212                3 (const int)
+0:212            Constant:
+0:212              1 (const int)
+0:214      move second child to first child ( temp uint)
+0:214        direct index ( temp uint)
+0:214          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:214            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214              'invocation' ( temp uint)
+0:214            Constant:
+0:214              2 (const int)
+0:214          Constant:
+0:214            0 (const int)
+0:214        subgroupInclusiveMax ( global uint)
+0:214          direct index ( temp uint)
+0:214            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:214              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214                Constant:
+0:214                  0 (const int)
+0:214              Constant:
+0:214                2 (const int)
+0:214            Constant:
+0:214              0 (const int)
+0:215      move second child to first child ( temp 2-component vector of uint)
+0:215        vector swizzle ( temp 2-component vector of uint)
+0:215          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:215            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:215              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:215              'invocation' ( temp uint)
+0:215            Constant:
+0:215              2 (const int)
+0:215          Sequence
+0:215            Constant:
+0:215              0 (const int)
+0:215            Constant:
+0:215              1 (const int)
+0:215        subgroupInclusiveMax ( global 2-component vector of uint)
+0:215          vector swizzle ( temp 2-component vector of uint)
+0:215            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:215              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:215                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:215                Constant:
+0:215                  1 (const int)
+0:215              Constant:
+0:215                2 (const int)
+0:215            Sequence
+0:215              Constant:
+0:215                0 (const int)
+0:215              Constant:
+0:215                1 (const int)
+0:216      move second child to first child ( temp 3-component vector of uint)
+0:216        vector swizzle ( temp 3-component vector of uint)
+0:216          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:216            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216              'invocation' ( temp uint)
+0:216            Constant:
+0:216              2 (const int)
+0:216          Sequence
+0:216            Constant:
+0:216              0 (const int)
+0:216            Constant:
+0:216              1 (const int)
+0:216            Constant:
+0:216              2 (const int)
+0:216        subgroupInclusiveMax ( global 3-component vector of uint)
+0:216          vector swizzle ( temp 3-component vector of uint)
+0:216            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:216              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216                Constant:
+0:216                  2 (const int)
+0:216              Constant:
+0:216                2 (const int)
+0:216            Sequence
+0:216              Constant:
+0:216                0 (const int)
+0:216              Constant:
+0:216                1 (const int)
+0:216              Constant:
+0:216                2 (const int)
+0:217      move second child to first child ( temp 4-component vector of uint)
+0:217        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:217          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217            'invocation' ( temp uint)
+0:217          Constant:
+0:217            2 (const int)
+0:217        subgroupInclusiveMax ( global 4-component vector of uint)
+0:217          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:217            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217              Constant:
+0:217                3 (const int)
+0:217            Constant:
+0:217              2 (const int)
+0:219      move second child to first child ( temp double)
+0:219        direct index ( temp double)
+0:219          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:219            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219              'invocation' ( temp uint)
+0:219            Constant:
+0:219              3 (const int)
+0:219          Constant:
+0:219            0 (const int)
+0:219        subgroupInclusiveMax ( global double)
+0:219          direct index ( temp double)
+0:219            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:219              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219                Constant:
+0:219                  0 (const int)
+0:219              Constant:
+0:219                3 (const int)
+0:219            Constant:
+0:219              0 (const int)
+0:220      move second child to first child ( temp 2-component vector of double)
+0:220        vector swizzle ( temp 2-component vector of double)
+0:220          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:220            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:220              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:220              'invocation' ( temp uint)
+0:220            Constant:
+0:220              3 (const int)
+0:220          Sequence
+0:220            Constant:
+0:220              0 (const int)
+0:220            Constant:
+0:220              1 (const int)
+0:220        subgroupInclusiveMax ( global 2-component vector of double)
+0:220          vector swizzle ( temp 2-component vector of double)
+0:220            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:220              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:220                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:220                Constant:
+0:220                  1 (const int)
+0:220              Constant:
+0:220                3 (const int)
+0:220            Sequence
+0:220              Constant:
+0:220                0 (const int)
+0:220              Constant:
+0:220                1 (const int)
+0:221      move second child to first child ( temp 3-component vector of double)
+0:221        vector swizzle ( temp 3-component vector of double)
+0:221          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:221            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221              'invocation' ( temp uint)
+0:221            Constant:
+0:221              3 (const int)
+0:221          Sequence
+0:221            Constant:
+0:221              0 (const int)
+0:221            Constant:
+0:221              1 (const int)
+0:221            Constant:
+0:221              2 (const int)
+0:221        subgroupInclusiveMax ( global 3-component vector of double)
+0:221          vector swizzle ( temp 3-component vector of double)
+0:221            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:221              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221                Constant:
+0:221                  2 (const int)
+0:221              Constant:
+0:221                3 (const int)
+0:221            Sequence
+0:221              Constant:
+0:221                0 (const int)
+0:221              Constant:
+0:221                1 (const int)
+0:221              Constant:
+0:221                2 (const int)
+0:222      move second child to first child ( temp 4-component vector of double)
+0:222        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:222          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222            'invocation' ( temp uint)
+0:222          Constant:
+0:222            3 (const int)
+0:222        subgroupInclusiveMax ( global 4-component vector of double)
+0:222          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:222            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222              Constant:
+0:222                3 (const int)
+0:222            Constant:
+0:222              3 (const int)
+0:224      move second child to first child ( temp int)
+0:224        direct index ( temp int)
+0:224          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:224            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224              'invocation' ( temp uint)
+0:224            Constant:
+0:224              1 (const int)
+0:224          Constant:
+0:224            0 (const int)
+0:224        subgroupInclusiveAnd ( global int)
+0:224          direct index ( temp int)
+0:224            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:224              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224                Constant:
+0:224                  0 (const int)
+0:224              Constant:
+0:224                1 (const int)
+0:224            Constant:
+0:224              0 (const int)
+0:225      move second child to first child ( temp 2-component vector of int)
+0:225        vector swizzle ( temp 2-component vector of int)
+0:225          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:225            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:225              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:225              'invocation' ( temp uint)
+0:225            Constant:
+0:225              1 (const int)
+0:225          Sequence
+0:225            Constant:
+0:225              0 (const int)
+0:225            Constant:
+0:225              1 (const int)
+0:225        subgroupInclusiveAnd ( global 2-component vector of int)
+0:225          vector swizzle ( temp 2-component vector of int)
+0:225            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:225              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:225                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:225                Constant:
+0:225                  1 (const int)
+0:225              Constant:
+0:225                1 (const int)
+0:225            Sequence
+0:225              Constant:
+0:225                0 (const int)
+0:225              Constant:
+0:225                1 (const int)
+0:226      move second child to first child ( temp 3-component vector of int)
+0:226        vector swizzle ( temp 3-component vector of int)
+0:226          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:226            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226              'invocation' ( temp uint)
+0:226            Constant:
+0:226              1 (const int)
+0:226          Sequence
+0:226            Constant:
+0:226              0 (const int)
+0:226            Constant:
+0:226              1 (const int)
+0:226            Constant:
+0:226              2 (const int)
+0:226        subgroupInclusiveAnd ( global 3-component vector of int)
+0:226          vector swizzle ( temp 3-component vector of int)
+0:226            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:226              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226                Constant:
+0:226                  2 (const int)
+0:226              Constant:
+0:226                1 (const int)
+0:226            Sequence
+0:226              Constant:
+0:226                0 (const int)
+0:226              Constant:
+0:226                1 (const int)
+0:226              Constant:
+0:226                2 (const int)
+0:227      move second child to first child ( temp 4-component vector of int)
+0:227        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:227          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227            'invocation' ( temp uint)
+0:227          Constant:
+0:227            1 (const int)
+0:227        subgroupInclusiveAnd ( global 4-component vector of int)
+0:227          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:227            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227              Constant:
+0:227                3 (const int)
+0:227            Constant:
+0:227              1 (const int)
+0:229      move second child to first child ( temp uint)
+0:229        direct index ( temp uint)
+0:229          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:229            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229              'invocation' ( temp uint)
+0:229            Constant:
+0:229              2 (const int)
+0:229          Constant:
+0:229            0 (const int)
+0:229        subgroupInclusiveAnd ( global uint)
+0:229          direct index ( temp uint)
+0:229            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:229              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229                Constant:
+0:229                  0 (const int)
+0:229              Constant:
+0:229                2 (const int)
+0:229            Constant:
+0:229              0 (const int)
+0:230      move second child to first child ( temp 2-component vector of uint)
+0:230        vector swizzle ( temp 2-component vector of uint)
+0:230          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:230            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:230              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:230              'invocation' ( temp uint)
+0:230            Constant:
+0:230              2 (const int)
+0:230          Sequence
+0:230            Constant:
+0:230              0 (const int)
+0:230            Constant:
+0:230              1 (const int)
+0:230        subgroupInclusiveAnd ( global 2-component vector of uint)
+0:230          vector swizzle ( temp 2-component vector of uint)
+0:230            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:230              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:230                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:230                Constant:
+0:230                  1 (const int)
+0:230              Constant:
+0:230                2 (const int)
+0:230            Sequence
+0:230              Constant:
+0:230                0 (const int)
+0:230              Constant:
+0:230                1 (const int)
+0:231      move second child to first child ( temp 3-component vector of uint)
+0:231        vector swizzle ( temp 3-component vector of uint)
+0:231          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:231            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231              'invocation' ( temp uint)
+0:231            Constant:
+0:231              2 (const int)
+0:231          Sequence
+0:231            Constant:
+0:231              0 (const int)
+0:231            Constant:
+0:231              1 (const int)
+0:231            Constant:
+0:231              2 (const int)
+0:231        subgroupInclusiveAnd ( global 3-component vector of uint)
+0:231          vector swizzle ( temp 3-component vector of uint)
+0:231            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:231              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231                Constant:
+0:231                  2 (const int)
+0:231              Constant:
+0:231                2 (const int)
+0:231            Sequence
+0:231              Constant:
+0:231                0 (const int)
+0:231              Constant:
+0:231                1 (const int)
+0:231              Constant:
+0:231                2 (const int)
+0:232      move second child to first child ( temp 4-component vector of uint)
+0:232        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:232          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232            'invocation' ( temp uint)
+0:232          Constant:
+0:232            2 (const int)
+0:232        subgroupInclusiveAnd ( global 4-component vector of uint)
+0:232          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:232            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232              Constant:
+0:232                3 (const int)
+0:232            Constant:
+0:232              2 (const int)
+0:234      move second child to first child ( temp int)
+0:234        direct index ( temp int)
+0:234          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:234            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234              'invocation' ( temp uint)
+0:234            Constant:
+0:234              1 (const int)
+0:234          Constant:
+0:234            0 (const int)
+0:234        Convert bool to int ( temp int)
+0:234          subgroupInclusiveAnd ( global bool)
+0:234            Compare Less Than ( temp bool)
+0:234              direct index ( temp int)
+0:234                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:234                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234                    Constant:
+0:234                      0 (const int)
+0:234                  Constant:
+0:234                    1 (const int)
+0:234                Constant:
+0:234                  0 (const int)
+0:234              Constant:
+0:234                0 (const int)
+0:235      move second child to first child ( temp 2-component vector of int)
+0:235        vector swizzle ( temp 2-component vector of int)
+0:235          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:235            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:235              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:235              'invocation' ( temp uint)
+0:235            Constant:
+0:235              1 (const int)
+0:235          Sequence
+0:235            Constant:
+0:235              0 (const int)
+0:235            Constant:
+0:235              1 (const int)
+0:235        Convert bool to int ( temp 2-component vector of int)
+0:235          subgroupInclusiveAnd ( global 2-component vector of bool)
+0:235            Compare Less Than ( global 2-component vector of bool)
+0:235              vector swizzle ( temp 2-component vector of int)
+0:235                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:235                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:235                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:235                    Constant:
+0:235                      1 (const int)
+0:235                  Constant:
+0:235                    1 (const int)
+0:235                Sequence
+0:235                  Constant:
+0:235                    0 (const int)
+0:235                  Constant:
+0:235                    1 (const int)
+0:235              Constant:
+0:235                0 (const int)
+0:235                0 (const int)
+0:236      move second child to first child ( temp 3-component vector of int)
+0:236        vector swizzle ( temp 3-component vector of int)
+0:236          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:236            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236              'invocation' ( temp uint)
+0:236            Constant:
+0:236              1 (const int)
+0:236          Sequence
+0:236            Constant:
+0:236              0 (const int)
+0:236            Constant:
+0:236              1 (const int)
+0:236            Constant:
+0:236              2 (const int)
+0:236        Convert bool to int ( temp 3-component vector of int)
+0:236          subgroupInclusiveAnd ( global 3-component vector of bool)
+0:236            Compare Less Than ( global 3-component vector of bool)
+0:236              vector swizzle ( temp 3-component vector of int)
+0:236                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:236                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236                    Constant:
+0:236                      1 (const int)
+0:236                  Constant:
+0:236                    1 (const int)
+0:236                Sequence
+0:236                  Constant:
+0:236                    0 (const int)
+0:236                  Constant:
+0:236                    1 (const int)
+0:236                  Constant:
+0:236                    2 (const int)
+0:236              Constant:
+0:236                0 (const int)
+0:236                0 (const int)
+0:236                0 (const int)
+0:237      move second child to first child ( temp 4-component vector of int)
+0:237        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:237          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237            'invocation' ( temp uint)
+0:237          Constant:
+0:237            1 (const int)
+0:237        Convert bool to int ( temp 4-component vector of int)
+0:237          subgroupInclusiveAnd ( global 4-component vector of bool)
+0:237            Compare Less Than ( global 4-component vector of bool)
+0:237              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:237                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237                  Constant:
+0:237                    1 (const int)
+0:237                Constant:
+0:237                  1 (const int)
+0:237              Constant:
+0:237                0 (const int)
+0:237                0 (const int)
+0:237                0 (const int)
+0:237                0 (const int)
+0:239      move second child to first child ( temp int)
+0:239        direct index ( temp int)
+0:239          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:239            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239              'invocation' ( temp uint)
+0:239            Constant:
+0:239              1 (const int)
+0:239          Constant:
+0:239            0 (const int)
+0:239        subgroupInclusiveOr ( global int)
+0:239          direct index ( temp int)
+0:239            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:239              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239                Constant:
+0:239                  0 (const int)
+0:239              Constant:
+0:239                1 (const int)
+0:239            Constant:
+0:239              0 (const int)
+0:240      move second child to first child ( temp 2-component vector of int)
+0:240        vector swizzle ( temp 2-component vector of int)
+0:240          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:240            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:240              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:240              'invocation' ( temp uint)
+0:240            Constant:
+0:240              1 (const int)
+0:240          Sequence
+0:240            Constant:
+0:240              0 (const int)
+0:240            Constant:
+0:240              1 (const int)
+0:240        subgroupInclusiveOr ( global 2-component vector of int)
+0:240          vector swizzle ( temp 2-component vector of int)
+0:240            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:240              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:240                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:240                Constant:
+0:240                  1 (const int)
+0:240              Constant:
+0:240                1 (const int)
+0:240            Sequence
+0:240              Constant:
+0:240                0 (const int)
+0:240              Constant:
+0:240                1 (const int)
+0:241      move second child to first child ( temp 3-component vector of int)
+0:241        vector swizzle ( temp 3-component vector of int)
+0:241          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:241            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241              'invocation' ( temp uint)
+0:241            Constant:
+0:241              1 (const int)
+0:241          Sequence
+0:241            Constant:
+0:241              0 (const int)
+0:241            Constant:
+0:241              1 (const int)
+0:241            Constant:
+0:241              2 (const int)
+0:241        subgroupInclusiveOr ( global 3-component vector of int)
+0:241          vector swizzle ( temp 3-component vector of int)
+0:241            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:241              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241                Constant:
+0:241                  2 (const int)
+0:241              Constant:
+0:241                1 (const int)
+0:241            Sequence
+0:241              Constant:
+0:241                0 (const int)
+0:241              Constant:
+0:241                1 (const int)
+0:241              Constant:
+0:241                2 (const int)
+0:242      move second child to first child ( temp 4-component vector of int)
+0:242        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:242          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242            'invocation' ( temp uint)
+0:242          Constant:
+0:242            1 (const int)
+0:242        subgroupInclusiveOr ( global 4-component vector of int)
+0:242          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:242            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242              Constant:
+0:242                3 (const int)
+0:242            Constant:
+0:242              1 (const int)
+0:244      move second child to first child ( temp uint)
+0:244        direct index ( temp uint)
+0:244          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:244            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244              'invocation' ( temp uint)
+0:244            Constant:
+0:244              2 (const int)
+0:244          Constant:
+0:244            0 (const int)
+0:244        subgroupInclusiveOr ( global uint)
+0:244          direct index ( temp uint)
+0:244            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:244              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244                Constant:
+0:244                  0 (const int)
+0:244              Constant:
+0:244                2 (const int)
+0:244            Constant:
+0:244              0 (const int)
+0:245      move second child to first child ( temp 2-component vector of uint)
+0:245        vector swizzle ( temp 2-component vector of uint)
+0:245          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:245            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:245              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:245              'invocation' ( temp uint)
+0:245            Constant:
+0:245              2 (const int)
+0:245          Sequence
+0:245            Constant:
+0:245              0 (const int)
+0:245            Constant:
+0:245              1 (const int)
+0:245        subgroupInclusiveOr ( global 2-component vector of uint)
+0:245          vector swizzle ( temp 2-component vector of uint)
+0:245            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:245              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:245                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:245                Constant:
+0:245                  1 (const int)
+0:245              Constant:
+0:245                2 (const int)
+0:245            Sequence
+0:245              Constant:
+0:245                0 (const int)
+0:245              Constant:
+0:245                1 (const int)
+0:246      move second child to first child ( temp 3-component vector of uint)
+0:246        vector swizzle ( temp 3-component vector of uint)
+0:246          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:246            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246              'invocation' ( temp uint)
+0:246            Constant:
+0:246              2 (const int)
+0:246          Sequence
+0:246            Constant:
+0:246              0 (const int)
+0:246            Constant:
+0:246              1 (const int)
+0:246            Constant:
+0:246              2 (const int)
+0:246        subgroupInclusiveOr ( global 3-component vector of uint)
+0:246          vector swizzle ( temp 3-component vector of uint)
+0:246            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:246              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246                Constant:
+0:246                  2 (const int)
+0:246              Constant:
+0:246                2 (const int)
+0:246            Sequence
+0:246              Constant:
+0:246                0 (const int)
+0:246              Constant:
+0:246                1 (const int)
+0:246              Constant:
+0:246                2 (const int)
+0:247      move second child to first child ( temp 4-component vector of uint)
+0:247        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:247          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247            'invocation' ( temp uint)
+0:247          Constant:
+0:247            2 (const int)
+0:247        subgroupInclusiveOr ( global 4-component vector of uint)
+0:247          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:247            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247              Constant:
+0:247                3 (const int)
+0:247            Constant:
+0:247              2 (const int)
+0:249      move second child to first child ( temp int)
+0:249        direct index ( temp int)
+0:249          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:249            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249              'invocation' ( temp uint)
+0:249            Constant:
+0:249              1 (const int)
+0:249          Constant:
+0:249            0 (const int)
+0:249        Convert bool to int ( temp int)
+0:249          subgroupInclusiveOr ( global bool)
+0:249            Compare Less Than ( temp bool)
+0:249              direct index ( temp int)
+0:249                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:249                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249                    Constant:
+0:249                      0 (const int)
+0:249                  Constant:
+0:249                    1 (const int)
+0:249                Constant:
+0:249                  0 (const int)
+0:249              Constant:
+0:249                0 (const int)
+0:250      move second child to first child ( temp 2-component vector of int)
+0:250        vector swizzle ( temp 2-component vector of int)
+0:250          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:250            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:250              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:250              'invocation' ( temp uint)
+0:250            Constant:
+0:250              1 (const int)
+0:250          Sequence
+0:250            Constant:
+0:250              0 (const int)
+0:250            Constant:
+0:250              1 (const int)
+0:250        Convert bool to int ( temp 2-component vector of int)
+0:250          subgroupInclusiveOr ( global 2-component vector of bool)
+0:250            Compare Less Than ( global 2-component vector of bool)
+0:250              vector swizzle ( temp 2-component vector of int)
+0:250                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:250                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:250                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:250                    Constant:
+0:250                      1 (const int)
+0:250                  Constant:
+0:250                    1 (const int)
+0:250                Sequence
+0:250                  Constant:
+0:250                    0 (const int)
+0:250                  Constant:
+0:250                    1 (const int)
+0:250              Constant:
+0:250                0 (const int)
+0:250                0 (const int)
+0:251      move second child to first child ( temp 3-component vector of int)
+0:251        vector swizzle ( temp 3-component vector of int)
+0:251          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:251            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251              'invocation' ( temp uint)
+0:251            Constant:
+0:251              1 (const int)
+0:251          Sequence
+0:251            Constant:
+0:251              0 (const int)
+0:251            Constant:
+0:251              1 (const int)
+0:251            Constant:
+0:251              2 (const int)
+0:251        Convert bool to int ( temp 3-component vector of int)
+0:251          subgroupInclusiveOr ( global 3-component vector of bool)
+0:251            Compare Less Than ( global 3-component vector of bool)
+0:251              vector swizzle ( temp 3-component vector of int)
+0:251                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:251                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251                    Constant:
+0:251                      1 (const int)
+0:251                  Constant:
+0:251                    1 (const int)
+0:251                Sequence
+0:251                  Constant:
+0:251                    0 (const int)
+0:251                  Constant:
+0:251                    1 (const int)
+0:251                  Constant:
+0:251                    2 (const int)
+0:251              Constant:
+0:251                0 (const int)
+0:251                0 (const int)
+0:251                0 (const int)
+0:252      move second child to first child ( temp 4-component vector of int)
+0:252        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:252          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252            'invocation' ( temp uint)
+0:252          Constant:
+0:252            1 (const int)
+0:252        Convert bool to int ( temp 4-component vector of int)
+0:252          subgroupInclusiveOr ( global 4-component vector of bool)
+0:252            Compare Less Than ( global 4-component vector of bool)
+0:252              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:252                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252                  Constant:
+0:252                    1 (const int)
+0:252                Constant:
+0:252                  1 (const int)
+0:252              Constant:
+0:252                0 (const int)
+0:252                0 (const int)
+0:252                0 (const int)
+0:252                0 (const int)
+0:254      move second child to first child ( temp int)
+0:254        direct index ( temp int)
+0:254          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:254            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254              'invocation' ( temp uint)
+0:254            Constant:
+0:254              1 (const int)
+0:254          Constant:
+0:254            0 (const int)
+0:254        subgroupInclusiveXor ( global int)
+0:254          direct index ( temp int)
+0:254            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:254              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254                Constant:
+0:254                  0 (const int)
+0:254              Constant:
+0:254                1 (const int)
+0:254            Constant:
+0:254              0 (const int)
+0:255      move second child to first child ( temp 2-component vector of int)
+0:255        vector swizzle ( temp 2-component vector of int)
+0:255          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:255            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:255              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:255              'invocation' ( temp uint)
+0:255            Constant:
+0:255              1 (const int)
+0:255          Sequence
+0:255            Constant:
+0:255              0 (const int)
+0:255            Constant:
+0:255              1 (const int)
+0:255        subgroupInclusiveXor ( global 2-component vector of int)
+0:255          vector swizzle ( temp 2-component vector of int)
+0:255            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:255              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:255                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:255                Constant:
+0:255                  1 (const int)
+0:255              Constant:
+0:255                1 (const int)
+0:255            Sequence
+0:255              Constant:
+0:255                0 (const int)
+0:255              Constant:
+0:255                1 (const int)
+0:256      move second child to first child ( temp 3-component vector of int)
+0:256        vector swizzle ( temp 3-component vector of int)
+0:256          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:256            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256              'invocation' ( temp uint)
+0:256            Constant:
+0:256              1 (const int)
+0:256          Sequence
+0:256            Constant:
+0:256              0 (const int)
+0:256            Constant:
+0:256              1 (const int)
+0:256            Constant:
+0:256              2 (const int)
+0:256        subgroupInclusiveXor ( global 3-component vector of int)
+0:256          vector swizzle ( temp 3-component vector of int)
+0:256            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:256              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256                Constant:
+0:256                  2 (const int)
+0:256              Constant:
+0:256                1 (const int)
+0:256            Sequence
+0:256              Constant:
+0:256                0 (const int)
+0:256              Constant:
+0:256                1 (const int)
+0:256              Constant:
+0:256                2 (const int)
+0:257      move second child to first child ( temp 4-component vector of int)
+0:257        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:257          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257            'invocation' ( temp uint)
+0:257          Constant:
+0:257            1 (const int)
+0:257        subgroupInclusiveXor ( global 4-component vector of int)
+0:257          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:257            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257              Constant:
+0:257                3 (const int)
+0:257            Constant:
+0:257              1 (const int)
+0:259      move second child to first child ( temp uint)
+0:259        direct index ( temp uint)
+0:259          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:259            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259              'invocation' ( temp uint)
+0:259            Constant:
+0:259              2 (const int)
+0:259          Constant:
+0:259            0 (const int)
+0:259        subgroupInclusiveXor ( global uint)
+0:259          direct index ( temp uint)
+0:259            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:259              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259                Constant:
+0:259                  0 (const int)
+0:259              Constant:
+0:259                2 (const int)
+0:259            Constant:
+0:259              0 (const int)
+0:260      move second child to first child ( temp 2-component vector of uint)
+0:260        vector swizzle ( temp 2-component vector of uint)
+0:260          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:260            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:260              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:260              'invocation' ( temp uint)
+0:260            Constant:
+0:260              2 (const int)
+0:260          Sequence
+0:260            Constant:
+0:260              0 (const int)
+0:260            Constant:
+0:260              1 (const int)
+0:260        subgroupInclusiveXor ( global 2-component vector of uint)
+0:260          vector swizzle ( temp 2-component vector of uint)
+0:260            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:260              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:260                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:260                Constant:
+0:260                  1 (const int)
+0:260              Constant:
+0:260                2 (const int)
+0:260            Sequence
+0:260              Constant:
+0:260                0 (const int)
+0:260              Constant:
+0:260                1 (const int)
+0:261      move second child to first child ( temp 3-component vector of uint)
+0:261        vector swizzle ( temp 3-component vector of uint)
+0:261          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:261            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261              'invocation' ( temp uint)
+0:261            Constant:
+0:261              2 (const int)
+0:261          Sequence
+0:261            Constant:
+0:261              0 (const int)
+0:261            Constant:
+0:261              1 (const int)
+0:261            Constant:
+0:261              2 (const int)
+0:261        subgroupInclusiveXor ( global 3-component vector of uint)
+0:261          vector swizzle ( temp 3-component vector of uint)
+0:261            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:261              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261                Constant:
+0:261                  2 (const int)
+0:261              Constant:
+0:261                2 (const int)
+0:261            Sequence
+0:261              Constant:
+0:261                0 (const int)
+0:261              Constant:
+0:261                1 (const int)
+0:261              Constant:
+0:261                2 (const int)
+0:262      move second child to first child ( temp 4-component vector of uint)
+0:262        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:262          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262            'invocation' ( temp uint)
+0:262          Constant:
+0:262            2 (const int)
+0:262        subgroupInclusiveXor ( global 4-component vector of uint)
+0:262          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:262            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262              Constant:
+0:262                3 (const int)
+0:262            Constant:
+0:262              2 (const int)
+0:264      move second child to first child ( temp int)
+0:264        direct index ( temp int)
+0:264          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:264            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264              'invocation' ( temp uint)
+0:264            Constant:
+0:264              1 (const int)
+0:264          Constant:
+0:264            0 (const int)
+0:264        Convert bool to int ( temp int)
+0:264          subgroupInclusiveXor ( global bool)
+0:264            Compare Less Than ( temp bool)
+0:264              direct index ( temp int)
+0:264                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:264                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264                    Constant:
+0:264                      0 (const int)
+0:264                  Constant:
+0:264                    1 (const int)
+0:264                Constant:
+0:264                  0 (const int)
+0:264              Constant:
+0:264                0 (const int)
+0:265      move second child to first child ( temp 2-component vector of int)
+0:265        vector swizzle ( temp 2-component vector of int)
+0:265          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:265            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:265              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:265              'invocation' ( temp uint)
+0:265            Constant:
+0:265              1 (const int)
+0:265          Sequence
+0:265            Constant:
+0:265              0 (const int)
+0:265            Constant:
+0:265              1 (const int)
+0:265        Convert bool to int ( temp 2-component vector of int)
+0:265          subgroupInclusiveXor ( global 2-component vector of bool)
+0:265            Compare Less Than ( global 2-component vector of bool)
+0:265              vector swizzle ( temp 2-component vector of int)
+0:265                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:265                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:265                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:265                    Constant:
+0:265                      1 (const int)
+0:265                  Constant:
+0:265                    1 (const int)
+0:265                Sequence
+0:265                  Constant:
+0:265                    0 (const int)
+0:265                  Constant:
+0:265                    1 (const int)
+0:265              Constant:
+0:265                0 (const int)
+0:265                0 (const int)
+0:266      move second child to first child ( temp 3-component vector of int)
+0:266        vector swizzle ( temp 3-component vector of int)
+0:266          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:266            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266              'invocation' ( temp uint)
+0:266            Constant:
+0:266              1 (const int)
+0:266          Sequence
+0:266            Constant:
+0:266              0 (const int)
+0:266            Constant:
+0:266              1 (const int)
+0:266            Constant:
+0:266              2 (const int)
+0:266        Convert bool to int ( temp 3-component vector of int)
+0:266          subgroupInclusiveXor ( global 3-component vector of bool)
+0:266            Compare Less Than ( global 3-component vector of bool)
+0:266              vector swizzle ( temp 3-component vector of int)
+0:266                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:266                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266                    Constant:
+0:266                      1 (const int)
+0:266                  Constant:
+0:266                    1 (const int)
+0:266                Sequence
+0:266                  Constant:
+0:266                    0 (const int)
+0:266                  Constant:
+0:266                    1 (const int)
+0:266                  Constant:
+0:266                    2 (const int)
+0:266              Constant:
+0:266                0 (const int)
+0:266                0 (const int)
+0:266                0 (const int)
+0:267      move second child to first child ( temp 4-component vector of int)
+0:267        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:267          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267            'invocation' ( temp uint)
+0:267          Constant:
+0:267            1 (const int)
+0:267        Convert bool to int ( temp 4-component vector of int)
+0:267          subgroupInclusiveXor ( global 4-component vector of bool)
+0:267            Compare Less Than ( global 4-component vector of bool)
+0:267              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:267                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267                  Constant:
+0:267                    1 (const int)
+0:267                Constant:
+0:267                  1 (const int)
+0:267              Constant:
+0:267                0 (const int)
+0:267                0 (const int)
+0:267                0 (const int)
+0:267                0 (const int)
+0:269      move second child to first child ( temp float)
+0:269        direct index ( temp float)
+0:269          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:269            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269              'invocation' ( temp uint)
+0:269            Constant:
+0:269              0 (const int)
+0:269          Constant:
+0:269            0 (const int)
+0:269        subgroupExclusiveAdd ( global float)
+0:269          direct index ( temp float)
+0:269            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:269              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269                Constant:
+0:269                  0 (const int)
+0:269              Constant:
+0:269                0 (const int)
+0:269            Constant:
+0:269              0 (const int)
+0:270      move second child to first child ( temp 2-component vector of float)
+0:270        vector swizzle ( temp 2-component vector of float)
+0:270          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:270            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:270              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:270              'invocation' ( temp uint)
+0:270            Constant:
+0:270              0 (const int)
+0:270          Sequence
+0:270            Constant:
+0:270              0 (const int)
+0:270            Constant:
+0:270              1 (const int)
+0:270        subgroupExclusiveAdd ( global 2-component vector of float)
+0:270          vector swizzle ( temp 2-component vector of float)
+0:270            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:270              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:270                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:270                Constant:
+0:270                  1 (const int)
+0:270              Constant:
+0:270                0 (const int)
+0:270            Sequence
+0:270              Constant:
+0:270                0 (const int)
+0:270              Constant:
+0:270                1 (const int)
+0:271      move second child to first child ( temp 3-component vector of float)
+0:271        vector swizzle ( temp 3-component vector of float)
+0:271          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:271            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271              'invocation' ( temp uint)
+0:271            Constant:
+0:271              0 (const int)
+0:271          Sequence
+0:271            Constant:
+0:271              0 (const int)
+0:271            Constant:
+0:271              1 (const int)
+0:271            Constant:
+0:271              2 (const int)
+0:271        subgroupExclusiveAdd ( global 3-component vector of float)
+0:271          vector swizzle ( temp 3-component vector of float)
+0:271            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:271              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271                Constant:
+0:271                  2 (const int)
+0:271              Constant:
+0:271                0 (const int)
+0:271            Sequence
+0:271              Constant:
+0:271                0 (const int)
+0:271              Constant:
+0:271                1 (const int)
+0:271              Constant:
+0:271                2 (const int)
+0:272      move second child to first child ( temp 4-component vector of float)
+0:272        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:272          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272            'invocation' ( temp uint)
+0:272          Constant:
+0:272            0 (const int)
+0:272        subgroupExclusiveAdd ( global 4-component vector of float)
+0:272          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:272            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272              Constant:
+0:272                3 (const int)
+0:272            Constant:
+0:272              0 (const int)
+0:274      move second child to first child ( temp int)
+0:274        direct index ( temp int)
+0:274          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:274            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274              'invocation' ( temp uint)
+0:274            Constant:
+0:274              1 (const int)
+0:274          Constant:
+0:274            0 (const int)
+0:274        subgroupExclusiveAdd ( global int)
+0:274          direct index ( temp int)
+0:274            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:274              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274                Constant:
+0:274                  0 (const int)
+0:274              Constant:
+0:274                1 (const int)
+0:274            Constant:
+0:274              0 (const int)
+0:275      move second child to first child ( temp 2-component vector of int)
+0:275        vector swizzle ( temp 2-component vector of int)
+0:275          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:275            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:275              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:275              'invocation' ( temp uint)
+0:275            Constant:
+0:275              1 (const int)
+0:275          Sequence
+0:275            Constant:
+0:275              0 (const int)
+0:275            Constant:
+0:275              1 (const int)
+0:275        subgroupExclusiveAdd ( global 2-component vector of int)
+0:275          vector swizzle ( temp 2-component vector of int)
+0:275            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:275              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:275                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:275                Constant:
+0:275                  1 (const int)
+0:275              Constant:
+0:275                1 (const int)
+0:275            Sequence
+0:275              Constant:
+0:275                0 (const int)
+0:275              Constant:
+0:275                1 (const int)
+0:276      move second child to first child ( temp 3-component vector of int)
+0:276        vector swizzle ( temp 3-component vector of int)
+0:276          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:276            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276              'invocation' ( temp uint)
+0:276            Constant:
+0:276              1 (const int)
+0:276          Sequence
+0:276            Constant:
+0:276              0 (const int)
+0:276            Constant:
+0:276              1 (const int)
+0:276            Constant:
+0:276              2 (const int)
+0:276        subgroupExclusiveAdd ( global 3-component vector of int)
+0:276          vector swizzle ( temp 3-component vector of int)
+0:276            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:276              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276                Constant:
+0:276                  2 (const int)
+0:276              Constant:
+0:276                1 (const int)
+0:276            Sequence
+0:276              Constant:
+0:276                0 (const int)
+0:276              Constant:
+0:276                1 (const int)
+0:276              Constant:
+0:276                2 (const int)
+0:277      move second child to first child ( temp 4-component vector of int)
+0:277        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:277          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277            'invocation' ( temp uint)
+0:277          Constant:
+0:277            1 (const int)
+0:277        subgroupExclusiveAdd ( global 4-component vector of int)
+0:277          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:277            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277              Constant:
+0:277                3 (const int)
+0:277            Constant:
+0:277              1 (const int)
+0:279      move second child to first child ( temp uint)
+0:279        direct index ( temp uint)
+0:279          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:279            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279              'invocation' ( temp uint)
+0:279            Constant:
+0:279              2 (const int)
+0:279          Constant:
+0:279            0 (const int)
+0:279        subgroupExclusiveAdd ( global uint)
+0:279          direct index ( temp uint)
+0:279            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:279              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279                Constant:
+0:279                  0 (const int)
+0:279              Constant:
+0:279                2 (const int)
+0:279            Constant:
+0:279              0 (const int)
+0:280      move second child to first child ( temp 2-component vector of uint)
+0:280        vector swizzle ( temp 2-component vector of uint)
+0:280          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:280            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:280              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:280              'invocation' ( temp uint)
+0:280            Constant:
+0:280              2 (const int)
+0:280          Sequence
+0:280            Constant:
+0:280              0 (const int)
+0:280            Constant:
+0:280              1 (const int)
+0:280        subgroupExclusiveAdd ( global 2-component vector of uint)
+0:280          vector swizzle ( temp 2-component vector of uint)
+0:280            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:280              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:280                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:280                Constant:
+0:280                  1 (const int)
+0:280              Constant:
+0:280                2 (const int)
+0:280            Sequence
+0:280              Constant:
+0:280                0 (const int)
+0:280              Constant:
+0:280                1 (const int)
+0:281      move second child to first child ( temp 3-component vector of uint)
+0:281        vector swizzle ( temp 3-component vector of uint)
+0:281          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:281            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281              'invocation' ( temp uint)
+0:281            Constant:
+0:281              2 (const int)
+0:281          Sequence
+0:281            Constant:
+0:281              0 (const int)
+0:281            Constant:
+0:281              1 (const int)
+0:281            Constant:
+0:281              2 (const int)
+0:281        subgroupExclusiveAdd ( global 3-component vector of uint)
+0:281          vector swizzle ( temp 3-component vector of uint)
+0:281            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:281              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281                Constant:
+0:281                  2 (const int)
+0:281              Constant:
+0:281                2 (const int)
+0:281            Sequence
+0:281              Constant:
+0:281                0 (const int)
+0:281              Constant:
+0:281                1 (const int)
+0:281              Constant:
+0:281                2 (const int)
+0:282      move second child to first child ( temp 4-component vector of uint)
+0:282        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:282          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282            'invocation' ( temp uint)
+0:282          Constant:
+0:282            2 (const int)
+0:282        subgroupExclusiveAdd ( global 4-component vector of uint)
+0:282          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:282            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282              Constant:
+0:282                3 (const int)
+0:282            Constant:
+0:282              2 (const int)
+0:284      move second child to first child ( temp double)
+0:284        direct index ( temp double)
+0:284          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:284            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284              'invocation' ( temp uint)
+0:284            Constant:
+0:284              3 (const int)
+0:284          Constant:
+0:284            0 (const int)
+0:284        subgroupExclusiveAdd ( global double)
+0:284          direct index ( temp double)
+0:284            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:284              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284                Constant:
+0:284                  0 (const int)
+0:284              Constant:
+0:284                3 (const int)
+0:284            Constant:
+0:284              0 (const int)
+0:285      move second child to first child ( temp 2-component vector of double)
+0:285        vector swizzle ( temp 2-component vector of double)
+0:285          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:285            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:285              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:285              'invocation' ( temp uint)
+0:285            Constant:
+0:285              3 (const int)
+0:285          Sequence
+0:285            Constant:
+0:285              0 (const int)
+0:285            Constant:
+0:285              1 (const int)
+0:285        subgroupExclusiveAdd ( global 2-component vector of double)
+0:285          vector swizzle ( temp 2-component vector of double)
+0:285            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:285              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:285                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:285                Constant:
+0:285                  1 (const int)
+0:285              Constant:
+0:285                3 (const int)
+0:285            Sequence
+0:285              Constant:
+0:285                0 (const int)
+0:285              Constant:
+0:285                1 (const int)
+0:286      move second child to first child ( temp 3-component vector of double)
+0:286        vector swizzle ( temp 3-component vector of double)
+0:286          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:286            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286              'invocation' ( temp uint)
+0:286            Constant:
+0:286              3 (const int)
+0:286          Sequence
+0:286            Constant:
+0:286              0 (const int)
+0:286            Constant:
+0:286              1 (const int)
+0:286            Constant:
+0:286              2 (const int)
+0:286        subgroupExclusiveAdd ( global 3-component vector of double)
+0:286          vector swizzle ( temp 3-component vector of double)
+0:286            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:286              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286                Constant:
+0:286                  2 (const int)
+0:286              Constant:
+0:286                3 (const int)
+0:286            Sequence
+0:286              Constant:
+0:286                0 (const int)
+0:286              Constant:
+0:286                1 (const int)
+0:286              Constant:
+0:286                2 (const int)
+0:287      move second child to first child ( temp 4-component vector of double)
+0:287        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:287          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287            'invocation' ( temp uint)
+0:287          Constant:
+0:287            3 (const int)
+0:287        subgroupExclusiveAdd ( global 4-component vector of double)
+0:287          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:287            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287              Constant:
+0:287                3 (const int)
+0:287            Constant:
+0:287              3 (const int)
+0:289      move second child to first child ( temp float)
+0:289        direct index ( temp float)
+0:289          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:289            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289              'invocation' ( temp uint)
+0:289            Constant:
+0:289              0 (const int)
+0:289          Constant:
+0:289            0 (const int)
+0:289        subgroupExclusiveMul ( global float)
+0:289          direct index ( temp float)
+0:289            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:289              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289                Constant:
+0:289                  0 (const int)
+0:289              Constant:
+0:289                0 (const int)
+0:289            Constant:
+0:289              0 (const int)
+0:290      move second child to first child ( temp 2-component vector of float)
+0:290        vector swizzle ( temp 2-component vector of float)
+0:290          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:290            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:290              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:290              'invocation' ( temp uint)
+0:290            Constant:
+0:290              0 (const int)
+0:290          Sequence
+0:290            Constant:
+0:290              0 (const int)
+0:290            Constant:
+0:290              1 (const int)
+0:290        subgroupExclusiveMul ( global 2-component vector of float)
+0:290          vector swizzle ( temp 2-component vector of float)
+0:290            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:290              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:290                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:290                Constant:
+0:290                  1 (const int)
+0:290              Constant:
+0:290                0 (const int)
+0:290            Sequence
+0:290              Constant:
+0:290                0 (const int)
+0:290              Constant:
+0:290                1 (const int)
+0:291      move second child to first child ( temp 3-component vector of float)
+0:291        vector swizzle ( temp 3-component vector of float)
+0:291          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:291            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291              'invocation' ( temp uint)
+0:291            Constant:
+0:291              0 (const int)
+0:291          Sequence
+0:291            Constant:
+0:291              0 (const int)
+0:291            Constant:
+0:291              1 (const int)
+0:291            Constant:
+0:291              2 (const int)
+0:291        subgroupExclusiveMul ( global 3-component vector of float)
+0:291          vector swizzle ( temp 3-component vector of float)
+0:291            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:291              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291                Constant:
+0:291                  2 (const int)
+0:291              Constant:
+0:291                0 (const int)
+0:291            Sequence
+0:291              Constant:
+0:291                0 (const int)
+0:291              Constant:
+0:291                1 (const int)
+0:291              Constant:
+0:291                2 (const int)
+0:292      move second child to first child ( temp 4-component vector of float)
+0:292        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:292          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292            'invocation' ( temp uint)
+0:292          Constant:
+0:292            0 (const int)
+0:292        subgroupExclusiveMul ( global 4-component vector of float)
+0:292          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:292            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292              Constant:
+0:292                3 (const int)
+0:292            Constant:
+0:292              0 (const int)
+0:294      move second child to first child ( temp int)
+0:294        direct index ( temp int)
+0:294          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:294            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294              'invocation' ( temp uint)
+0:294            Constant:
+0:294              1 (const int)
+0:294          Constant:
+0:294            0 (const int)
+0:294        subgroupExclusiveMul ( global int)
+0:294          direct index ( temp int)
+0:294            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:294              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294                Constant:
+0:294                  0 (const int)
+0:294              Constant:
+0:294                1 (const int)
+0:294            Constant:
+0:294              0 (const int)
+0:295      move second child to first child ( temp 2-component vector of int)
+0:295        vector swizzle ( temp 2-component vector of int)
+0:295          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:295            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:295              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:295              'invocation' ( temp uint)
+0:295            Constant:
+0:295              1 (const int)
+0:295          Sequence
+0:295            Constant:
+0:295              0 (const int)
+0:295            Constant:
+0:295              1 (const int)
+0:295        subgroupExclusiveMul ( global 2-component vector of int)
+0:295          vector swizzle ( temp 2-component vector of int)
+0:295            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:295              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:295                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:295                Constant:
+0:295                  1 (const int)
+0:295              Constant:
+0:295                1 (const int)
+0:295            Sequence
+0:295              Constant:
+0:295                0 (const int)
+0:295              Constant:
+0:295                1 (const int)
+0:296      move second child to first child ( temp 3-component vector of int)
+0:296        vector swizzle ( temp 3-component vector of int)
+0:296          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:296            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296              'invocation' ( temp uint)
+0:296            Constant:
+0:296              1 (const int)
+0:296          Sequence
+0:296            Constant:
+0:296              0 (const int)
+0:296            Constant:
+0:296              1 (const int)
+0:296            Constant:
+0:296              2 (const int)
+0:296        subgroupExclusiveMul ( global 3-component vector of int)
+0:296          vector swizzle ( temp 3-component vector of int)
+0:296            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:296              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296                Constant:
+0:296                  2 (const int)
+0:296              Constant:
+0:296                1 (const int)
+0:296            Sequence
+0:296              Constant:
+0:296                0 (const int)
+0:296              Constant:
+0:296                1 (const int)
+0:296              Constant:
+0:296                2 (const int)
+0:297      move second child to first child ( temp 4-component vector of int)
+0:297        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:297          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297            'invocation' ( temp uint)
+0:297          Constant:
+0:297            1 (const int)
+0:297        subgroupExclusiveMul ( global 4-component vector of int)
+0:297          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:297            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297              Constant:
+0:297                3 (const int)
+0:297            Constant:
+0:297              1 (const int)
+0:299      move second child to first child ( temp uint)
+0:299        direct index ( temp uint)
+0:299          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:299            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299              'invocation' ( temp uint)
+0:299            Constant:
+0:299              2 (const int)
+0:299          Constant:
+0:299            0 (const int)
+0:299        subgroupExclusiveMul ( global uint)
+0:299          direct index ( temp uint)
+0:299            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:299              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299                Constant:
+0:299                  0 (const int)
+0:299              Constant:
+0:299                2 (const int)
+0:299            Constant:
+0:299              0 (const int)
+0:300      move second child to first child ( temp 2-component vector of uint)
+0:300        vector swizzle ( temp 2-component vector of uint)
+0:300          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:300            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:300              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:300              'invocation' ( temp uint)
+0:300            Constant:
+0:300              2 (const int)
+0:300          Sequence
+0:300            Constant:
+0:300              0 (const int)
+0:300            Constant:
+0:300              1 (const int)
+0:300        subgroupExclusiveMul ( global 2-component vector of uint)
+0:300          vector swizzle ( temp 2-component vector of uint)
+0:300            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:300              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:300                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:300                Constant:
+0:300                  1 (const int)
+0:300              Constant:
+0:300                2 (const int)
+0:300            Sequence
+0:300              Constant:
+0:300                0 (const int)
+0:300              Constant:
+0:300                1 (const int)
+0:301      move second child to first child ( temp 3-component vector of uint)
+0:301        vector swizzle ( temp 3-component vector of uint)
+0:301          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:301            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301              'invocation' ( temp uint)
+0:301            Constant:
+0:301              2 (const int)
+0:301          Sequence
+0:301            Constant:
+0:301              0 (const int)
+0:301            Constant:
+0:301              1 (const int)
+0:301            Constant:
+0:301              2 (const int)
+0:301        subgroupExclusiveMul ( global 3-component vector of uint)
+0:301          vector swizzle ( temp 3-component vector of uint)
+0:301            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:301              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301                Constant:
+0:301                  2 (const int)
+0:301              Constant:
+0:301                2 (const int)
+0:301            Sequence
+0:301              Constant:
+0:301                0 (const int)
+0:301              Constant:
+0:301                1 (const int)
+0:301              Constant:
+0:301                2 (const int)
+0:302      move second child to first child ( temp 4-component vector of uint)
+0:302        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:302          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302            'invocation' ( temp uint)
+0:302          Constant:
+0:302            2 (const int)
+0:302        subgroupExclusiveMul ( global 4-component vector of uint)
+0:302          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:302            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302              Constant:
+0:302                3 (const int)
+0:302            Constant:
+0:302              2 (const int)
+0:304      move second child to first child ( temp double)
+0:304        direct index ( temp double)
+0:304          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:304            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304              'invocation' ( temp uint)
+0:304            Constant:
+0:304              3 (const int)
+0:304          Constant:
+0:304            0 (const int)
+0:304        subgroupExclusiveMul ( global double)
+0:304          direct index ( temp double)
+0:304            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:304              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304                Constant:
+0:304                  0 (const int)
+0:304              Constant:
+0:304                3 (const int)
+0:304            Constant:
+0:304              0 (const int)
+0:305      move second child to first child ( temp 2-component vector of double)
+0:305        vector swizzle ( temp 2-component vector of double)
+0:305          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:305            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:305              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:305              'invocation' ( temp uint)
+0:305            Constant:
+0:305              3 (const int)
+0:305          Sequence
+0:305            Constant:
+0:305              0 (const int)
+0:305            Constant:
+0:305              1 (const int)
+0:305        subgroupExclusiveMul ( global 2-component vector of double)
+0:305          vector swizzle ( temp 2-component vector of double)
+0:305            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:305              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:305                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:305                Constant:
+0:305                  1 (const int)
+0:305              Constant:
+0:305                3 (const int)
+0:305            Sequence
+0:305              Constant:
+0:305                0 (const int)
+0:305              Constant:
+0:305                1 (const int)
+0:306      move second child to first child ( temp 3-component vector of double)
+0:306        vector swizzle ( temp 3-component vector of double)
+0:306          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:306            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306              'invocation' ( temp uint)
+0:306            Constant:
+0:306              3 (const int)
+0:306          Sequence
+0:306            Constant:
+0:306              0 (const int)
+0:306            Constant:
+0:306              1 (const int)
+0:306            Constant:
+0:306              2 (const int)
+0:306        subgroupExclusiveMul ( global 3-component vector of double)
+0:306          vector swizzle ( temp 3-component vector of double)
+0:306            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:306              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306                Constant:
+0:306                  2 (const int)
+0:306              Constant:
+0:306                3 (const int)
+0:306            Sequence
+0:306              Constant:
+0:306                0 (const int)
+0:306              Constant:
+0:306                1 (const int)
+0:306              Constant:
+0:306                2 (const int)
+0:307      move second child to first child ( temp 4-component vector of double)
+0:307        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:307          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307            'invocation' ( temp uint)
+0:307          Constant:
+0:307            3 (const int)
+0:307        subgroupExclusiveMul ( global 4-component vector of double)
+0:307          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:307            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307              Constant:
+0:307                3 (const int)
+0:307            Constant:
+0:307              3 (const int)
+0:309      move second child to first child ( temp float)
+0:309        direct index ( temp float)
+0:309          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:309            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309              'invocation' ( temp uint)
+0:309            Constant:
+0:309              0 (const int)
+0:309          Constant:
+0:309            0 (const int)
+0:309        subgroupExclusiveMin ( global float)
+0:309          direct index ( temp float)
+0:309            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:309              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309                Constant:
+0:309                  0 (const int)
+0:309              Constant:
+0:309                0 (const int)
+0:309            Constant:
+0:309              0 (const int)
+0:310      move second child to first child ( temp 2-component vector of float)
+0:310        vector swizzle ( temp 2-component vector of float)
+0:310          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:310            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:310              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:310              'invocation' ( temp uint)
+0:310            Constant:
+0:310              0 (const int)
+0:310          Sequence
+0:310            Constant:
+0:310              0 (const int)
+0:310            Constant:
+0:310              1 (const int)
+0:310        subgroupExclusiveMin ( global 2-component vector of float)
+0:310          vector swizzle ( temp 2-component vector of float)
+0:310            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:310              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:310                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:310                Constant:
+0:310                  1 (const int)
+0:310              Constant:
+0:310                0 (const int)
+0:310            Sequence
+0:310              Constant:
+0:310                0 (const int)
+0:310              Constant:
+0:310                1 (const int)
+0:311      move second child to first child ( temp 3-component vector of float)
+0:311        vector swizzle ( temp 3-component vector of float)
+0:311          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:311            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311              'invocation' ( temp uint)
+0:311            Constant:
+0:311              0 (const int)
+0:311          Sequence
+0:311            Constant:
+0:311              0 (const int)
+0:311            Constant:
+0:311              1 (const int)
+0:311            Constant:
+0:311              2 (const int)
+0:311        subgroupExclusiveMin ( global 3-component vector of float)
+0:311          vector swizzle ( temp 3-component vector of float)
+0:311            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:311              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311                Constant:
+0:311                  2 (const int)
+0:311              Constant:
+0:311                0 (const int)
+0:311            Sequence
+0:311              Constant:
+0:311                0 (const int)
+0:311              Constant:
+0:311                1 (const int)
+0:311              Constant:
+0:311                2 (const int)
+0:312      move second child to first child ( temp 4-component vector of float)
+0:312        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:312          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312            'invocation' ( temp uint)
+0:312          Constant:
+0:312            0 (const int)
+0:312        subgroupExclusiveMin ( global 4-component vector of float)
+0:312          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:312            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312              Constant:
+0:312                3 (const int)
+0:312            Constant:
+0:312              0 (const int)
+0:314      move second child to first child ( temp int)
+0:314        direct index ( temp int)
+0:314          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:314            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314              'invocation' ( temp uint)
+0:314            Constant:
+0:314              1 (const int)
+0:314          Constant:
+0:314            0 (const int)
+0:314        subgroupExclusiveMin ( global int)
+0:314          direct index ( temp int)
+0:314            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:314              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314                Constant:
+0:314                  0 (const int)
+0:314              Constant:
+0:314                1 (const int)
+0:314            Constant:
+0:314              0 (const int)
+0:315      move second child to first child ( temp 2-component vector of int)
+0:315        vector swizzle ( temp 2-component vector of int)
+0:315          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:315            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:315              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:315              'invocation' ( temp uint)
+0:315            Constant:
+0:315              1 (const int)
+0:315          Sequence
+0:315            Constant:
+0:315              0 (const int)
+0:315            Constant:
+0:315              1 (const int)
+0:315        subgroupExclusiveMin ( global 2-component vector of int)
+0:315          vector swizzle ( temp 2-component vector of int)
+0:315            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:315              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:315                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:315                Constant:
+0:315                  1 (const int)
+0:315              Constant:
+0:315                1 (const int)
+0:315            Sequence
+0:315              Constant:
+0:315                0 (const int)
+0:315              Constant:
+0:315                1 (const int)
+0:316      move second child to first child ( temp 3-component vector of int)
+0:316        vector swizzle ( temp 3-component vector of int)
+0:316          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:316            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316              'invocation' ( temp uint)
+0:316            Constant:
+0:316              1 (const int)
+0:316          Sequence
+0:316            Constant:
+0:316              0 (const int)
+0:316            Constant:
+0:316              1 (const int)
+0:316            Constant:
+0:316              2 (const int)
+0:316        subgroupExclusiveMin ( global 3-component vector of int)
+0:316          vector swizzle ( temp 3-component vector of int)
+0:316            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:316              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316                Constant:
+0:316                  2 (const int)
+0:316              Constant:
+0:316                1 (const int)
+0:316            Sequence
+0:316              Constant:
+0:316                0 (const int)
+0:316              Constant:
+0:316                1 (const int)
+0:316              Constant:
+0:316                2 (const int)
+0:317      move second child to first child ( temp 4-component vector of int)
+0:317        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:317          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317            'invocation' ( temp uint)
+0:317          Constant:
+0:317            1 (const int)
+0:317        subgroupExclusiveMin ( global 4-component vector of int)
+0:317          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:317            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317              Constant:
+0:317                3 (const int)
+0:317            Constant:
+0:317              1 (const int)
+0:319      move second child to first child ( temp uint)
+0:319        direct index ( temp uint)
+0:319          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:319            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319              'invocation' ( temp uint)
+0:319            Constant:
+0:319              2 (const int)
+0:319          Constant:
+0:319            0 (const int)
+0:319        subgroupExclusiveMin ( global uint)
+0:319          direct index ( temp uint)
+0:319            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:319              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319                Constant:
+0:319                  0 (const int)
+0:319              Constant:
+0:319                2 (const int)
+0:319            Constant:
+0:319              0 (const int)
+0:320      move second child to first child ( temp 2-component vector of uint)
+0:320        vector swizzle ( temp 2-component vector of uint)
+0:320          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:320            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:320              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:320              'invocation' ( temp uint)
+0:320            Constant:
+0:320              2 (const int)
+0:320          Sequence
+0:320            Constant:
+0:320              0 (const int)
+0:320            Constant:
+0:320              1 (const int)
+0:320        subgroupExclusiveMin ( global 2-component vector of uint)
+0:320          vector swizzle ( temp 2-component vector of uint)
+0:320            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:320              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:320                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:320                Constant:
+0:320                  1 (const int)
+0:320              Constant:
+0:320                2 (const int)
+0:320            Sequence
+0:320              Constant:
+0:320                0 (const int)
+0:320              Constant:
+0:320                1 (const int)
+0:321      move second child to first child ( temp 3-component vector of uint)
+0:321        vector swizzle ( temp 3-component vector of uint)
+0:321          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:321            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321              'invocation' ( temp uint)
+0:321            Constant:
+0:321              2 (const int)
+0:321          Sequence
+0:321            Constant:
+0:321              0 (const int)
+0:321            Constant:
+0:321              1 (const int)
+0:321            Constant:
+0:321              2 (const int)
+0:321        subgroupExclusiveMin ( global 3-component vector of uint)
+0:321          vector swizzle ( temp 3-component vector of uint)
+0:321            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:321              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321                Constant:
+0:321                  2 (const int)
+0:321              Constant:
+0:321                2 (const int)
+0:321            Sequence
+0:321              Constant:
+0:321                0 (const int)
+0:321              Constant:
+0:321                1 (const int)
+0:321              Constant:
+0:321                2 (const int)
+0:322      move second child to first child ( temp 4-component vector of uint)
+0:322        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:322          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322            'invocation' ( temp uint)
+0:322          Constant:
+0:322            2 (const int)
+0:322        subgroupExclusiveMin ( global 4-component vector of uint)
+0:322          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:322            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322              Constant:
+0:322                3 (const int)
+0:322            Constant:
+0:322              2 (const int)
+0:324      move second child to first child ( temp double)
+0:324        direct index ( temp double)
+0:324          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:324            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324              'invocation' ( temp uint)
+0:324            Constant:
+0:324              3 (const int)
+0:324          Constant:
+0:324            0 (const int)
+0:324        subgroupExclusiveMin ( global double)
+0:324          direct index ( temp double)
+0:324            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:324              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324                Constant:
+0:324                  0 (const int)
+0:324              Constant:
+0:324                3 (const int)
+0:324            Constant:
+0:324              0 (const int)
+0:325      move second child to first child ( temp 2-component vector of double)
+0:325        vector swizzle ( temp 2-component vector of double)
+0:325          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:325            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:325              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:325              'invocation' ( temp uint)
+0:325            Constant:
+0:325              3 (const int)
+0:325          Sequence
+0:325            Constant:
+0:325              0 (const int)
+0:325            Constant:
+0:325              1 (const int)
+0:325        subgroupExclusiveMin ( global 2-component vector of double)
+0:325          vector swizzle ( temp 2-component vector of double)
+0:325            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:325              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:325                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:325                Constant:
+0:325                  1 (const int)
+0:325              Constant:
+0:325                3 (const int)
+0:325            Sequence
+0:325              Constant:
+0:325                0 (const int)
+0:325              Constant:
+0:325                1 (const int)
+0:326      move second child to first child ( temp 3-component vector of double)
+0:326        vector swizzle ( temp 3-component vector of double)
+0:326          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:326            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326              'invocation' ( temp uint)
+0:326            Constant:
+0:326              3 (const int)
+0:326          Sequence
+0:326            Constant:
+0:326              0 (const int)
+0:326            Constant:
+0:326              1 (const int)
+0:326            Constant:
+0:326              2 (const int)
+0:326        subgroupExclusiveMin ( global 3-component vector of double)
+0:326          vector swizzle ( temp 3-component vector of double)
+0:326            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:326              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326                Constant:
+0:326                  2 (const int)
+0:326              Constant:
+0:326                3 (const int)
+0:326            Sequence
+0:326              Constant:
+0:326                0 (const int)
+0:326              Constant:
+0:326                1 (const int)
+0:326              Constant:
+0:326                2 (const int)
+0:327      move second child to first child ( temp 4-component vector of double)
+0:327        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:327          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327            'invocation' ( temp uint)
+0:327          Constant:
+0:327            3 (const int)
+0:327        subgroupExclusiveMin ( global 4-component vector of double)
+0:327          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:327            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327              Constant:
+0:327                3 (const int)
+0:327            Constant:
+0:327              3 (const int)
+0:329      move second child to first child ( temp float)
+0:329        direct index ( temp float)
+0:329          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:329            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329              'invocation' ( temp uint)
+0:329            Constant:
+0:329              0 (const int)
+0:329          Constant:
+0:329            0 (const int)
+0:329        subgroupExclusiveMax ( global float)
+0:329          direct index ( temp float)
+0:329            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:329              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329                Constant:
+0:329                  0 (const int)
+0:329              Constant:
+0:329                0 (const int)
+0:329            Constant:
+0:329              0 (const int)
+0:330      move second child to first child ( temp 2-component vector of float)
+0:330        vector swizzle ( temp 2-component vector of float)
+0:330          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:330            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:330              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:330              'invocation' ( temp uint)
+0:330            Constant:
+0:330              0 (const int)
+0:330          Sequence
+0:330            Constant:
+0:330              0 (const int)
+0:330            Constant:
+0:330              1 (const int)
+0:330        subgroupExclusiveMax ( global 2-component vector of float)
+0:330          vector swizzle ( temp 2-component vector of float)
+0:330            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:330              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:330                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:330                Constant:
+0:330                  1 (const int)
+0:330              Constant:
+0:330                0 (const int)
+0:330            Sequence
+0:330              Constant:
+0:330                0 (const int)
+0:330              Constant:
+0:330                1 (const int)
+0:331      move second child to first child ( temp 3-component vector of float)
+0:331        vector swizzle ( temp 3-component vector of float)
+0:331          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:331            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331              'invocation' ( temp uint)
+0:331            Constant:
+0:331              0 (const int)
+0:331          Sequence
+0:331            Constant:
+0:331              0 (const int)
+0:331            Constant:
+0:331              1 (const int)
+0:331            Constant:
+0:331              2 (const int)
+0:331        subgroupExclusiveMax ( global 3-component vector of float)
+0:331          vector swizzle ( temp 3-component vector of float)
+0:331            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:331              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331                Constant:
+0:331                  2 (const int)
+0:331              Constant:
+0:331                0 (const int)
+0:331            Sequence
+0:331              Constant:
+0:331                0 (const int)
+0:331              Constant:
+0:331                1 (const int)
+0:331              Constant:
+0:331                2 (const int)
+0:332      move second child to first child ( temp 4-component vector of float)
+0:332        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:332          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332            'invocation' ( temp uint)
+0:332          Constant:
+0:332            0 (const int)
+0:332        subgroupExclusiveMax ( global 4-component vector of float)
+0:332          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:332            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332              Constant:
+0:332                3 (const int)
+0:332            Constant:
+0:332              0 (const int)
+0:334      move second child to first child ( temp int)
+0:334        direct index ( temp int)
+0:334          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:334            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334              'invocation' ( temp uint)
+0:334            Constant:
+0:334              1 (const int)
+0:334          Constant:
+0:334            0 (const int)
+0:334        subgroupExclusiveMax ( global int)
+0:334          direct index ( temp int)
+0:334            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:334              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334                Constant:
+0:334                  0 (const int)
+0:334              Constant:
+0:334                1 (const int)
+0:334            Constant:
+0:334              0 (const int)
+0:335      move second child to first child ( temp 2-component vector of int)
+0:335        vector swizzle ( temp 2-component vector of int)
+0:335          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:335            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:335              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:335              'invocation' ( temp uint)
+0:335            Constant:
+0:335              1 (const int)
+0:335          Sequence
+0:335            Constant:
+0:335              0 (const int)
+0:335            Constant:
+0:335              1 (const int)
+0:335        subgroupExclusiveMax ( global 2-component vector of int)
+0:335          vector swizzle ( temp 2-component vector of int)
+0:335            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:335              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:335                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:335                Constant:
+0:335                  1 (const int)
+0:335              Constant:
+0:335                1 (const int)
+0:335            Sequence
+0:335              Constant:
+0:335                0 (const int)
+0:335              Constant:
+0:335                1 (const int)
+0:336      move second child to first child ( temp 3-component vector of int)
+0:336        vector swizzle ( temp 3-component vector of int)
+0:336          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:336            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336              'invocation' ( temp uint)
+0:336            Constant:
+0:336              1 (const int)
+0:336          Sequence
+0:336            Constant:
+0:336              0 (const int)
+0:336            Constant:
+0:336              1 (const int)
+0:336            Constant:
+0:336              2 (const int)
+0:336        subgroupExclusiveMax ( global 3-component vector of int)
+0:336          vector swizzle ( temp 3-component vector of int)
+0:336            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:336              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336                Constant:
+0:336                  2 (const int)
+0:336              Constant:
+0:336                1 (const int)
+0:336            Sequence
+0:336              Constant:
+0:336                0 (const int)
+0:336              Constant:
+0:336                1 (const int)
+0:336              Constant:
+0:336                2 (const int)
+0:337      move second child to first child ( temp 4-component vector of int)
+0:337        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:337          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337            'invocation' ( temp uint)
+0:337          Constant:
+0:337            1 (const int)
+0:337        subgroupExclusiveMax ( global 4-component vector of int)
+0:337          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:337            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337              Constant:
+0:337                3 (const int)
+0:337            Constant:
+0:337              1 (const int)
+0:339      move second child to first child ( temp uint)
+0:339        direct index ( temp uint)
+0:339          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:339            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339              'invocation' ( temp uint)
+0:339            Constant:
+0:339              2 (const int)
+0:339          Constant:
+0:339            0 (const int)
+0:339        subgroupExclusiveMax ( global uint)
+0:339          direct index ( temp uint)
+0:339            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:339              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339                Constant:
+0:339                  0 (const int)
+0:339              Constant:
+0:339                2 (const int)
+0:339            Constant:
+0:339              0 (const int)
+0:340      move second child to first child ( temp 2-component vector of uint)
+0:340        vector swizzle ( temp 2-component vector of uint)
+0:340          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:340            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:340              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:340              'invocation' ( temp uint)
+0:340            Constant:
+0:340              2 (const int)
+0:340          Sequence
+0:340            Constant:
+0:340              0 (const int)
+0:340            Constant:
+0:340              1 (const int)
+0:340        subgroupExclusiveMax ( global 2-component vector of uint)
+0:340          vector swizzle ( temp 2-component vector of uint)
+0:340            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:340              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:340                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:340                Constant:
+0:340                  1 (const int)
+0:340              Constant:
+0:340                2 (const int)
+0:340            Sequence
+0:340              Constant:
+0:340                0 (const int)
+0:340              Constant:
+0:340                1 (const int)
+0:341      move second child to first child ( temp 3-component vector of uint)
+0:341        vector swizzle ( temp 3-component vector of uint)
+0:341          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:341            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341              'invocation' ( temp uint)
+0:341            Constant:
+0:341              2 (const int)
+0:341          Sequence
+0:341            Constant:
+0:341              0 (const int)
+0:341            Constant:
+0:341              1 (const int)
+0:341            Constant:
+0:341              2 (const int)
+0:341        subgroupExclusiveMax ( global 3-component vector of uint)
+0:341          vector swizzle ( temp 3-component vector of uint)
+0:341            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:341              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341                Constant:
+0:341                  2 (const int)
+0:341              Constant:
+0:341                2 (const int)
+0:341            Sequence
+0:341              Constant:
+0:341                0 (const int)
+0:341              Constant:
+0:341                1 (const int)
+0:341              Constant:
+0:341                2 (const int)
+0:342      move second child to first child ( temp 4-component vector of uint)
+0:342        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:342          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342            'invocation' ( temp uint)
+0:342          Constant:
+0:342            2 (const int)
+0:342        subgroupExclusiveMax ( global 4-component vector of uint)
+0:342          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:342            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342              Constant:
+0:342                3 (const int)
+0:342            Constant:
+0:342              2 (const int)
+0:344      move second child to first child ( temp double)
+0:344        direct index ( temp double)
+0:344          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:344            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344              'invocation' ( temp uint)
+0:344            Constant:
+0:344              3 (const int)
+0:344          Constant:
+0:344            0 (const int)
+0:344        subgroupExclusiveMax ( global double)
+0:344          direct index ( temp double)
+0:344            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:344              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344                Constant:
+0:344                  0 (const int)
+0:344              Constant:
+0:344                3 (const int)
+0:344            Constant:
+0:344              0 (const int)
+0:345      move second child to first child ( temp 2-component vector of double)
+0:345        vector swizzle ( temp 2-component vector of double)
+0:345          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:345            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:345              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:345              'invocation' ( temp uint)
+0:345            Constant:
+0:345              3 (const int)
+0:345          Sequence
+0:345            Constant:
+0:345              0 (const int)
+0:345            Constant:
+0:345              1 (const int)
+0:345        subgroupExclusiveMax ( global 2-component vector of double)
+0:345          vector swizzle ( temp 2-component vector of double)
+0:345            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:345              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:345                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:345                Constant:
+0:345                  1 (const int)
+0:345              Constant:
+0:345                3 (const int)
+0:345            Sequence
+0:345              Constant:
+0:345                0 (const int)
+0:345              Constant:
+0:345                1 (const int)
+0:346      move second child to first child ( temp 3-component vector of double)
+0:346        vector swizzle ( temp 3-component vector of double)
+0:346          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:346            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346              'invocation' ( temp uint)
+0:346            Constant:
+0:346              3 (const int)
+0:346          Sequence
+0:346            Constant:
+0:346              0 (const int)
+0:346            Constant:
+0:346              1 (const int)
+0:346            Constant:
+0:346              2 (const int)
+0:346        subgroupExclusiveMax ( global 3-component vector of double)
+0:346          vector swizzle ( temp 3-component vector of double)
+0:346            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:346              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346                Constant:
+0:346                  2 (const int)
+0:346              Constant:
+0:346                3 (const int)
+0:346            Sequence
+0:346              Constant:
+0:346                0 (const int)
+0:346              Constant:
+0:346                1 (const int)
+0:346              Constant:
+0:346                2 (const int)
+0:347      move second child to first child ( temp 4-component vector of double)
+0:347        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:347          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347            'invocation' ( temp uint)
+0:347          Constant:
+0:347            3 (const int)
+0:347        subgroupExclusiveMax ( global 4-component vector of double)
+0:347          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:347            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347              Constant:
+0:347                3 (const int)
+0:347            Constant:
+0:347              3 (const int)
+0:349      move second child to first child ( temp int)
+0:349        direct index ( temp int)
+0:349          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:349            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349              'invocation' ( temp uint)
+0:349            Constant:
+0:349              1 (const int)
+0:349          Constant:
+0:349            0 (const int)
+0:349        subgroupExclusiveAnd ( global int)
+0:349          direct index ( temp int)
+0:349            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:349              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349                Constant:
+0:349                  0 (const int)
+0:349              Constant:
+0:349                1 (const int)
+0:349            Constant:
+0:349              0 (const int)
+0:350      move second child to first child ( temp 2-component vector of int)
+0:350        vector swizzle ( temp 2-component vector of int)
+0:350          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:350            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:350              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:350              'invocation' ( temp uint)
+0:350            Constant:
+0:350              1 (const int)
+0:350          Sequence
+0:350            Constant:
+0:350              0 (const int)
+0:350            Constant:
+0:350              1 (const int)
+0:350        subgroupExclusiveAnd ( global 2-component vector of int)
+0:350          vector swizzle ( temp 2-component vector of int)
+0:350            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:350              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:350                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:350                Constant:
+0:350                  1 (const int)
+0:350              Constant:
+0:350                1 (const int)
+0:350            Sequence
+0:350              Constant:
+0:350                0 (const int)
+0:350              Constant:
+0:350                1 (const int)
+0:351      move second child to first child ( temp 3-component vector of int)
+0:351        vector swizzle ( temp 3-component vector of int)
+0:351          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:351            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351              'invocation' ( temp uint)
+0:351            Constant:
+0:351              1 (const int)
+0:351          Sequence
+0:351            Constant:
+0:351              0 (const int)
+0:351            Constant:
+0:351              1 (const int)
+0:351            Constant:
+0:351              2 (const int)
+0:351        subgroupExclusiveAnd ( global 3-component vector of int)
+0:351          vector swizzle ( temp 3-component vector of int)
+0:351            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:351              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351                Constant:
+0:351                  2 (const int)
+0:351              Constant:
+0:351                1 (const int)
+0:351            Sequence
+0:351              Constant:
+0:351                0 (const int)
+0:351              Constant:
+0:351                1 (const int)
+0:351              Constant:
+0:351                2 (const int)
+0:352      move second child to first child ( temp 4-component vector of int)
+0:352        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:352          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352            'invocation' ( temp uint)
+0:352          Constant:
+0:352            1 (const int)
+0:352        subgroupExclusiveAnd ( global 4-component vector of int)
+0:352          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:352            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352              Constant:
+0:352                3 (const int)
+0:352            Constant:
+0:352              1 (const int)
+0:354      move second child to first child ( temp uint)
+0:354        direct index ( temp uint)
+0:354          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:354            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354              'invocation' ( temp uint)
+0:354            Constant:
+0:354              2 (const int)
+0:354          Constant:
+0:354            0 (const int)
+0:354        subgroupExclusiveAnd ( global uint)
+0:354          direct index ( temp uint)
+0:354            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:354              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354                Constant:
+0:354                  0 (const int)
+0:354              Constant:
+0:354                2 (const int)
+0:354            Constant:
+0:354              0 (const int)
+0:355      move second child to first child ( temp 2-component vector of uint)
+0:355        vector swizzle ( temp 2-component vector of uint)
+0:355          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:355            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:355              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:355              'invocation' ( temp uint)
+0:355            Constant:
+0:355              2 (const int)
+0:355          Sequence
+0:355            Constant:
+0:355              0 (const int)
+0:355            Constant:
+0:355              1 (const int)
+0:355        subgroupExclusiveAnd ( global 2-component vector of uint)
+0:355          vector swizzle ( temp 2-component vector of uint)
+0:355            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:355              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:355                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:355                Constant:
+0:355                  1 (const int)
+0:355              Constant:
+0:355                2 (const int)
+0:355            Sequence
+0:355              Constant:
+0:355                0 (const int)
+0:355              Constant:
+0:355                1 (const int)
+0:356      move second child to first child ( temp 3-component vector of uint)
+0:356        vector swizzle ( temp 3-component vector of uint)
+0:356          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:356            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356              'invocation' ( temp uint)
+0:356            Constant:
+0:356              2 (const int)
+0:356          Sequence
+0:356            Constant:
+0:356              0 (const int)
+0:356            Constant:
+0:356              1 (const int)
+0:356            Constant:
+0:356              2 (const int)
+0:356        subgroupExclusiveAnd ( global 3-component vector of uint)
+0:356          vector swizzle ( temp 3-component vector of uint)
+0:356            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:356              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356                Constant:
+0:356                  2 (const int)
+0:356              Constant:
+0:356                2 (const int)
+0:356            Sequence
+0:356              Constant:
+0:356                0 (const int)
+0:356              Constant:
+0:356                1 (const int)
+0:356              Constant:
+0:356                2 (const int)
+0:357      move second child to first child ( temp 4-component vector of uint)
+0:357        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:357          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357            'invocation' ( temp uint)
+0:357          Constant:
+0:357            2 (const int)
+0:357        subgroupExclusiveAnd ( global 4-component vector of uint)
+0:357          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:357            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357              Constant:
+0:357                3 (const int)
+0:357            Constant:
+0:357              2 (const int)
+0:359      move second child to first child ( temp int)
+0:359        direct index ( temp int)
+0:359          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:359            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359              'invocation' ( temp uint)
+0:359            Constant:
+0:359              1 (const int)
+0:359          Constant:
+0:359            0 (const int)
+0:359        Convert bool to int ( temp int)
+0:359          subgroupExclusiveAnd ( global bool)
+0:359            Compare Less Than ( temp bool)
+0:359              direct index ( temp int)
+0:359                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:359                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359                    Constant:
+0:359                      0 (const int)
+0:359                  Constant:
+0:359                    1 (const int)
+0:359                Constant:
+0:359                  0 (const int)
+0:359              Constant:
+0:359                0 (const int)
+0:360      move second child to first child ( temp 2-component vector of int)
+0:360        vector swizzle ( temp 2-component vector of int)
+0:360          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:360            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:360              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:360              'invocation' ( temp uint)
+0:360            Constant:
+0:360              1 (const int)
+0:360          Sequence
+0:360            Constant:
+0:360              0 (const int)
+0:360            Constant:
+0:360              1 (const int)
+0:360        Convert bool to int ( temp 2-component vector of int)
+0:360          subgroupExclusiveAnd ( global 2-component vector of bool)
+0:360            Compare Less Than ( global 2-component vector of bool)
+0:360              vector swizzle ( temp 2-component vector of int)
+0:360                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:360                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:360                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:360                    Constant:
+0:360                      1 (const int)
+0:360                  Constant:
+0:360                    1 (const int)
+0:360                Sequence
+0:360                  Constant:
+0:360                    0 (const int)
+0:360                  Constant:
+0:360                    1 (const int)
+0:360              Constant:
+0:360                0 (const int)
+0:360                0 (const int)
+0:361      move second child to first child ( temp 3-component vector of int)
+0:361        vector swizzle ( temp 3-component vector of int)
+0:361          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:361            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361              'invocation' ( temp uint)
+0:361            Constant:
+0:361              1 (const int)
+0:361          Sequence
+0:361            Constant:
+0:361              0 (const int)
+0:361            Constant:
+0:361              1 (const int)
+0:361            Constant:
+0:361              2 (const int)
+0:361        Convert bool to int ( temp 3-component vector of int)
+0:361          subgroupExclusiveAnd ( global 3-component vector of bool)
+0:361            Compare Less Than ( global 3-component vector of bool)
+0:361              vector swizzle ( temp 3-component vector of int)
+0:361                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:361                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361                    Constant:
+0:361                      1 (const int)
+0:361                  Constant:
+0:361                    1 (const int)
+0:361                Sequence
+0:361                  Constant:
+0:361                    0 (const int)
+0:361                  Constant:
+0:361                    1 (const int)
+0:361                  Constant:
+0:361                    2 (const int)
+0:361              Constant:
+0:361                0 (const int)
+0:361                0 (const int)
+0:361                0 (const int)
+0:362      move second child to first child ( temp 4-component vector of int)
+0:362        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:362          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362            'invocation' ( temp uint)
+0:362          Constant:
+0:362            1 (const int)
+0:362        Convert bool to int ( temp 4-component vector of int)
+0:362          subgroupExclusiveAnd ( global 4-component vector of bool)
+0:362            Compare Less Than ( global 4-component vector of bool)
+0:362              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:362                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362                  Constant:
+0:362                    1 (const int)
+0:362                Constant:
+0:362                  1 (const int)
+0:362              Constant:
+0:362                0 (const int)
+0:362                0 (const int)
+0:362                0 (const int)
+0:362                0 (const int)
+0:364      move second child to first child ( temp int)
+0:364        direct index ( temp int)
+0:364          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:364            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364              'invocation' ( temp uint)
+0:364            Constant:
+0:364              1 (const int)
+0:364          Constant:
+0:364            0 (const int)
+0:364        subgroupExclusiveOr ( global int)
+0:364          direct index ( temp int)
+0:364            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:364              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364                Constant:
+0:364                  0 (const int)
+0:364              Constant:
+0:364                1 (const int)
+0:364            Constant:
+0:364              0 (const int)
+0:365      move second child to first child ( temp 2-component vector of int)
+0:365        vector swizzle ( temp 2-component vector of int)
+0:365          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:365            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:365              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:365              'invocation' ( temp uint)
+0:365            Constant:
+0:365              1 (const int)
+0:365          Sequence
+0:365            Constant:
+0:365              0 (const int)
+0:365            Constant:
+0:365              1 (const int)
+0:365        subgroupExclusiveOr ( global 2-component vector of int)
+0:365          vector swizzle ( temp 2-component vector of int)
+0:365            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:365              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:365                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:365                Constant:
+0:365                  1 (const int)
+0:365              Constant:
+0:365                1 (const int)
+0:365            Sequence
+0:365              Constant:
+0:365                0 (const int)
+0:365              Constant:
+0:365                1 (const int)
+0:366      move second child to first child ( temp 3-component vector of int)
+0:366        vector swizzle ( temp 3-component vector of int)
+0:366          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:366            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366              'invocation' ( temp uint)
+0:366            Constant:
+0:366              1 (const int)
+0:366          Sequence
+0:366            Constant:
+0:366              0 (const int)
+0:366            Constant:
+0:366              1 (const int)
+0:366            Constant:
+0:366              2 (const int)
+0:366        subgroupExclusiveOr ( global 3-component vector of int)
+0:366          vector swizzle ( temp 3-component vector of int)
+0:366            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:366              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366                Constant:
+0:366                  2 (const int)
+0:366              Constant:
+0:366                1 (const int)
+0:366            Sequence
+0:366              Constant:
+0:366                0 (const int)
+0:366              Constant:
+0:366                1 (const int)
+0:366              Constant:
+0:366                2 (const int)
+0:367      move second child to first child ( temp 4-component vector of int)
+0:367        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:367          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367            'invocation' ( temp uint)
+0:367          Constant:
+0:367            1 (const int)
+0:367        subgroupExclusiveOr ( global 4-component vector of int)
+0:367          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:367            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367              Constant:
+0:367                3 (const int)
+0:367            Constant:
+0:367              1 (const int)
+0:369      move second child to first child ( temp uint)
+0:369        direct index ( temp uint)
+0:369          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:369            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369              'invocation' ( temp uint)
+0:369            Constant:
+0:369              2 (const int)
+0:369          Constant:
+0:369            0 (const int)
+0:369        subgroupExclusiveOr ( global uint)
+0:369          direct index ( temp uint)
+0:369            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:369              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369                Constant:
+0:369                  0 (const int)
+0:369              Constant:
+0:369                2 (const int)
+0:369            Constant:
+0:369              0 (const int)
+0:370      move second child to first child ( temp 2-component vector of uint)
+0:370        vector swizzle ( temp 2-component vector of uint)
+0:370          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:370            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:370              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:370              'invocation' ( temp uint)
+0:370            Constant:
+0:370              2 (const int)
+0:370          Sequence
+0:370            Constant:
+0:370              0 (const int)
+0:370            Constant:
+0:370              1 (const int)
+0:370        subgroupExclusiveOr ( global 2-component vector of uint)
+0:370          vector swizzle ( temp 2-component vector of uint)
+0:370            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:370              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:370                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:370                Constant:
+0:370                  1 (const int)
+0:370              Constant:
+0:370                2 (const int)
+0:370            Sequence
+0:370              Constant:
+0:370                0 (const int)
+0:370              Constant:
+0:370                1 (const int)
+0:371      move second child to first child ( temp 3-component vector of uint)
+0:371        vector swizzle ( temp 3-component vector of uint)
+0:371          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:371            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371              'invocation' ( temp uint)
+0:371            Constant:
+0:371              2 (const int)
+0:371          Sequence
+0:371            Constant:
+0:371              0 (const int)
+0:371            Constant:
+0:371              1 (const int)
+0:371            Constant:
+0:371              2 (const int)
+0:371        subgroupExclusiveOr ( global 3-component vector of uint)
+0:371          vector swizzle ( temp 3-component vector of uint)
+0:371            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:371              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371                Constant:
+0:371                  2 (const int)
+0:371              Constant:
+0:371                2 (const int)
+0:371            Sequence
+0:371              Constant:
+0:371                0 (const int)
+0:371              Constant:
+0:371                1 (const int)
+0:371              Constant:
+0:371                2 (const int)
+0:372      move second child to first child ( temp 4-component vector of uint)
+0:372        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:372          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372            'invocation' ( temp uint)
+0:372          Constant:
+0:372            2 (const int)
+0:372        subgroupExclusiveOr ( global 4-component vector of uint)
+0:372          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:372            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372              Constant:
+0:372                3 (const int)
+0:372            Constant:
+0:372              2 (const int)
+0:374      move second child to first child ( temp int)
+0:374        direct index ( temp int)
+0:374          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:374            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374              'invocation' ( temp uint)
+0:374            Constant:
+0:374              1 (const int)
+0:374          Constant:
+0:374            0 (const int)
+0:374        Convert bool to int ( temp int)
+0:374          subgroupExclusiveOr ( global bool)
+0:374            Compare Less Than ( temp bool)
+0:374              direct index ( temp int)
+0:374                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:374                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374                    Constant:
+0:374                      0 (const int)
+0:374                  Constant:
+0:374                    1 (const int)
+0:374                Constant:
+0:374                  0 (const int)
+0:374              Constant:
+0:374                0 (const int)
+0:375      move second child to first child ( temp 2-component vector of int)
+0:375        vector swizzle ( temp 2-component vector of int)
+0:375          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:375            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:375              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:375              'invocation' ( temp uint)
+0:375            Constant:
+0:375              1 (const int)
+0:375          Sequence
+0:375            Constant:
+0:375              0 (const int)
+0:375            Constant:
+0:375              1 (const int)
+0:375        Convert bool to int ( temp 2-component vector of int)
+0:375          subgroupExclusiveOr ( global 2-component vector of bool)
+0:375            Compare Less Than ( global 2-component vector of bool)
+0:375              vector swizzle ( temp 2-component vector of int)
+0:375                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:375                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:375                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:375                    Constant:
+0:375                      1 (const int)
+0:375                  Constant:
+0:375                    1 (const int)
+0:375                Sequence
+0:375                  Constant:
+0:375                    0 (const int)
+0:375                  Constant:
+0:375                    1 (const int)
+0:375              Constant:
+0:375                0 (const int)
+0:375                0 (const int)
+0:376      move second child to first child ( temp 3-component vector of int)
+0:376        vector swizzle ( temp 3-component vector of int)
+0:376          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:376            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376              'invocation' ( temp uint)
+0:376            Constant:
+0:376              1 (const int)
+0:376          Sequence
+0:376            Constant:
+0:376              0 (const int)
+0:376            Constant:
+0:376              1 (const int)
+0:376            Constant:
+0:376              2 (const int)
+0:376        Convert bool to int ( temp 3-component vector of int)
+0:376          subgroupExclusiveOr ( global 3-component vector of bool)
+0:376            Compare Less Than ( global 3-component vector of bool)
+0:376              vector swizzle ( temp 3-component vector of int)
+0:376                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:376                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376                    Constant:
+0:376                      1 (const int)
+0:376                  Constant:
+0:376                    1 (const int)
+0:376                Sequence
+0:376                  Constant:
+0:376                    0 (const int)
+0:376                  Constant:
+0:376                    1 (const int)
+0:376                  Constant:
+0:376                    2 (const int)
+0:376              Constant:
+0:376                0 (const int)
+0:376                0 (const int)
+0:376                0 (const int)
+0:377      move second child to first child ( temp 4-component vector of int)
+0:377        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:377          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377            'invocation' ( temp uint)
+0:377          Constant:
+0:377            1 (const int)
+0:377        Convert bool to int ( temp 4-component vector of int)
+0:377          subgroupExclusiveOr ( global 4-component vector of bool)
+0:377            Compare Less Than ( global 4-component vector of bool)
+0:377              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:377                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377                  Constant:
+0:377                    1 (const int)
+0:377                Constant:
+0:377                  1 (const int)
+0:377              Constant:
+0:377                0 (const int)
+0:377                0 (const int)
+0:377                0 (const int)
+0:377                0 (const int)
+0:379      move second child to first child ( temp int)
+0:379        direct index ( temp int)
+0:379          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:379            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379              'invocation' ( temp uint)
+0:379            Constant:
+0:379              1 (const int)
+0:379          Constant:
+0:379            0 (const int)
+0:379        subgroupExclusiveXor ( global int)
+0:379          direct index ( temp int)
+0:379            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:379              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379                Constant:
+0:379                  0 (const int)
+0:379              Constant:
+0:379                1 (const int)
+0:379            Constant:
+0:379              0 (const int)
+0:380      move second child to first child ( temp 2-component vector of int)
+0:380        vector swizzle ( temp 2-component vector of int)
+0:380          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:380            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:380              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:380              'invocation' ( temp uint)
+0:380            Constant:
+0:380              1 (const int)
+0:380          Sequence
+0:380            Constant:
+0:380              0 (const int)
+0:380            Constant:
+0:380              1 (const int)
+0:380        subgroupExclusiveXor ( global 2-component vector of int)
+0:380          vector swizzle ( temp 2-component vector of int)
+0:380            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:380              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:380                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:380                Constant:
+0:380                  1 (const int)
+0:380              Constant:
+0:380                1 (const int)
+0:380            Sequence
+0:380              Constant:
+0:380                0 (const int)
+0:380              Constant:
+0:380                1 (const int)
+0:381      move second child to first child ( temp 3-component vector of int)
+0:381        vector swizzle ( temp 3-component vector of int)
+0:381          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:381            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381              'invocation' ( temp uint)
+0:381            Constant:
+0:381              1 (const int)
+0:381          Sequence
+0:381            Constant:
+0:381              0 (const int)
+0:381            Constant:
+0:381              1 (const int)
+0:381            Constant:
+0:381              2 (const int)
+0:381        subgroupExclusiveXor ( global 3-component vector of int)
+0:381          vector swizzle ( temp 3-component vector of int)
+0:381            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:381              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381                Constant:
+0:381                  2 (const int)
+0:381              Constant:
+0:381                1 (const int)
+0:381            Sequence
+0:381              Constant:
+0:381                0 (const int)
+0:381              Constant:
+0:381                1 (const int)
+0:381              Constant:
+0:381                2 (const int)
+0:382      move second child to first child ( temp 4-component vector of int)
+0:382        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:382          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382            'invocation' ( temp uint)
+0:382          Constant:
+0:382            1 (const int)
+0:382        subgroupExclusiveXor ( global 4-component vector of int)
+0:382          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:382            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382              Constant:
+0:382                3 (const int)
+0:382            Constant:
+0:382              1 (const int)
+0:384      move second child to first child ( temp uint)
+0:384        direct index ( temp uint)
+0:384          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:384            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384              'invocation' ( temp uint)
+0:384            Constant:
+0:384              2 (const int)
+0:384          Constant:
+0:384            0 (const int)
+0:384        subgroupExclusiveXor ( global uint)
+0:384          direct index ( temp uint)
+0:384            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:384              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384                Constant:
+0:384                  0 (const int)
+0:384              Constant:
+0:384                2 (const int)
+0:384            Constant:
+0:384              0 (const int)
+0:385      move second child to first child ( temp 2-component vector of uint)
+0:385        vector swizzle ( temp 2-component vector of uint)
+0:385          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:385            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:385              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:385              'invocation' ( temp uint)
+0:385            Constant:
+0:385              2 (const int)
+0:385          Sequence
+0:385            Constant:
+0:385              0 (const int)
+0:385            Constant:
+0:385              1 (const int)
+0:385        subgroupExclusiveXor ( global 2-component vector of uint)
+0:385          vector swizzle ( temp 2-component vector of uint)
+0:385            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:385              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:385                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:385                Constant:
+0:385                  1 (const int)
+0:385              Constant:
+0:385                2 (const int)
+0:385            Sequence
+0:385              Constant:
+0:385                0 (const int)
+0:385              Constant:
+0:385                1 (const int)
+0:386      move second child to first child ( temp 3-component vector of uint)
+0:386        vector swizzle ( temp 3-component vector of uint)
+0:386          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:386            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386              'invocation' ( temp uint)
+0:386            Constant:
+0:386              2 (const int)
+0:386          Sequence
+0:386            Constant:
+0:386              0 (const int)
+0:386            Constant:
+0:386              1 (const int)
+0:386            Constant:
+0:386              2 (const int)
+0:386        subgroupExclusiveXor ( global 3-component vector of uint)
+0:386          vector swizzle ( temp 3-component vector of uint)
+0:386            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:386              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386                Constant:
+0:386                  2 (const int)
+0:386              Constant:
+0:386                2 (const int)
+0:386            Sequence
+0:386              Constant:
+0:386                0 (const int)
+0:386              Constant:
+0:386                1 (const int)
+0:386              Constant:
+0:386                2 (const int)
+0:387      move second child to first child ( temp 4-component vector of uint)
+0:387        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:387          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387            'invocation' ( temp uint)
+0:387          Constant:
+0:387            2 (const int)
+0:387        subgroupExclusiveXor ( global 4-component vector of uint)
+0:387          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:387            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387              Constant:
+0:387                3 (const int)
+0:387            Constant:
+0:387              2 (const int)
+0:389      move second child to first child ( temp int)
+0:389        direct index ( temp int)
+0:389          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:389            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389              'invocation' ( temp uint)
+0:389            Constant:
+0:389              1 (const int)
+0:389          Constant:
+0:389            0 (const int)
+0:389        Convert bool to int ( temp int)
+0:389          subgroupExclusiveXor ( global bool)
+0:389            Compare Less Than ( temp bool)
+0:389              direct index ( temp int)
+0:389                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:389                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389                    Constant:
+0:389                      0 (const int)
+0:389                  Constant:
+0:389                    1 (const int)
+0:389                Constant:
+0:389                  0 (const int)
+0:389              Constant:
+0:389                0 (const int)
+0:390      move second child to first child ( temp 2-component vector of int)
+0:390        vector swizzle ( temp 2-component vector of int)
+0:390          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:390            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:390              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:390              'invocation' ( temp uint)
+0:390            Constant:
+0:390              1 (const int)
+0:390          Sequence
+0:390            Constant:
+0:390              0 (const int)
+0:390            Constant:
+0:390              1 (const int)
+0:390        Convert bool to int ( temp 2-component vector of int)
+0:390          subgroupExclusiveXor ( global 2-component vector of bool)
+0:390            Compare Less Than ( global 2-component vector of bool)
+0:390              vector swizzle ( temp 2-component vector of int)
+0:390                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:390                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:390                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:390                    Constant:
+0:390                      1 (const int)
+0:390                  Constant:
+0:390                    1 (const int)
+0:390                Sequence
+0:390                  Constant:
+0:390                    0 (const int)
+0:390                  Constant:
+0:390                    1 (const int)
+0:390              Constant:
+0:390                0 (const int)
+0:390                0 (const int)
+0:391      move second child to first child ( temp 3-component vector of int)
+0:391        vector swizzle ( temp 3-component vector of int)
+0:391          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:391            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391              'invocation' ( temp uint)
+0:391            Constant:
+0:391              1 (const int)
+0:391          Sequence
+0:391            Constant:
+0:391              0 (const int)
+0:391            Constant:
+0:391              1 (const int)
+0:391            Constant:
+0:391              2 (const int)
+0:391        Convert bool to int ( temp 3-component vector of int)
+0:391          subgroupExclusiveXor ( global 3-component vector of bool)
+0:391            Compare Less Than ( global 3-component vector of bool)
+0:391              vector swizzle ( temp 3-component vector of int)
+0:391                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:391                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391                    Constant:
+0:391                      1 (const int)
+0:391                  Constant:
+0:391                    1 (const int)
+0:391                Sequence
+0:391                  Constant:
+0:391                    0 (const int)
+0:391                  Constant:
+0:391                    1 (const int)
+0:391                  Constant:
+0:391                    2 (const int)
+0:391              Constant:
+0:391                0 (const int)
+0:391                0 (const int)
+0:391                0 (const int)
+0:392      move second child to first child ( temp 4-component vector of int)
+0:392        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:392          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392            'invocation' ( temp uint)
+0:392          Constant:
+0:392            1 (const int)
+0:392        Convert bool to int ( temp 4-component vector of int)
+0:392          subgroupExclusiveXor ( global 4-component vector of bool)
+0:392            Compare Less Than ( global 4-component vector of bool)
+0:392              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:392                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392                  Constant:
+0:392                    1 (const int)
+0:392                Constant:
+0:392                  1 (const int)
+0:392              Constant:
+0:392                0 (const int)
+0:392                0 (const int)
+0:392                0 (const int)
+0:392                0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_arithmetic
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 1, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      move second child to first child ( temp float)
+0:19        direct index ( temp float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'invocation' ( temp uint)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            0 (const int)
+0:19        subgroupAdd ( global float)
+0:19          direct index ( temp float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:20      move second child to first child ( temp 2-component vector of float)
+0:20        vector swizzle ( temp 2-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'invocation' ( temp uint)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20        subgroupAdd ( global 2-component vector of float)
+0:20          vector swizzle ( temp 2-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                Constant:
+0:20                  1 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:21      move second child to first child ( temp 3-component vector of float)
+0:21        vector swizzle ( temp 3-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'invocation' ( temp uint)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21            Constant:
+0:21              2 (const int)
+0:21        subgroupAdd ( global 3-component vector of float)
+0:21          vector swizzle ( temp 3-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  2 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21              Constant:
+0:21                2 (const int)
+0:22      move second child to first child ( temp 4-component vector of float)
+0:22        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            0 (const int)
+0:22        subgroupAdd ( global 4-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              Constant:
+0:22                3 (const int)
+0:22            Constant:
+0:22              0 (const int)
+0:24      move second child to first child ( temp int)
+0:24        direct index ( temp int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupAdd ( global int)
+0:24          direct index ( temp int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:25      move second child to first child ( temp 2-component vector of int)
+0:25        vector swizzle ( temp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'invocation' ( temp uint)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupAdd ( global 2-component vector of int)
+0:25          vector swizzle ( temp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:26      move second child to first child ( temp 3-component vector of int)
+0:26        vector swizzle ( temp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupAdd ( global 3-component vector of int)
+0:26          vector swizzle ( temp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:27      move second child to first child ( temp 4-component vector of int)
+0:27        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            1 (const int)
+0:27        subgroupAdd ( global 4-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              Constant:
+0:27                3 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupAdd ( global uint)
+0:29          direct index ( temp uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:30      move second child to first child ( temp 2-component vector of uint)
+0:30        vector swizzle ( temp 2-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30        subgroupAdd ( global 2-component vector of uint)
+0:30          vector swizzle ( temp 2-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                Constant:
+0:30                  1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:31      move second child to first child ( temp 3-component vector of uint)
+0:31        vector swizzle ( temp 3-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'invocation' ( temp uint)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31        subgroupAdd ( global 3-component vector of uint)
+0:31          vector swizzle ( temp 3-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  2 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupAdd ( global 4-component vector of uint)
+0:32          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              Constant:
+0:32                3 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:34      move second child to first child ( temp double)
+0:34        direct index ( temp double)
+0:34          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              3 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupAdd ( global double)
+0:34          direct index ( temp double)
+0:34            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:35      move second child to first child ( temp 2-component vector of double)
+0:35        vector swizzle ( temp 2-component vector of double)
+0:35          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'invocation' ( temp uint)
+0:35            Constant:
+0:35              3 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35        subgroupAdd ( global 2-component vector of double)
+0:35          vector swizzle ( temp 2-component vector of double)
+0:35            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                3 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:36      move second child to first child ( temp 3-component vector of double)
+0:36        vector swizzle ( temp 3-component vector of double)
+0:36          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              3 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36            Constant:
+0:36              2 (const int)
+0:36        subgroupAdd ( global 3-component vector of double)
+0:36          vector swizzle ( temp 3-component vector of double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  2 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              Constant:
+0:36                2 (const int)
+0:37      move second child to first child ( temp 4-component vector of double)
+0:37        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            3 (const int)
+0:37        subgroupAdd ( global 4-component vector of double)
+0:37          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              Constant:
+0:37                3 (const int)
+0:37            Constant:
+0:37              3 (const int)
+0:39      move second child to first child ( temp float)
+0:39        direct index ( temp float)
+0:39          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'invocation' ( temp uint)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Constant:
+0:39            0 (const int)
+0:39        subgroupMul ( global float)
+0:39          direct index ( temp float)
+0:39            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:40      move second child to first child ( temp 2-component vector of float)
+0:40        vector swizzle ( temp 2-component vector of float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'invocation' ( temp uint)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40        subgroupMul ( global 2-component vector of float)
+0:40          vector swizzle ( temp 2-component vector of float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                Constant:
+0:40                  1 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:41      move second child to first child ( temp 3-component vector of float)
+0:41        vector swizzle ( temp 3-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'invocation' ( temp uint)
+0:41            Constant:
+0:41              0 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41            Constant:
+0:41              2 (const int)
+0:41        subgroupMul ( global 3-component vector of float)
+0:41          vector swizzle ( temp 3-component vector of float)
+0:41            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                Constant:
+0:41                  2 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41              Constant:
+0:41                2 (const int)
+0:42      move second child to first child ( temp 4-component vector of float)
+0:42        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            0 (const int)
+0:42        subgroupMul ( global 4-component vector of float)
+0:42          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:42            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42              Constant:
+0:42                3 (const int)
+0:42            Constant:
+0:42              0 (const int)
+0:44      move second child to first child ( temp int)
+0:44        direct index ( temp int)
+0:44          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'invocation' ( temp uint)
+0:44            Constant:
+0:44              1 (const int)
+0:44          Constant:
+0:44            0 (const int)
+0:44        subgroupMul ( global int)
+0:44          direct index ( temp int)
+0:44            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44            Constant:
+0:44              0 (const int)
+0:45      move second child to first child ( temp 2-component vector of int)
+0:45        vector swizzle ( temp 2-component vector of int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'invocation' ( temp uint)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45        subgroupMul ( global 2-component vector of int)
+0:45          vector swizzle ( temp 2-component vector of int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                Constant:
+0:45                  1 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:46      move second child to first child ( temp 3-component vector of int)
+0:46        vector swizzle ( temp 3-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              1 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46        subgroupMul ( global 3-component vector of int)
+0:46          vector swizzle ( temp 3-component vector of int)
+0:46            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:47      move second child to first child ( temp 4-component vector of int)
+0:47        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'invocation' ( temp uint)
+0:47          Constant:
+0:47            1 (const int)
+0:47        subgroupMul ( global 4-component vector of int)
+0:47          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              Constant:
+0:47                3 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:49      move second child to first child ( temp uint)
+0:49        direct index ( temp uint)
+0:49          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'invocation' ( temp uint)
+0:49            Constant:
+0:49              2 (const int)
+0:49          Constant:
+0:49            0 (const int)
+0:49        subgroupMul ( global uint)
+0:49          direct index ( temp uint)
+0:49            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                2 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:50      move second child to first child ( temp 2-component vector of uint)
+0:50        vector swizzle ( temp 2-component vector of uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'invocation' ( temp uint)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50        subgroupMul ( global 2-component vector of uint)
+0:50          vector swizzle ( temp 2-component vector of uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:51      move second child to first child ( temp 3-component vector of uint)
+0:51        vector swizzle ( temp 3-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              2 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51        subgroupMul ( global 3-component vector of uint)
+0:51          vector swizzle ( temp 3-component vector of uint)
+0:51            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  2 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:52      move second child to first child ( temp 4-component vector of uint)
+0:52        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'invocation' ( temp uint)
+0:52          Constant:
+0:52            2 (const int)
+0:52        subgroupMul ( global 4-component vector of uint)
+0:52          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              Constant:
+0:52                3 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:54      move second child to first child ( temp double)
+0:54        direct index ( temp double)
+0:54          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'invocation' ( temp uint)
+0:54            Constant:
+0:54              3 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupMul ( global double)
+0:54          direct index ( temp double)
+0:54            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                Constant:
+0:54                  0 (const int)
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:55      move second child to first child ( temp 2-component vector of double)
+0:55        vector swizzle ( temp 2-component vector of double)
+0:55          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'invocation' ( temp uint)
+0:55            Constant:
+0:55              3 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55        subgroupMul ( global 2-component vector of double)
+0:55          vector swizzle ( temp 2-component vector of double)
+0:55            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Constant:
+0:55                3 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:56      move second child to first child ( temp 3-component vector of double)
+0:56        vector swizzle ( temp 3-component vector of double)
+0:56          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              3 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56            Constant:
+0:56              2 (const int)
+0:56        subgroupMul ( global 3-component vector of double)
+0:56          vector swizzle ( temp 3-component vector of double)
+0:56            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  2 (const int)
+0:56              Constant:
+0:56                3 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:57      move second child to first child ( temp 4-component vector of double)
+0:57        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'invocation' ( temp uint)
+0:57          Constant:
+0:57            3 (const int)
+0:57        subgroupMul ( global 4-component vector of double)
+0:57          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              Constant:
+0:57                3 (const int)
+0:57            Constant:
+0:57              3 (const int)
+0:59      move second child to first child ( temp float)
+0:59        direct index ( temp float)
+0:59          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'invocation' ( temp uint)
+0:59            Constant:
+0:59              0 (const int)
+0:59          Constant:
+0:59            0 (const int)
+0:59        subgroupMin ( global float)
+0:59          direct index ( temp float)
+0:59            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                Constant:
+0:59                  0 (const int)
+0:59              Constant:
+0:59                0 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:60      move second child to first child ( temp 2-component vector of float)
+0:60        vector swizzle ( temp 2-component vector of float)
+0:60          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'invocation' ( temp uint)
+0:60            Constant:
+0:60              0 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60        subgroupMin ( global 2-component vector of float)
+0:60          vector swizzle ( temp 2-component vector of float)
+0:60            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                0 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:61      move second child to first child ( temp 3-component vector of float)
+0:61        vector swizzle ( temp 3-component vector of float)
+0:61          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              0 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61        subgroupMin ( global 3-component vector of float)
+0:61          vector swizzle ( temp 3-component vector of float)
+0:61            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  2 (const int)
+0:61              Constant:
+0:61                0 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61              Constant:
+0:61                2 (const int)
+0:62      move second child to first child ( temp 4-component vector of float)
+0:62        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'invocation' ( temp uint)
+0:62          Constant:
+0:62            0 (const int)
+0:62        subgroupMin ( global 4-component vector of float)
+0:62          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              Constant:
+0:62                3 (const int)
+0:62            Constant:
+0:62              0 (const int)
+0:64      move second child to first child ( temp int)
+0:64        direct index ( temp int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'invocation' ( temp uint)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Constant:
+0:64            0 (const int)
+0:64        subgroupMin ( global int)
+0:64          direct index ( temp int)
+0:64            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                Constant:
+0:64                  0 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:64            Constant:
+0:64              0 (const int)
+0:65      move second child to first child ( temp 2-component vector of int)
+0:65        vector swizzle ( temp 2-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'invocation' ( temp uint)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65        subgroupMin ( global 2-component vector of int)
+0:65          vector swizzle ( temp 2-component vector of int)
+0:65            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                Constant:
+0:65                  1 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65            Sequence
+0:65              Constant:
+0:65                0 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:66      move second child to first child ( temp 3-component vector of int)
+0:66        vector swizzle ( temp 3-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              1 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66        subgroupMin ( global 3-component vector of int)
+0:66          vector swizzle ( temp 3-component vector of int)
+0:66            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                Constant:
+0:66                  2 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66            Sequence
+0:66              Constant:
+0:66                0 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66              Constant:
+0:66                2 (const int)
+0:67      move second child to first child ( temp 4-component vector of int)
+0:67        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'invocation' ( temp uint)
+0:67          Constant:
+0:67            1 (const int)
+0:67        subgroupMin ( global 4-component vector of int)
+0:67          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              Constant:
+0:67                3 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:69      move second child to first child ( temp uint)
+0:69        direct index ( temp uint)
+0:69          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:69            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'invocation' ( temp uint)
+0:69            Constant:
+0:69              2 (const int)
+0:69          Constant:
+0:69            0 (const int)
+0:69        subgroupMin ( global uint)
+0:69          direct index ( temp uint)
+0:69            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                Constant:
+0:69                  0 (const int)
+0:69              Constant:
+0:69                2 (const int)
+0:69            Constant:
+0:69              0 (const int)
+0:70      move second child to first child ( temp 2-component vector of uint)
+0:70        vector swizzle ( temp 2-component vector of uint)
+0:70          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:70            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'invocation' ( temp uint)
+0:70            Constant:
+0:70              2 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70        subgroupMin ( global 2-component vector of uint)
+0:70          vector swizzle ( temp 2-component vector of uint)
+0:70            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                Constant:
+0:70                  1 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:71      move second child to first child ( temp 3-component vector of uint)
+0:71        vector swizzle ( temp 3-component vector of uint)
+0:71          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'invocation' ( temp uint)
+0:71            Constant:
+0:71              2 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71            Constant:
+0:71              2 (const int)
+0:71        subgroupMin ( global 3-component vector of uint)
+0:71          vector swizzle ( temp 3-component vector of uint)
+0:71            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                Constant:
+0:71                  2 (const int)
+0:71              Constant:
+0:71                2 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71              Constant:
+0:71                2 (const int)
+0:72      move second child to first child ( temp 4-component vector of uint)
+0:72        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'invocation' ( temp uint)
+0:72          Constant:
+0:72            2 (const int)
+0:72        subgroupMin ( global 4-component vector of uint)
+0:72          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              Constant:
+0:72                3 (const int)
+0:72            Constant:
+0:72              2 (const int)
+0:74      move second child to first child ( temp double)
+0:74        direct index ( temp double)
+0:74          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:74            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'invocation' ( temp uint)
+0:74            Constant:
+0:74              3 (const int)
+0:74          Constant:
+0:74            0 (const int)
+0:74        subgroupMin ( global double)
+0:74          direct index ( temp double)
+0:74            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:74              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                Constant:
+0:74                  0 (const int)
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              0 (const int)
+0:75      move second child to first child ( temp 2-component vector of double)
+0:75        vector swizzle ( temp 2-component vector of double)
+0:75          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:75            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'invocation' ( temp uint)
+0:75            Constant:
+0:75              3 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75        subgroupMin ( global 2-component vector of double)
+0:75          vector swizzle ( temp 2-component vector of double)
+0:75            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                Constant:
+0:75                  1 (const int)
+0:75              Constant:
+0:75                3 (const int)
+0:75            Sequence
+0:75              Constant:
+0:75                0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:76      move second child to first child ( temp 3-component vector of double)
+0:76        vector swizzle ( temp 3-component vector of double)
+0:76          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'invocation' ( temp uint)
+0:76            Constant:
+0:76              3 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76            Constant:
+0:76              2 (const int)
+0:76        subgroupMin ( global 3-component vector of double)
+0:76          vector swizzle ( temp 3-component vector of double)
+0:76            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                Constant:
+0:76                  2 (const int)
+0:76              Constant:
+0:76                3 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76              Constant:
+0:76                2 (const int)
+0:77      move second child to first child ( temp 4-component vector of double)
+0:77        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'invocation' ( temp uint)
+0:77          Constant:
+0:77            3 (const int)
+0:77        subgroupMin ( global 4-component vector of double)
+0:77          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              Constant:
+0:77                3 (const int)
+0:77            Constant:
+0:77              3 (const int)
+0:79      move second child to first child ( temp float)
+0:79        direct index ( temp float)
+0:79          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:79            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'invocation' ( temp uint)
+0:79            Constant:
+0:79              0 (const int)
+0:79          Constant:
+0:79            0 (const int)
+0:79        subgroupMax ( global float)
+0:79          direct index ( temp float)
+0:79            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                Constant:
+0:79                  0 (const int)
+0:79              Constant:
+0:79                0 (const int)
+0:79            Constant:
+0:79              0 (const int)
+0:80      move second child to first child ( temp 2-component vector of float)
+0:80        vector swizzle ( temp 2-component vector of float)
+0:80          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:80            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'invocation' ( temp uint)
+0:80            Constant:
+0:80              0 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80        subgroupMax ( global 2-component vector of float)
+0:80          vector swizzle ( temp 2-component vector of float)
+0:80            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                Constant:
+0:80                  1 (const int)
+0:80              Constant:
+0:80                0 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:81      move second child to first child ( temp 3-component vector of float)
+0:81        vector swizzle ( temp 3-component vector of float)
+0:81          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:81            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'invocation' ( temp uint)
+0:81            Constant:
+0:81              0 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81            Constant:
+0:81              2 (const int)
+0:81        subgroupMax ( global 3-component vector of float)
+0:81          vector swizzle ( temp 3-component vector of float)
+0:81            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                Constant:
+0:81                  2 (const int)
+0:81              Constant:
+0:81                0 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81              Constant:
+0:81                2 (const int)
+0:82      move second child to first child ( temp 4-component vector of float)
+0:82        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:82          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'invocation' ( temp uint)
+0:82          Constant:
+0:82            0 (const int)
+0:82        subgroupMax ( global 4-component vector of float)
+0:82          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:82            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              Constant:
+0:82                3 (const int)
+0:82            Constant:
+0:82              0 (const int)
+0:84      move second child to first child ( temp int)
+0:84        direct index ( temp int)
+0:84          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'invocation' ( temp uint)
+0:84            Constant:
+0:84              1 (const int)
+0:84          Constant:
+0:84            0 (const int)
+0:84        subgroupMax ( global int)
+0:84          direct index ( temp int)
+0:84            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                Constant:
+0:84                  0 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:84            Constant:
+0:84              0 (const int)
+0:85      move second child to first child ( temp 2-component vector of int)
+0:85        vector swizzle ( temp 2-component vector of int)
+0:85          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:85            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'invocation' ( temp uint)
+0:85            Constant:
+0:85              1 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85        subgroupMax ( global 2-component vector of int)
+0:85          vector swizzle ( temp 2-component vector of int)
+0:85            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                Constant:
+0:85                  1 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:86      move second child to first child ( temp 3-component vector of int)
+0:86        vector swizzle ( temp 3-component vector of int)
+0:86          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:86            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'invocation' ( temp uint)
+0:86            Constant:
+0:86              1 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86        subgroupMax ( global 3-component vector of int)
+0:86          vector swizzle ( temp 3-component vector of int)
+0:86            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                Constant:
+0:86                  2 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86              Constant:
+0:86                2 (const int)
+0:87      move second child to first child ( temp 4-component vector of int)
+0:87        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:87          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'invocation' ( temp uint)
+0:87          Constant:
+0:87            1 (const int)
+0:87        subgroupMax ( global 4-component vector of int)
+0:87          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:87            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              Constant:
+0:87                3 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:89      move second child to first child ( temp uint)
+0:89        direct index ( temp uint)
+0:89          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:89            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'invocation' ( temp uint)
+0:89            Constant:
+0:89              2 (const int)
+0:89          Constant:
+0:89            0 (const int)
+0:89        subgroupMax ( global uint)
+0:89          direct index ( temp uint)
+0:89            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:89              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                Constant:
+0:89                  0 (const int)
+0:89              Constant:
+0:89                2 (const int)
+0:89            Constant:
+0:89              0 (const int)
+0:90      move second child to first child ( temp 2-component vector of uint)
+0:90        vector swizzle ( temp 2-component vector of uint)
+0:90          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:90            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'invocation' ( temp uint)
+0:90            Constant:
+0:90              2 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90        subgroupMax ( global 2-component vector of uint)
+0:90          vector swizzle ( temp 2-component vector of uint)
+0:90            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:90              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                Constant:
+0:90                  1 (const int)
+0:90              Constant:
+0:90                2 (const int)
+0:90            Sequence
+0:90              Constant:
+0:90                0 (const int)
+0:90              Constant:
+0:90                1 (const int)
+0:91      move second child to first child ( temp 3-component vector of uint)
+0:91        vector swizzle ( temp 3-component vector of uint)
+0:91          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:91            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'invocation' ( temp uint)
+0:91            Constant:
+0:91              2 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91            Constant:
+0:91              2 (const int)
+0:91        subgroupMax ( global 3-component vector of uint)
+0:91          vector swizzle ( temp 3-component vector of uint)
+0:91            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:91              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                Constant:
+0:91                  2 (const int)
+0:91              Constant:
+0:91                2 (const int)
+0:91            Sequence
+0:91              Constant:
+0:91                0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91              Constant:
+0:91                2 (const int)
+0:92      move second child to first child ( temp 4-component vector of uint)
+0:92        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:92          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'invocation' ( temp uint)
+0:92          Constant:
+0:92            2 (const int)
+0:92        subgroupMax ( global 4-component vector of uint)
+0:92          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:92            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              Constant:
+0:92                3 (const int)
+0:92            Constant:
+0:92              2 (const int)
+0:94      move second child to first child ( temp double)
+0:94        direct index ( temp double)
+0:94          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:94            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'invocation' ( temp uint)
+0:94            Constant:
+0:94              3 (const int)
+0:94          Constant:
+0:94            0 (const int)
+0:94        subgroupMax ( global double)
+0:94          direct index ( temp double)
+0:94            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:94              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                Constant:
+0:94                  0 (const int)
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              0 (const int)
+0:95      move second child to first child ( temp 2-component vector of double)
+0:95        vector swizzle ( temp 2-component vector of double)
+0:95          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:95            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'invocation' ( temp uint)
+0:95            Constant:
+0:95              3 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95        subgroupMax ( global 2-component vector of double)
+0:95          vector swizzle ( temp 2-component vector of double)
+0:95            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                Constant:
+0:95                  1 (const int)
+0:95              Constant:
+0:95                3 (const int)
+0:95            Sequence
+0:95              Constant:
+0:95                0 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:96      move second child to first child ( temp 3-component vector of double)
+0:96        vector swizzle ( temp 3-component vector of double)
+0:96          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:96            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'invocation' ( temp uint)
+0:96            Constant:
+0:96              3 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96            Constant:
+0:96              2 (const int)
+0:96        subgroupMax ( global 3-component vector of double)
+0:96          vector swizzle ( temp 3-component vector of double)
+0:96            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                Constant:
+0:96                  2 (const int)
+0:96              Constant:
+0:96                3 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:96              Constant:
+0:96                2 (const int)
+0:97      move second child to first child ( temp 4-component vector of double)
+0:97        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:97          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'invocation' ( temp uint)
+0:97          Constant:
+0:97            3 (const int)
+0:97        subgroupMax ( global 4-component vector of double)
+0:97          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:97            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              Constant:
+0:97                3 (const int)
+0:97            Constant:
+0:97              3 (const int)
+0:99      move second child to first child ( temp int)
+0:99        direct index ( temp int)
+0:99          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'invocation' ( temp uint)
+0:99            Constant:
+0:99              1 (const int)
+0:99          Constant:
+0:99            0 (const int)
+0:99        subgroupAnd ( global int)
+0:99          direct index ( temp int)
+0:99            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                Constant:
+0:99                  0 (const int)
+0:99              Constant:
+0:99                1 (const int)
+0:99            Constant:
+0:99              0 (const int)
+0:100      move second child to first child ( temp 2-component vector of int)
+0:100        vector swizzle ( temp 2-component vector of int)
+0:100          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'invocation' ( temp uint)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Sequence
+0:100            Constant:
+0:100              0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100        subgroupAnd ( global 2-component vector of int)
+0:100          vector swizzle ( temp 2-component vector of int)
+0:100            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                Constant:
+0:100                  1 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Sequence
+0:100              Constant:
+0:100                0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:101      move second child to first child ( temp 3-component vector of int)
+0:101        vector swizzle ( temp 3-component vector of int)
+0:101          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'invocation' ( temp uint)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101            Constant:
+0:101              2 (const int)
+0:101        subgroupAnd ( global 3-component vector of int)
+0:101          vector swizzle ( temp 3-component vector of int)
+0:101            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                Constant:
+0:101                  2 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101              Constant:
+0:101                2 (const int)
+0:102      move second child to first child ( temp 4-component vector of int)
+0:102        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'invocation' ( temp uint)
+0:102          Constant:
+0:102            1 (const int)
+0:102        subgroupAnd ( global 4-component vector of int)
+0:102          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              Constant:
+0:102                3 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:104      move second child to first child ( temp uint)
+0:104        direct index ( temp uint)
+0:104          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'invocation' ( temp uint)
+0:104            Constant:
+0:104              2 (const int)
+0:104          Constant:
+0:104            0 (const int)
+0:104        subgroupAnd ( global uint)
+0:104          direct index ( temp uint)
+0:104            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                Constant:
+0:104                  0 (const int)
+0:104              Constant:
+0:104                2 (const int)
+0:104            Constant:
+0:104              0 (const int)
+0:105      move second child to first child ( temp 2-component vector of uint)
+0:105        vector swizzle ( temp 2-component vector of uint)
+0:105          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'invocation' ( temp uint)
+0:105            Constant:
+0:105              2 (const int)
+0:105          Sequence
+0:105            Constant:
+0:105              0 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105        subgroupAnd ( global 2-component vector of uint)
+0:105          vector swizzle ( temp 2-component vector of uint)
+0:105            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                Constant:
+0:105                  1 (const int)
+0:105              Constant:
+0:105                2 (const int)
+0:105            Sequence
+0:105              Constant:
+0:105                0 (const int)
+0:105              Constant:
+0:105                1 (const int)
+0:106      move second child to first child ( temp 3-component vector of uint)
+0:106        vector swizzle ( temp 3-component vector of uint)
+0:106          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'invocation' ( temp uint)
+0:106            Constant:
+0:106              2 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106            Constant:
+0:106              2 (const int)
+0:106        subgroupAnd ( global 3-component vector of uint)
+0:106          vector swizzle ( temp 3-component vector of uint)
+0:106            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                Constant:
+0:106                  2 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:107      move second child to first child ( temp 4-component vector of uint)
+0:107        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'invocation' ( temp uint)
+0:107          Constant:
+0:107            2 (const int)
+0:107        subgroupAnd ( global 4-component vector of uint)
+0:107          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              Constant:
+0:107                3 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:109      move second child to first child ( temp int)
+0:109        direct index ( temp int)
+0:109          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:109            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'invocation' ( temp uint)
+0:109            Constant:
+0:109              1 (const int)
+0:109          Constant:
+0:109            0 (const int)
+0:109        Convert bool to int ( temp int)
+0:109          subgroupAnd ( global bool)
+0:109            Compare Less Than ( temp bool)
+0:109              direct index ( temp int)
+0:109                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:109                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                    Constant:
+0:109                      0 (const int)
+0:109                  Constant:
+0:109                    1 (const int)
+0:109                Constant:
+0:109                  0 (const int)
+0:109              Constant:
+0:109                0 (const int)
+0:110      move second child to first child ( temp 2-component vector of int)
+0:110        vector swizzle ( temp 2-component vector of int)
+0:110          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:110            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'invocation' ( temp uint)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Sequence
+0:110            Constant:
+0:110              0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110        Convert bool to int ( temp 2-component vector of int)
+0:110          subgroupAnd ( global 2-component vector of bool)
+0:110            Compare Less Than ( global 2-component vector of bool)
+0:110              vector swizzle ( temp 2-component vector of int)
+0:110                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:110                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                    Constant:
+0:110                      1 (const int)
+0:110                  Constant:
+0:110                    1 (const int)
+0:110                Sequence
+0:110                  Constant:
+0:110                    0 (const int)
+0:110                  Constant:
+0:110                    1 (const int)
+0:110              Constant:
+0:110                0 (const int)
+0:110                0 (const int)
+0:111      move second child to first child ( temp 3-component vector of int)
+0:111        vector swizzle ( temp 3-component vector of int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'invocation' ( temp uint)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111            Constant:
+0:111              2 (const int)
+0:111        Convert bool to int ( temp 3-component vector of int)
+0:111          subgroupAnd ( global 3-component vector of bool)
+0:111            Compare Less Than ( global 3-component vector of bool)
+0:111              vector swizzle ( temp 3-component vector of int)
+0:111                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                    Constant:
+0:111                      1 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111                Sequence
+0:111                  Constant:
+0:111                    0 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111                  Constant:
+0:111                    2 (const int)
+0:111              Constant:
+0:111                0 (const int)
+0:111                0 (const int)
+0:111                0 (const int)
+0:112      move second child to first child ( temp 4-component vector of int)
+0:112        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'invocation' ( temp uint)
+0:112          Constant:
+0:112            1 (const int)
+0:112        Convert bool to int ( temp 4-component vector of int)
+0:112          subgroupAnd ( global 4-component vector of bool)
+0:112            Compare Less Than ( global 4-component vector of bool)
+0:112              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                  Constant:
+0:112                    1 (const int)
+0:112                Constant:
+0:112                  1 (const int)
+0:112              Constant:
+0:112                0 (const int)
+0:112                0 (const int)
+0:112                0 (const int)
+0:112                0 (const int)
+0:114      move second child to first child ( temp int)
+0:114        direct index ( temp int)
+0:114          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'invocation' ( temp uint)
+0:114            Constant:
+0:114              1 (const int)
+0:114          Constant:
+0:114            0 (const int)
+0:114        subgroupOr ( global int)
+0:114          direct index ( temp int)
+0:114            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                Constant:
+0:114                  0 (const int)
+0:114              Constant:
+0:114                1 (const int)
+0:114            Constant:
+0:114              0 (const int)
+0:115      move second child to first child ( temp 2-component vector of int)
+0:115        vector swizzle ( temp 2-component vector of int)
+0:115          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'invocation' ( temp uint)
+0:115            Constant:
+0:115              1 (const int)
+0:115          Sequence
+0:115            Constant:
+0:115              0 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115        subgroupOr ( global 2-component vector of int)
+0:115          vector swizzle ( temp 2-component vector of int)
+0:115            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                Constant:
+0:115                  1 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115            Sequence
+0:115              Constant:
+0:115                0 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:116      move second child to first child ( temp 3-component vector of int)
+0:116        vector swizzle ( temp 3-component vector of int)
+0:116          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'invocation' ( temp uint)
+0:116            Constant:
+0:116              1 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116            Constant:
+0:116              2 (const int)
+0:116        subgroupOr ( global 3-component vector of int)
+0:116          vector swizzle ( temp 3-component vector of int)
+0:116            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                Constant:
+0:116                  2 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116            Sequence
+0:116              Constant:
+0:116                0 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116              Constant:
+0:116                2 (const int)
+0:117      move second child to first child ( temp 4-component vector of int)
+0:117        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'invocation' ( temp uint)
+0:117          Constant:
+0:117            1 (const int)
+0:117        subgroupOr ( global 4-component vector of int)
+0:117          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              Constant:
+0:117                3 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:119      move second child to first child ( temp uint)
+0:119        direct index ( temp uint)
+0:119          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              'invocation' ( temp uint)
+0:119            Constant:
+0:119              2 (const int)
+0:119          Constant:
+0:119            0 (const int)
+0:119        subgroupOr ( global uint)
+0:119          direct index ( temp uint)
+0:119            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119                Constant:
+0:119                  0 (const int)
+0:119              Constant:
+0:119                2 (const int)
+0:119            Constant:
+0:119              0 (const int)
+0:120      move second child to first child ( temp 2-component vector of uint)
+0:120        vector swizzle ( temp 2-component vector of uint)
+0:120          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:120            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120              'invocation' ( temp uint)
+0:120            Constant:
+0:120              2 (const int)
+0:120          Sequence
+0:120            Constant:
+0:120              0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120        subgroupOr ( global 2-component vector of uint)
+0:120          vector swizzle ( temp 2-component vector of uint)
+0:120            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:120              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120                Constant:
+0:120                  1 (const int)
+0:120              Constant:
+0:120                2 (const int)
+0:120            Sequence
+0:120              Constant:
+0:120                0 (const int)
+0:120              Constant:
+0:120                1 (const int)
+0:121      move second child to first child ( temp 3-component vector of uint)
+0:121        vector swizzle ( temp 3-component vector of uint)
+0:121          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:121            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'invocation' ( temp uint)
+0:121            Constant:
+0:121              2 (const int)
+0:121          Sequence
+0:121            Constant:
+0:121              0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121            Constant:
+0:121              2 (const int)
+0:121        subgroupOr ( global 3-component vector of uint)
+0:121          vector swizzle ( temp 3-component vector of uint)
+0:121            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:121              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                Constant:
+0:121                  2 (const int)
+0:121              Constant:
+0:121                2 (const int)
+0:121            Sequence
+0:121              Constant:
+0:121                0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:121              Constant:
+0:121                2 (const int)
+0:122      move second child to first child ( temp 4-component vector of uint)
+0:122        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:122          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122            'invocation' ( temp uint)
+0:122          Constant:
+0:122            2 (const int)
+0:122        subgroupOr ( global 4-component vector of uint)
+0:122          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:122            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              Constant:
+0:122                3 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:124      move second child to first child ( temp int)
+0:124        direct index ( temp int)
+0:124          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:124            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              'invocation' ( temp uint)
+0:124            Constant:
+0:124              1 (const int)
+0:124          Constant:
+0:124            0 (const int)
+0:124        Convert bool to int ( temp int)
+0:124          subgroupOr ( global bool)
+0:124            Compare Less Than ( temp bool)
+0:124              direct index ( temp int)
+0:124                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:124                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124                    Constant:
+0:124                      0 (const int)
+0:124                  Constant:
+0:124                    1 (const int)
+0:124                Constant:
+0:124                  0 (const int)
+0:124              Constant:
+0:124                0 (const int)
+0:125      move second child to first child ( temp 2-component vector of int)
+0:125        vector swizzle ( temp 2-component vector of int)
+0:125          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:125            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125              'invocation' ( temp uint)
+0:125            Constant:
+0:125              1 (const int)
+0:125          Sequence
+0:125            Constant:
+0:125              0 (const int)
+0:125            Constant:
+0:125              1 (const int)
+0:125        Convert bool to int ( temp 2-component vector of int)
+0:125          subgroupOr ( global 2-component vector of bool)
+0:125            Compare Less Than ( global 2-component vector of bool)
+0:125              vector swizzle ( temp 2-component vector of int)
+0:125                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:125                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125                    Constant:
+0:125                      1 (const int)
+0:125                  Constant:
+0:125                    1 (const int)
+0:125                Sequence
+0:125                  Constant:
+0:125                    0 (const int)
+0:125                  Constant:
+0:125                    1 (const int)
+0:125              Constant:
+0:125                0 (const int)
+0:125                0 (const int)
+0:126      move second child to first child ( temp 3-component vector of int)
+0:126        vector swizzle ( temp 3-component vector of int)
+0:126          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'invocation' ( temp uint)
+0:126            Constant:
+0:126              1 (const int)
+0:126          Sequence
+0:126            Constant:
+0:126              0 (const int)
+0:126            Constant:
+0:126              1 (const int)
+0:126            Constant:
+0:126              2 (const int)
+0:126        Convert bool to int ( temp 3-component vector of int)
+0:126          subgroupOr ( global 3-component vector of bool)
+0:126            Compare Less Than ( global 3-component vector of bool)
+0:126              vector swizzle ( temp 3-component vector of int)
+0:126                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                    Constant:
+0:126                      1 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126                Sequence
+0:126                  Constant:
+0:126                    0 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126                  Constant:
+0:126                    2 (const int)
+0:126              Constant:
+0:126                0 (const int)
+0:126                0 (const int)
+0:126                0 (const int)
+0:127      move second child to first child ( temp 4-component vector of int)
+0:127        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127            'invocation' ( temp uint)
+0:127          Constant:
+0:127            1 (const int)
+0:127        Convert bool to int ( temp 4-component vector of int)
+0:127          subgroupOr ( global 4-component vector of bool)
+0:127            Compare Less Than ( global 4-component vector of bool)
+0:127              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                  Constant:
+0:127                    1 (const int)
+0:127                Constant:
+0:127                  1 (const int)
+0:127              Constant:
+0:127                0 (const int)
+0:127                0 (const int)
+0:127                0 (const int)
+0:127                0 (const int)
+0:129      move second child to first child ( temp int)
+0:129        direct index ( temp int)
+0:129          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              'invocation' ( temp uint)
+0:129            Constant:
+0:129              1 (const int)
+0:129          Constant:
+0:129            0 (const int)
+0:129        subgroupXor ( global int)
+0:129          direct index ( temp int)
+0:129            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129                Constant:
+0:129                  0 (const int)
+0:129              Constant:
+0:129                1 (const int)
+0:129            Constant:
+0:129              0 (const int)
+0:130      move second child to first child ( temp 2-component vector of int)
+0:130        vector swizzle ( temp 2-component vector of int)
+0:130          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:130            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130              'invocation' ( temp uint)
+0:130            Constant:
+0:130              1 (const int)
+0:130          Sequence
+0:130            Constant:
+0:130              0 (const int)
+0:130            Constant:
+0:130              1 (const int)
+0:130        subgroupXor ( global 2-component vector of int)
+0:130          vector swizzle ( temp 2-component vector of int)
+0:130            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:130              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130                Constant:
+0:130                  1 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130            Sequence
+0:130              Constant:
+0:130                0 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:131      move second child to first child ( temp 3-component vector of int)
+0:131        vector swizzle ( temp 3-component vector of int)
+0:131          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:131            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'invocation' ( temp uint)
+0:131            Constant:
+0:131              1 (const int)
+0:131          Sequence
+0:131            Constant:
+0:131              0 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:131            Constant:
+0:131              2 (const int)
+0:131        subgroupXor ( global 3-component vector of int)
+0:131          vector swizzle ( temp 3-component vector of int)
+0:131            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:131              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                Constant:
+0:131                  2 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131            Sequence
+0:131              Constant:
+0:131                0 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131              Constant:
+0:131                2 (const int)
+0:132      move second child to first child ( temp 4-component vector of int)
+0:132        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:132          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132            'invocation' ( temp uint)
+0:132          Constant:
+0:132            1 (const int)
+0:132        subgroupXor ( global 4-component vector of int)
+0:132          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:132            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              Constant:
+0:132                3 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:134      move second child to first child ( temp uint)
+0:134        direct index ( temp uint)
+0:134          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              'invocation' ( temp uint)
+0:134            Constant:
+0:134              2 (const int)
+0:134          Constant:
+0:134            0 (const int)
+0:134        subgroupXor ( global uint)
+0:134          direct index ( temp uint)
+0:134            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134                Constant:
+0:134                  0 (const int)
+0:134              Constant:
+0:134                2 (const int)
+0:134            Constant:
+0:134              0 (const int)
+0:135      move second child to first child ( temp 2-component vector of uint)
+0:135        vector swizzle ( temp 2-component vector of uint)
+0:135          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:135            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135              'invocation' ( temp uint)
+0:135            Constant:
+0:135              2 (const int)
+0:135          Sequence
+0:135            Constant:
+0:135              0 (const int)
+0:135            Constant:
+0:135              1 (const int)
+0:135        subgroupXor ( global 2-component vector of uint)
+0:135          vector swizzle ( temp 2-component vector of uint)
+0:135            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:135              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135                Constant:
+0:135                  1 (const int)
+0:135              Constant:
+0:135                2 (const int)
+0:135            Sequence
+0:135              Constant:
+0:135                0 (const int)
+0:135              Constant:
+0:135                1 (const int)
+0:136      move second child to first child ( temp 3-component vector of uint)
+0:136        vector swizzle ( temp 3-component vector of uint)
+0:136          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:136            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'invocation' ( temp uint)
+0:136            Constant:
+0:136              2 (const int)
+0:136          Sequence
+0:136            Constant:
+0:136              0 (const int)
+0:136            Constant:
+0:136              1 (const int)
+0:136            Constant:
+0:136              2 (const int)
+0:136        subgroupXor ( global 3-component vector of uint)
+0:136          vector swizzle ( temp 3-component vector of uint)
+0:136            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:136              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                Constant:
+0:136                  2 (const int)
+0:136              Constant:
+0:136                2 (const int)
+0:136            Sequence
+0:136              Constant:
+0:136                0 (const int)
+0:136              Constant:
+0:136                1 (const int)
+0:136              Constant:
+0:136                2 (const int)
+0:137      move second child to first child ( temp 4-component vector of uint)
+0:137        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:137          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137            'invocation' ( temp uint)
+0:137          Constant:
+0:137            2 (const int)
+0:137        subgroupXor ( global 4-component vector of uint)
+0:137          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:137            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              Constant:
+0:137                3 (const int)
+0:137            Constant:
+0:137              2 (const int)
+0:139      move second child to first child ( temp int)
+0:139        direct index ( temp int)
+0:139          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139              'invocation' ( temp uint)
+0:139            Constant:
+0:139              1 (const int)
+0:139          Constant:
+0:139            0 (const int)
+0:139        Convert bool to int ( temp int)
+0:139          subgroupXor ( global bool)
+0:139            Compare Less Than ( temp bool)
+0:139              direct index ( temp int)
+0:139                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                    Constant:
+0:139                      0 (const int)
+0:139                  Constant:
+0:139                    1 (const int)
+0:139                Constant:
+0:139                  0 (const int)
+0:139              Constant:
+0:139                0 (const int)
+0:140      move second child to first child ( temp 2-component vector of int)
+0:140        vector swizzle ( temp 2-component vector of int)
+0:140          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:140            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140              'invocation' ( temp uint)
+0:140            Constant:
+0:140              1 (const int)
+0:140          Sequence
+0:140            Constant:
+0:140              0 (const int)
+0:140            Constant:
+0:140              1 (const int)
+0:140        Convert bool to int ( temp 2-component vector of int)
+0:140          subgroupXor ( global 2-component vector of bool)
+0:140            Compare Less Than ( global 2-component vector of bool)
+0:140              vector swizzle ( temp 2-component vector of int)
+0:140                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:140                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140                    Constant:
+0:140                      1 (const int)
+0:140                  Constant:
+0:140                    1 (const int)
+0:140                Sequence
+0:140                  Constant:
+0:140                    0 (const int)
+0:140                  Constant:
+0:140                    1 (const int)
+0:140              Constant:
+0:140                0 (const int)
+0:140                0 (const int)
+0:141      move second child to first child ( temp 3-component vector of int)
+0:141        vector swizzle ( temp 3-component vector of int)
+0:141          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'invocation' ( temp uint)
+0:141            Constant:
+0:141              1 (const int)
+0:141          Sequence
+0:141            Constant:
+0:141              0 (const int)
+0:141            Constant:
+0:141              1 (const int)
+0:141            Constant:
+0:141              2 (const int)
+0:141        Convert bool to int ( temp 3-component vector of int)
+0:141          subgroupXor ( global 3-component vector of bool)
+0:141            Compare Less Than ( global 3-component vector of bool)
+0:141              vector swizzle ( temp 3-component vector of int)
+0:141                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                    Constant:
+0:141                      1 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141                Sequence
+0:141                  Constant:
+0:141                    0 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141                  Constant:
+0:141                    2 (const int)
+0:141              Constant:
+0:141                0 (const int)
+0:141                0 (const int)
+0:141                0 (const int)
+0:142      move second child to first child ( temp 4-component vector of int)
+0:142        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142            'invocation' ( temp uint)
+0:142          Constant:
+0:142            1 (const int)
+0:142        Convert bool to int ( temp 4-component vector of int)
+0:142          subgroupXor ( global 4-component vector of bool)
+0:142            Compare Less Than ( global 4-component vector of bool)
+0:142              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                  Constant:
+0:142                    1 (const int)
+0:142                Constant:
+0:142                  1 (const int)
+0:142              Constant:
+0:142                0 (const int)
+0:142                0 (const int)
+0:142                0 (const int)
+0:142                0 (const int)
+0:144      move second child to first child ( temp float)
+0:144        direct index ( temp float)
+0:144          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:144            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144              'invocation' ( temp uint)
+0:144            Constant:
+0:144              0 (const int)
+0:144          Constant:
+0:144            0 (const int)
+0:144        subgroupInclusiveAdd ( global float)
+0:144          direct index ( temp float)
+0:144            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:144              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144                Constant:
+0:144                  0 (const int)
+0:144              Constant:
+0:144                0 (const int)
+0:144            Constant:
+0:144              0 (const int)
+0:145      move second child to first child ( temp 2-component vector of float)
+0:145        vector swizzle ( temp 2-component vector of float)
+0:145          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:145            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:145              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:145              'invocation' ( temp uint)
+0:145            Constant:
+0:145              0 (const int)
+0:145          Sequence
+0:145            Constant:
+0:145              0 (const int)
+0:145            Constant:
+0:145              1 (const int)
+0:145        subgroupInclusiveAdd ( global 2-component vector of float)
+0:145          vector swizzle ( temp 2-component vector of float)
+0:145            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:145              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:145                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:145                Constant:
+0:145                  1 (const int)
+0:145              Constant:
+0:145                0 (const int)
+0:145            Sequence
+0:145              Constant:
+0:145                0 (const int)
+0:145              Constant:
+0:145                1 (const int)
+0:146      move second child to first child ( temp 3-component vector of float)
+0:146        vector swizzle ( temp 3-component vector of float)
+0:146          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:146            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146              'invocation' ( temp uint)
+0:146            Constant:
+0:146              0 (const int)
+0:146          Sequence
+0:146            Constant:
+0:146              0 (const int)
+0:146            Constant:
+0:146              1 (const int)
+0:146            Constant:
+0:146              2 (const int)
+0:146        subgroupInclusiveAdd ( global 3-component vector of float)
+0:146          vector swizzle ( temp 3-component vector of float)
+0:146            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:146              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146                Constant:
+0:146                  2 (const int)
+0:146              Constant:
+0:146                0 (const int)
+0:146            Sequence
+0:146              Constant:
+0:146                0 (const int)
+0:146              Constant:
+0:146                1 (const int)
+0:146              Constant:
+0:146                2 (const int)
+0:147      move second child to first child ( temp 4-component vector of float)
+0:147        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:147          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147            'invocation' ( temp uint)
+0:147          Constant:
+0:147            0 (const int)
+0:147        subgroupInclusiveAdd ( global 4-component vector of float)
+0:147          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:147            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147              Constant:
+0:147                3 (const int)
+0:147            Constant:
+0:147              0 (const int)
+0:149      move second child to first child ( temp int)
+0:149        direct index ( temp int)
+0:149          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:149            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149              'invocation' ( temp uint)
+0:149            Constant:
+0:149              1 (const int)
+0:149          Constant:
+0:149            0 (const int)
+0:149        subgroupInclusiveAdd ( global int)
+0:149          direct index ( temp int)
+0:149            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:149              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149                Constant:
+0:149                  0 (const int)
+0:149              Constant:
+0:149                1 (const int)
+0:149            Constant:
+0:149              0 (const int)
+0:150      move second child to first child ( temp 2-component vector of int)
+0:150        vector swizzle ( temp 2-component vector of int)
+0:150          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:150            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:150              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:150              'invocation' ( temp uint)
+0:150            Constant:
+0:150              1 (const int)
+0:150          Sequence
+0:150            Constant:
+0:150              0 (const int)
+0:150            Constant:
+0:150              1 (const int)
+0:150        subgroupInclusiveAdd ( global 2-component vector of int)
+0:150          vector swizzle ( temp 2-component vector of int)
+0:150            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:150              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:150                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:150                Constant:
+0:150                  1 (const int)
+0:150              Constant:
+0:150                1 (const int)
+0:150            Sequence
+0:150              Constant:
+0:150                0 (const int)
+0:150              Constant:
+0:150                1 (const int)
+0:151      move second child to first child ( temp 3-component vector of int)
+0:151        vector swizzle ( temp 3-component vector of int)
+0:151          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:151            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151              'invocation' ( temp uint)
+0:151            Constant:
+0:151              1 (const int)
+0:151          Sequence
+0:151            Constant:
+0:151              0 (const int)
+0:151            Constant:
+0:151              1 (const int)
+0:151            Constant:
+0:151              2 (const int)
+0:151        subgroupInclusiveAdd ( global 3-component vector of int)
+0:151          vector swizzle ( temp 3-component vector of int)
+0:151            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:151              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151                Constant:
+0:151                  2 (const int)
+0:151              Constant:
+0:151                1 (const int)
+0:151            Sequence
+0:151              Constant:
+0:151                0 (const int)
+0:151              Constant:
+0:151                1 (const int)
+0:151              Constant:
+0:151                2 (const int)
+0:152      move second child to first child ( temp 4-component vector of int)
+0:152        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:152          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152            'invocation' ( temp uint)
+0:152          Constant:
+0:152            1 (const int)
+0:152        subgroupInclusiveAdd ( global 4-component vector of int)
+0:152          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:152            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152              Constant:
+0:152                3 (const int)
+0:152            Constant:
+0:152              1 (const int)
+0:154      move second child to first child ( temp uint)
+0:154        direct index ( temp uint)
+0:154          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:154            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154              'invocation' ( temp uint)
+0:154            Constant:
+0:154              2 (const int)
+0:154          Constant:
+0:154            0 (const int)
+0:154        subgroupInclusiveAdd ( global uint)
+0:154          direct index ( temp uint)
+0:154            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:154              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154                Constant:
+0:154                  0 (const int)
+0:154              Constant:
+0:154                2 (const int)
+0:154            Constant:
+0:154              0 (const int)
+0:155      move second child to first child ( temp 2-component vector of uint)
+0:155        vector swizzle ( temp 2-component vector of uint)
+0:155          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:155            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:155              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:155              'invocation' ( temp uint)
+0:155            Constant:
+0:155              2 (const int)
+0:155          Sequence
+0:155            Constant:
+0:155              0 (const int)
+0:155            Constant:
+0:155              1 (const int)
+0:155        subgroupInclusiveAdd ( global 2-component vector of uint)
+0:155          vector swizzle ( temp 2-component vector of uint)
+0:155            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:155              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:155                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:155                Constant:
+0:155                  1 (const int)
+0:155              Constant:
+0:155                2 (const int)
+0:155            Sequence
+0:155              Constant:
+0:155                0 (const int)
+0:155              Constant:
+0:155                1 (const int)
+0:156      move second child to first child ( temp 3-component vector of uint)
+0:156        vector swizzle ( temp 3-component vector of uint)
+0:156          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:156            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156              'invocation' ( temp uint)
+0:156            Constant:
+0:156              2 (const int)
+0:156          Sequence
+0:156            Constant:
+0:156              0 (const int)
+0:156            Constant:
+0:156              1 (const int)
+0:156            Constant:
+0:156              2 (const int)
+0:156        subgroupInclusiveAdd ( global 3-component vector of uint)
+0:156          vector swizzle ( temp 3-component vector of uint)
+0:156            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:156              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156                Constant:
+0:156                  2 (const int)
+0:156              Constant:
+0:156                2 (const int)
+0:156            Sequence
+0:156              Constant:
+0:156                0 (const int)
+0:156              Constant:
+0:156                1 (const int)
+0:156              Constant:
+0:156                2 (const int)
+0:157      move second child to first child ( temp 4-component vector of uint)
+0:157        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:157          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157            'invocation' ( temp uint)
+0:157          Constant:
+0:157            2 (const int)
+0:157        subgroupInclusiveAdd ( global 4-component vector of uint)
+0:157          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:157            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157              Constant:
+0:157                3 (const int)
+0:157            Constant:
+0:157              2 (const int)
+0:159      move second child to first child ( temp double)
+0:159        direct index ( temp double)
+0:159          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:159            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159              'invocation' ( temp uint)
+0:159            Constant:
+0:159              3 (const int)
+0:159          Constant:
+0:159            0 (const int)
+0:159        subgroupInclusiveAdd ( global double)
+0:159          direct index ( temp double)
+0:159            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:159              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159                Constant:
+0:159                  0 (const int)
+0:159              Constant:
+0:159                3 (const int)
+0:159            Constant:
+0:159              0 (const int)
+0:160      move second child to first child ( temp 2-component vector of double)
+0:160        vector swizzle ( temp 2-component vector of double)
+0:160          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:160            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:160              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:160              'invocation' ( temp uint)
+0:160            Constant:
+0:160              3 (const int)
+0:160          Sequence
+0:160            Constant:
+0:160              0 (const int)
+0:160            Constant:
+0:160              1 (const int)
+0:160        subgroupInclusiveAdd ( global 2-component vector of double)
+0:160          vector swizzle ( temp 2-component vector of double)
+0:160            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:160              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:160                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:160                Constant:
+0:160                  1 (const int)
+0:160              Constant:
+0:160                3 (const int)
+0:160            Sequence
+0:160              Constant:
+0:160                0 (const int)
+0:160              Constant:
+0:160                1 (const int)
+0:161      move second child to first child ( temp 3-component vector of double)
+0:161        vector swizzle ( temp 3-component vector of double)
+0:161          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:161            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161              'invocation' ( temp uint)
+0:161            Constant:
+0:161              3 (const int)
+0:161          Sequence
+0:161            Constant:
+0:161              0 (const int)
+0:161            Constant:
+0:161              1 (const int)
+0:161            Constant:
+0:161              2 (const int)
+0:161        subgroupInclusiveAdd ( global 3-component vector of double)
+0:161          vector swizzle ( temp 3-component vector of double)
+0:161            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:161              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161                Constant:
+0:161                  2 (const int)
+0:161              Constant:
+0:161                3 (const int)
+0:161            Sequence
+0:161              Constant:
+0:161                0 (const int)
+0:161              Constant:
+0:161                1 (const int)
+0:161              Constant:
+0:161                2 (const int)
+0:162      move second child to first child ( temp 4-component vector of double)
+0:162        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:162          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162            'invocation' ( temp uint)
+0:162          Constant:
+0:162            3 (const int)
+0:162        subgroupInclusiveAdd ( global 4-component vector of double)
+0:162          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:162            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162              Constant:
+0:162                3 (const int)
+0:162            Constant:
+0:162              3 (const int)
+0:164      move second child to first child ( temp float)
+0:164        direct index ( temp float)
+0:164          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:164            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164              'invocation' ( temp uint)
+0:164            Constant:
+0:164              0 (const int)
+0:164          Constant:
+0:164            0 (const int)
+0:164        subgroupInclusiveMul ( global float)
+0:164          direct index ( temp float)
+0:164            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:164              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164                Constant:
+0:164                  0 (const int)
+0:164              Constant:
+0:164                0 (const int)
+0:164            Constant:
+0:164              0 (const int)
+0:165      move second child to first child ( temp 2-component vector of float)
+0:165        vector swizzle ( temp 2-component vector of float)
+0:165          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:165            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:165              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:165              'invocation' ( temp uint)
+0:165            Constant:
+0:165              0 (const int)
+0:165          Sequence
+0:165            Constant:
+0:165              0 (const int)
+0:165            Constant:
+0:165              1 (const int)
+0:165        subgroupInclusiveMul ( global 2-component vector of float)
+0:165          vector swizzle ( temp 2-component vector of float)
+0:165            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:165              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:165                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:165                Constant:
+0:165                  1 (const int)
+0:165              Constant:
+0:165                0 (const int)
+0:165            Sequence
+0:165              Constant:
+0:165                0 (const int)
+0:165              Constant:
+0:165                1 (const int)
+0:166      move second child to first child ( temp 3-component vector of float)
+0:166        vector swizzle ( temp 3-component vector of float)
+0:166          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:166            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166              'invocation' ( temp uint)
+0:166            Constant:
+0:166              0 (const int)
+0:166          Sequence
+0:166            Constant:
+0:166              0 (const int)
+0:166            Constant:
+0:166              1 (const int)
+0:166            Constant:
+0:166              2 (const int)
+0:166        subgroupInclusiveMul ( global 3-component vector of float)
+0:166          vector swizzle ( temp 3-component vector of float)
+0:166            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:166              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166                Constant:
+0:166                  2 (const int)
+0:166              Constant:
+0:166                0 (const int)
+0:166            Sequence
+0:166              Constant:
+0:166                0 (const int)
+0:166              Constant:
+0:166                1 (const int)
+0:166              Constant:
+0:166                2 (const int)
+0:167      move second child to first child ( temp 4-component vector of float)
+0:167        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:167          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167            'invocation' ( temp uint)
+0:167          Constant:
+0:167            0 (const int)
+0:167        subgroupInclusiveMul ( global 4-component vector of float)
+0:167          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:167            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167              Constant:
+0:167                3 (const int)
+0:167            Constant:
+0:167              0 (const int)
+0:169      move second child to first child ( temp int)
+0:169        direct index ( temp int)
+0:169          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:169            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169              'invocation' ( temp uint)
+0:169            Constant:
+0:169              1 (const int)
+0:169          Constant:
+0:169            0 (const int)
+0:169        subgroupInclusiveMul ( global int)
+0:169          direct index ( temp int)
+0:169            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:169              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169                Constant:
+0:169                  0 (const int)
+0:169              Constant:
+0:169                1 (const int)
+0:169            Constant:
+0:169              0 (const int)
+0:170      move second child to first child ( temp 2-component vector of int)
+0:170        vector swizzle ( temp 2-component vector of int)
+0:170          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:170            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:170              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:170              'invocation' ( temp uint)
+0:170            Constant:
+0:170              1 (const int)
+0:170          Sequence
+0:170            Constant:
+0:170              0 (const int)
+0:170            Constant:
+0:170              1 (const int)
+0:170        subgroupInclusiveMul ( global 2-component vector of int)
+0:170          vector swizzle ( temp 2-component vector of int)
+0:170            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:170              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:170                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:170                Constant:
+0:170                  1 (const int)
+0:170              Constant:
+0:170                1 (const int)
+0:170            Sequence
+0:170              Constant:
+0:170                0 (const int)
+0:170              Constant:
+0:170                1 (const int)
+0:171      move second child to first child ( temp 3-component vector of int)
+0:171        vector swizzle ( temp 3-component vector of int)
+0:171          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:171            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171              'invocation' ( temp uint)
+0:171            Constant:
+0:171              1 (const int)
+0:171          Sequence
+0:171            Constant:
+0:171              0 (const int)
+0:171            Constant:
+0:171              1 (const int)
+0:171            Constant:
+0:171              2 (const int)
+0:171        subgroupInclusiveMul ( global 3-component vector of int)
+0:171          vector swizzle ( temp 3-component vector of int)
+0:171            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:171              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171                Constant:
+0:171                  2 (const int)
+0:171              Constant:
+0:171                1 (const int)
+0:171            Sequence
+0:171              Constant:
+0:171                0 (const int)
+0:171              Constant:
+0:171                1 (const int)
+0:171              Constant:
+0:171                2 (const int)
+0:172      move second child to first child ( temp 4-component vector of int)
+0:172        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:172          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172            'invocation' ( temp uint)
+0:172          Constant:
+0:172            1 (const int)
+0:172        subgroupInclusiveMul ( global 4-component vector of int)
+0:172          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:172            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172              Constant:
+0:172                3 (const int)
+0:172            Constant:
+0:172              1 (const int)
+0:174      move second child to first child ( temp uint)
+0:174        direct index ( temp uint)
+0:174          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:174            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174              'invocation' ( temp uint)
+0:174            Constant:
+0:174              2 (const int)
+0:174          Constant:
+0:174            0 (const int)
+0:174        subgroupInclusiveMul ( global uint)
+0:174          direct index ( temp uint)
+0:174            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:174              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174                Constant:
+0:174                  0 (const int)
+0:174              Constant:
+0:174                2 (const int)
+0:174            Constant:
+0:174              0 (const int)
+0:175      move second child to first child ( temp 2-component vector of uint)
+0:175        vector swizzle ( temp 2-component vector of uint)
+0:175          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:175            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:175              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:175              'invocation' ( temp uint)
+0:175            Constant:
+0:175              2 (const int)
+0:175          Sequence
+0:175            Constant:
+0:175              0 (const int)
+0:175            Constant:
+0:175              1 (const int)
+0:175        subgroupInclusiveMul ( global 2-component vector of uint)
+0:175          vector swizzle ( temp 2-component vector of uint)
+0:175            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:175              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:175                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:175                Constant:
+0:175                  1 (const int)
+0:175              Constant:
+0:175                2 (const int)
+0:175            Sequence
+0:175              Constant:
+0:175                0 (const int)
+0:175              Constant:
+0:175                1 (const int)
+0:176      move second child to first child ( temp 3-component vector of uint)
+0:176        vector swizzle ( temp 3-component vector of uint)
+0:176          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:176            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176              'invocation' ( temp uint)
+0:176            Constant:
+0:176              2 (const int)
+0:176          Sequence
+0:176            Constant:
+0:176              0 (const int)
+0:176            Constant:
+0:176              1 (const int)
+0:176            Constant:
+0:176              2 (const int)
+0:176        subgroupInclusiveMul ( global 3-component vector of uint)
+0:176          vector swizzle ( temp 3-component vector of uint)
+0:176            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:176              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176                Constant:
+0:176                  2 (const int)
+0:176              Constant:
+0:176                2 (const int)
+0:176            Sequence
+0:176              Constant:
+0:176                0 (const int)
+0:176              Constant:
+0:176                1 (const int)
+0:176              Constant:
+0:176                2 (const int)
+0:177      move second child to first child ( temp 4-component vector of uint)
+0:177        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:177          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177            'invocation' ( temp uint)
+0:177          Constant:
+0:177            2 (const int)
+0:177        subgroupInclusiveMul ( global 4-component vector of uint)
+0:177          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:177            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177              Constant:
+0:177                3 (const int)
+0:177            Constant:
+0:177              2 (const int)
+0:179      move second child to first child ( temp double)
+0:179        direct index ( temp double)
+0:179          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:179            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179              'invocation' ( temp uint)
+0:179            Constant:
+0:179              3 (const int)
+0:179          Constant:
+0:179            0 (const int)
+0:179        subgroupInclusiveMul ( global double)
+0:179          direct index ( temp double)
+0:179            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:179              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179                Constant:
+0:179                  0 (const int)
+0:179              Constant:
+0:179                3 (const int)
+0:179            Constant:
+0:179              0 (const int)
+0:180      move second child to first child ( temp 2-component vector of double)
+0:180        vector swizzle ( temp 2-component vector of double)
+0:180          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:180            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:180              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:180              'invocation' ( temp uint)
+0:180            Constant:
+0:180              3 (const int)
+0:180          Sequence
+0:180            Constant:
+0:180              0 (const int)
+0:180            Constant:
+0:180              1 (const int)
+0:180        subgroupInclusiveMul ( global 2-component vector of double)
+0:180          vector swizzle ( temp 2-component vector of double)
+0:180            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:180              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:180                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:180                Constant:
+0:180                  1 (const int)
+0:180              Constant:
+0:180                3 (const int)
+0:180            Sequence
+0:180              Constant:
+0:180                0 (const int)
+0:180              Constant:
+0:180                1 (const int)
+0:181      move second child to first child ( temp 3-component vector of double)
+0:181        vector swizzle ( temp 3-component vector of double)
+0:181          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:181            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181              'invocation' ( temp uint)
+0:181            Constant:
+0:181              3 (const int)
+0:181          Sequence
+0:181            Constant:
+0:181              0 (const int)
+0:181            Constant:
+0:181              1 (const int)
+0:181            Constant:
+0:181              2 (const int)
+0:181        subgroupInclusiveMul ( global 3-component vector of double)
+0:181          vector swizzle ( temp 3-component vector of double)
+0:181            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:181              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181                Constant:
+0:181                  2 (const int)
+0:181              Constant:
+0:181                3 (const int)
+0:181            Sequence
+0:181              Constant:
+0:181                0 (const int)
+0:181              Constant:
+0:181                1 (const int)
+0:181              Constant:
+0:181                2 (const int)
+0:182      move second child to first child ( temp 4-component vector of double)
+0:182        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:182          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182            'invocation' ( temp uint)
+0:182          Constant:
+0:182            3 (const int)
+0:182        subgroupInclusiveMul ( global 4-component vector of double)
+0:182          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:182            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182              Constant:
+0:182                3 (const int)
+0:182            Constant:
+0:182              3 (const int)
+0:184      move second child to first child ( temp float)
+0:184        direct index ( temp float)
+0:184          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:184            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184              'invocation' ( temp uint)
+0:184            Constant:
+0:184              0 (const int)
+0:184          Constant:
+0:184            0 (const int)
+0:184        subgroupInclusiveMin ( global float)
+0:184          direct index ( temp float)
+0:184            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:184              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184                Constant:
+0:184                  0 (const int)
+0:184              Constant:
+0:184                0 (const int)
+0:184            Constant:
+0:184              0 (const int)
+0:185      move second child to first child ( temp 2-component vector of float)
+0:185        vector swizzle ( temp 2-component vector of float)
+0:185          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:185            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:185              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:185              'invocation' ( temp uint)
+0:185            Constant:
+0:185              0 (const int)
+0:185          Sequence
+0:185            Constant:
+0:185              0 (const int)
+0:185            Constant:
+0:185              1 (const int)
+0:185        subgroupInclusiveMin ( global 2-component vector of float)
+0:185          vector swizzle ( temp 2-component vector of float)
+0:185            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:185              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:185                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:185                Constant:
+0:185                  1 (const int)
+0:185              Constant:
+0:185                0 (const int)
+0:185            Sequence
+0:185              Constant:
+0:185                0 (const int)
+0:185              Constant:
+0:185                1 (const int)
+0:186      move second child to first child ( temp 3-component vector of float)
+0:186        vector swizzle ( temp 3-component vector of float)
+0:186          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:186            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186              'invocation' ( temp uint)
+0:186            Constant:
+0:186              0 (const int)
+0:186          Sequence
+0:186            Constant:
+0:186              0 (const int)
+0:186            Constant:
+0:186              1 (const int)
+0:186            Constant:
+0:186              2 (const int)
+0:186        subgroupInclusiveMin ( global 3-component vector of float)
+0:186          vector swizzle ( temp 3-component vector of float)
+0:186            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:186              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186                Constant:
+0:186                  2 (const int)
+0:186              Constant:
+0:186                0 (const int)
+0:186            Sequence
+0:186              Constant:
+0:186                0 (const int)
+0:186              Constant:
+0:186                1 (const int)
+0:186              Constant:
+0:186                2 (const int)
+0:187      move second child to first child ( temp 4-component vector of float)
+0:187        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:187          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187            'invocation' ( temp uint)
+0:187          Constant:
+0:187            0 (const int)
+0:187        subgroupInclusiveMin ( global 4-component vector of float)
+0:187          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:187            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187              Constant:
+0:187                3 (const int)
+0:187            Constant:
+0:187              0 (const int)
+0:189      move second child to first child ( temp int)
+0:189        direct index ( temp int)
+0:189          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:189            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189              'invocation' ( temp uint)
+0:189            Constant:
+0:189              1 (const int)
+0:189          Constant:
+0:189            0 (const int)
+0:189        subgroupInclusiveMin ( global int)
+0:189          direct index ( temp int)
+0:189            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:189              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189                Constant:
+0:189                  0 (const int)
+0:189              Constant:
+0:189                1 (const int)
+0:189            Constant:
+0:189              0 (const int)
+0:190      move second child to first child ( temp 2-component vector of int)
+0:190        vector swizzle ( temp 2-component vector of int)
+0:190          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:190            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:190              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:190              'invocation' ( temp uint)
+0:190            Constant:
+0:190              1 (const int)
+0:190          Sequence
+0:190            Constant:
+0:190              0 (const int)
+0:190            Constant:
+0:190              1 (const int)
+0:190        subgroupInclusiveMin ( global 2-component vector of int)
+0:190          vector swizzle ( temp 2-component vector of int)
+0:190            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:190              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:190                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:190                Constant:
+0:190                  1 (const int)
+0:190              Constant:
+0:190                1 (const int)
+0:190            Sequence
+0:190              Constant:
+0:190                0 (const int)
+0:190              Constant:
+0:190                1 (const int)
+0:191      move second child to first child ( temp 3-component vector of int)
+0:191        vector swizzle ( temp 3-component vector of int)
+0:191          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:191            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191              'invocation' ( temp uint)
+0:191            Constant:
+0:191              1 (const int)
+0:191          Sequence
+0:191            Constant:
+0:191              0 (const int)
+0:191            Constant:
+0:191              1 (const int)
+0:191            Constant:
+0:191              2 (const int)
+0:191        subgroupInclusiveMin ( global 3-component vector of int)
+0:191          vector swizzle ( temp 3-component vector of int)
+0:191            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:191              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191                Constant:
+0:191                  2 (const int)
+0:191              Constant:
+0:191                1 (const int)
+0:191            Sequence
+0:191              Constant:
+0:191                0 (const int)
+0:191              Constant:
+0:191                1 (const int)
+0:191              Constant:
+0:191                2 (const int)
+0:192      move second child to first child ( temp 4-component vector of int)
+0:192        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:192          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192            'invocation' ( temp uint)
+0:192          Constant:
+0:192            1 (const int)
+0:192        subgroupInclusiveMin ( global 4-component vector of int)
+0:192          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:192            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192              Constant:
+0:192                3 (const int)
+0:192            Constant:
+0:192              1 (const int)
+0:194      move second child to first child ( temp uint)
+0:194        direct index ( temp uint)
+0:194          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:194            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194              'invocation' ( temp uint)
+0:194            Constant:
+0:194              2 (const int)
+0:194          Constant:
+0:194            0 (const int)
+0:194        subgroupInclusiveMin ( global uint)
+0:194          direct index ( temp uint)
+0:194            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:194              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194                Constant:
+0:194                  0 (const int)
+0:194              Constant:
+0:194                2 (const int)
+0:194            Constant:
+0:194              0 (const int)
+0:195      move second child to first child ( temp 2-component vector of uint)
+0:195        vector swizzle ( temp 2-component vector of uint)
+0:195          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:195            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:195              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:195              'invocation' ( temp uint)
+0:195            Constant:
+0:195              2 (const int)
+0:195          Sequence
+0:195            Constant:
+0:195              0 (const int)
+0:195            Constant:
+0:195              1 (const int)
+0:195        subgroupInclusiveMin ( global 2-component vector of uint)
+0:195          vector swizzle ( temp 2-component vector of uint)
+0:195            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:195              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:195                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:195                Constant:
+0:195                  1 (const int)
+0:195              Constant:
+0:195                2 (const int)
+0:195            Sequence
+0:195              Constant:
+0:195                0 (const int)
+0:195              Constant:
+0:195                1 (const int)
+0:196      move second child to first child ( temp 3-component vector of uint)
+0:196        vector swizzle ( temp 3-component vector of uint)
+0:196          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:196            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196              'invocation' ( temp uint)
+0:196            Constant:
+0:196              2 (const int)
+0:196          Sequence
+0:196            Constant:
+0:196              0 (const int)
+0:196            Constant:
+0:196              1 (const int)
+0:196            Constant:
+0:196              2 (const int)
+0:196        subgroupInclusiveMin ( global 3-component vector of uint)
+0:196          vector swizzle ( temp 3-component vector of uint)
+0:196            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:196              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196                Constant:
+0:196                  2 (const int)
+0:196              Constant:
+0:196                2 (const int)
+0:196            Sequence
+0:196              Constant:
+0:196                0 (const int)
+0:196              Constant:
+0:196                1 (const int)
+0:196              Constant:
+0:196                2 (const int)
+0:197      move second child to first child ( temp 4-component vector of uint)
+0:197        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:197          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197            'invocation' ( temp uint)
+0:197          Constant:
+0:197            2 (const int)
+0:197        subgroupInclusiveMin ( global 4-component vector of uint)
+0:197          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:197            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197              Constant:
+0:197                3 (const int)
+0:197            Constant:
+0:197              2 (const int)
+0:199      move second child to first child ( temp double)
+0:199        direct index ( temp double)
+0:199          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:199            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199              'invocation' ( temp uint)
+0:199            Constant:
+0:199              3 (const int)
+0:199          Constant:
+0:199            0 (const int)
+0:199        subgroupInclusiveMin ( global double)
+0:199          direct index ( temp double)
+0:199            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:199              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199                Constant:
+0:199                  0 (const int)
+0:199              Constant:
+0:199                3 (const int)
+0:199            Constant:
+0:199              0 (const int)
+0:200      move second child to first child ( temp 2-component vector of double)
+0:200        vector swizzle ( temp 2-component vector of double)
+0:200          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:200            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:200              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:200              'invocation' ( temp uint)
+0:200            Constant:
+0:200              3 (const int)
+0:200          Sequence
+0:200            Constant:
+0:200              0 (const int)
+0:200            Constant:
+0:200              1 (const int)
+0:200        subgroupInclusiveMin ( global 2-component vector of double)
+0:200          vector swizzle ( temp 2-component vector of double)
+0:200            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:200              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:200                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:200                Constant:
+0:200                  1 (const int)
+0:200              Constant:
+0:200                3 (const int)
+0:200            Sequence
+0:200              Constant:
+0:200                0 (const int)
+0:200              Constant:
+0:200                1 (const int)
+0:201      move second child to first child ( temp 3-component vector of double)
+0:201        vector swizzle ( temp 3-component vector of double)
+0:201          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:201            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201              'invocation' ( temp uint)
+0:201            Constant:
+0:201              3 (const int)
+0:201          Sequence
+0:201            Constant:
+0:201              0 (const int)
+0:201            Constant:
+0:201              1 (const int)
+0:201            Constant:
+0:201              2 (const int)
+0:201        subgroupInclusiveMin ( global 3-component vector of double)
+0:201          vector swizzle ( temp 3-component vector of double)
+0:201            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:201              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201                Constant:
+0:201                  2 (const int)
+0:201              Constant:
+0:201                3 (const int)
+0:201            Sequence
+0:201              Constant:
+0:201                0 (const int)
+0:201              Constant:
+0:201                1 (const int)
+0:201              Constant:
+0:201                2 (const int)
+0:202      move second child to first child ( temp 4-component vector of double)
+0:202        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:202          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202            'invocation' ( temp uint)
+0:202          Constant:
+0:202            3 (const int)
+0:202        subgroupInclusiveMin ( global 4-component vector of double)
+0:202          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:202            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202              Constant:
+0:202                3 (const int)
+0:202            Constant:
+0:202              3 (const int)
+0:204      move second child to first child ( temp float)
+0:204        direct index ( temp float)
+0:204          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:204            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204              'invocation' ( temp uint)
+0:204            Constant:
+0:204              0 (const int)
+0:204          Constant:
+0:204            0 (const int)
+0:204        subgroupInclusiveMax ( global float)
+0:204          direct index ( temp float)
+0:204            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:204              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204                Constant:
+0:204                  0 (const int)
+0:204              Constant:
+0:204                0 (const int)
+0:204            Constant:
+0:204              0 (const int)
+0:205      move second child to first child ( temp 2-component vector of float)
+0:205        vector swizzle ( temp 2-component vector of float)
+0:205          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:205            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:205              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:205              'invocation' ( temp uint)
+0:205            Constant:
+0:205              0 (const int)
+0:205          Sequence
+0:205            Constant:
+0:205              0 (const int)
+0:205            Constant:
+0:205              1 (const int)
+0:205        subgroupInclusiveMax ( global 2-component vector of float)
+0:205          vector swizzle ( temp 2-component vector of float)
+0:205            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:205              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:205                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:205                Constant:
+0:205                  1 (const int)
+0:205              Constant:
+0:205                0 (const int)
+0:205            Sequence
+0:205              Constant:
+0:205                0 (const int)
+0:205              Constant:
+0:205                1 (const int)
+0:206      move second child to first child ( temp 3-component vector of float)
+0:206        vector swizzle ( temp 3-component vector of float)
+0:206          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:206            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206              'invocation' ( temp uint)
+0:206            Constant:
+0:206              0 (const int)
+0:206          Sequence
+0:206            Constant:
+0:206              0 (const int)
+0:206            Constant:
+0:206              1 (const int)
+0:206            Constant:
+0:206              2 (const int)
+0:206        subgroupInclusiveMax ( global 3-component vector of float)
+0:206          vector swizzle ( temp 3-component vector of float)
+0:206            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:206              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206                Constant:
+0:206                  2 (const int)
+0:206              Constant:
+0:206                0 (const int)
+0:206            Sequence
+0:206              Constant:
+0:206                0 (const int)
+0:206              Constant:
+0:206                1 (const int)
+0:206              Constant:
+0:206                2 (const int)
+0:207      move second child to first child ( temp 4-component vector of float)
+0:207        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:207          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207            'invocation' ( temp uint)
+0:207          Constant:
+0:207            0 (const int)
+0:207        subgroupInclusiveMax ( global 4-component vector of float)
+0:207          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:207            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207              Constant:
+0:207                3 (const int)
+0:207            Constant:
+0:207              0 (const int)
+0:209      move second child to first child ( temp int)
+0:209        direct index ( temp int)
+0:209          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:209            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209              'invocation' ( temp uint)
+0:209            Constant:
+0:209              1 (const int)
+0:209          Constant:
+0:209            0 (const int)
+0:209        subgroupInclusiveMax ( global int)
+0:209          direct index ( temp int)
+0:209            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:209              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209                Constant:
+0:209                  0 (const int)
+0:209              Constant:
+0:209                1 (const int)
+0:209            Constant:
+0:209              0 (const int)
+0:210      move second child to first child ( temp 2-component vector of int)
+0:210        vector swizzle ( temp 2-component vector of int)
+0:210          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:210            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:210              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:210              'invocation' ( temp uint)
+0:210            Constant:
+0:210              1 (const int)
+0:210          Sequence
+0:210            Constant:
+0:210              0 (const int)
+0:210            Constant:
+0:210              1 (const int)
+0:210        subgroupInclusiveMax ( global 2-component vector of int)
+0:210          vector swizzle ( temp 2-component vector of int)
+0:210            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:210              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:210                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:210                Constant:
+0:210                  1 (const int)
+0:210              Constant:
+0:210                1 (const int)
+0:210            Sequence
+0:210              Constant:
+0:210                0 (const int)
+0:210              Constant:
+0:210                1 (const int)
+0:211      move second child to first child ( temp 3-component vector of int)
+0:211        vector swizzle ( temp 3-component vector of int)
+0:211          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:211            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211              'invocation' ( temp uint)
+0:211            Constant:
+0:211              1 (const int)
+0:211          Sequence
+0:211            Constant:
+0:211              0 (const int)
+0:211            Constant:
+0:211              1 (const int)
+0:211            Constant:
+0:211              2 (const int)
+0:211        subgroupInclusiveMax ( global 3-component vector of int)
+0:211          vector swizzle ( temp 3-component vector of int)
+0:211            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:211              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211                Constant:
+0:211                  2 (const int)
+0:211              Constant:
+0:211                1 (const int)
+0:211            Sequence
+0:211              Constant:
+0:211                0 (const int)
+0:211              Constant:
+0:211                1 (const int)
+0:211              Constant:
+0:211                2 (const int)
+0:212      move second child to first child ( temp 4-component vector of int)
+0:212        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:212          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212            'invocation' ( temp uint)
+0:212          Constant:
+0:212            1 (const int)
+0:212        subgroupInclusiveMax ( global 4-component vector of int)
+0:212          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:212            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212              Constant:
+0:212                3 (const int)
+0:212            Constant:
+0:212              1 (const int)
+0:214      move second child to first child ( temp uint)
+0:214        direct index ( temp uint)
+0:214          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:214            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214              'invocation' ( temp uint)
+0:214            Constant:
+0:214              2 (const int)
+0:214          Constant:
+0:214            0 (const int)
+0:214        subgroupInclusiveMax ( global uint)
+0:214          direct index ( temp uint)
+0:214            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:214              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214                Constant:
+0:214                  0 (const int)
+0:214              Constant:
+0:214                2 (const int)
+0:214            Constant:
+0:214              0 (const int)
+0:215      move second child to first child ( temp 2-component vector of uint)
+0:215        vector swizzle ( temp 2-component vector of uint)
+0:215          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:215            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:215              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:215              'invocation' ( temp uint)
+0:215            Constant:
+0:215              2 (const int)
+0:215          Sequence
+0:215            Constant:
+0:215              0 (const int)
+0:215            Constant:
+0:215              1 (const int)
+0:215        subgroupInclusiveMax ( global 2-component vector of uint)
+0:215          vector swizzle ( temp 2-component vector of uint)
+0:215            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:215              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:215                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:215                Constant:
+0:215                  1 (const int)
+0:215              Constant:
+0:215                2 (const int)
+0:215            Sequence
+0:215              Constant:
+0:215                0 (const int)
+0:215              Constant:
+0:215                1 (const int)
+0:216      move second child to first child ( temp 3-component vector of uint)
+0:216        vector swizzle ( temp 3-component vector of uint)
+0:216          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:216            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216              'invocation' ( temp uint)
+0:216            Constant:
+0:216              2 (const int)
+0:216          Sequence
+0:216            Constant:
+0:216              0 (const int)
+0:216            Constant:
+0:216              1 (const int)
+0:216            Constant:
+0:216              2 (const int)
+0:216        subgroupInclusiveMax ( global 3-component vector of uint)
+0:216          vector swizzle ( temp 3-component vector of uint)
+0:216            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:216              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216                Constant:
+0:216                  2 (const int)
+0:216              Constant:
+0:216                2 (const int)
+0:216            Sequence
+0:216              Constant:
+0:216                0 (const int)
+0:216              Constant:
+0:216                1 (const int)
+0:216              Constant:
+0:216                2 (const int)
+0:217      move second child to first child ( temp 4-component vector of uint)
+0:217        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:217          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217            'invocation' ( temp uint)
+0:217          Constant:
+0:217            2 (const int)
+0:217        subgroupInclusiveMax ( global 4-component vector of uint)
+0:217          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:217            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217              Constant:
+0:217                3 (const int)
+0:217            Constant:
+0:217              2 (const int)
+0:219      move second child to first child ( temp double)
+0:219        direct index ( temp double)
+0:219          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:219            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219              'invocation' ( temp uint)
+0:219            Constant:
+0:219              3 (const int)
+0:219          Constant:
+0:219            0 (const int)
+0:219        subgroupInclusiveMax ( global double)
+0:219          direct index ( temp double)
+0:219            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:219              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219                Constant:
+0:219                  0 (const int)
+0:219              Constant:
+0:219                3 (const int)
+0:219            Constant:
+0:219              0 (const int)
+0:220      move second child to first child ( temp 2-component vector of double)
+0:220        vector swizzle ( temp 2-component vector of double)
+0:220          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:220            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:220              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:220              'invocation' ( temp uint)
+0:220            Constant:
+0:220              3 (const int)
+0:220          Sequence
+0:220            Constant:
+0:220              0 (const int)
+0:220            Constant:
+0:220              1 (const int)
+0:220        subgroupInclusiveMax ( global 2-component vector of double)
+0:220          vector swizzle ( temp 2-component vector of double)
+0:220            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:220              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:220                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:220                Constant:
+0:220                  1 (const int)
+0:220              Constant:
+0:220                3 (const int)
+0:220            Sequence
+0:220              Constant:
+0:220                0 (const int)
+0:220              Constant:
+0:220                1 (const int)
+0:221      move second child to first child ( temp 3-component vector of double)
+0:221        vector swizzle ( temp 3-component vector of double)
+0:221          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:221            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221              'invocation' ( temp uint)
+0:221            Constant:
+0:221              3 (const int)
+0:221          Sequence
+0:221            Constant:
+0:221              0 (const int)
+0:221            Constant:
+0:221              1 (const int)
+0:221            Constant:
+0:221              2 (const int)
+0:221        subgroupInclusiveMax ( global 3-component vector of double)
+0:221          vector swizzle ( temp 3-component vector of double)
+0:221            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:221              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221                Constant:
+0:221                  2 (const int)
+0:221              Constant:
+0:221                3 (const int)
+0:221            Sequence
+0:221              Constant:
+0:221                0 (const int)
+0:221              Constant:
+0:221                1 (const int)
+0:221              Constant:
+0:221                2 (const int)
+0:222      move second child to first child ( temp 4-component vector of double)
+0:222        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:222          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222            'invocation' ( temp uint)
+0:222          Constant:
+0:222            3 (const int)
+0:222        subgroupInclusiveMax ( global 4-component vector of double)
+0:222          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:222            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222              Constant:
+0:222                3 (const int)
+0:222            Constant:
+0:222              3 (const int)
+0:224      move second child to first child ( temp int)
+0:224        direct index ( temp int)
+0:224          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:224            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224              'invocation' ( temp uint)
+0:224            Constant:
+0:224              1 (const int)
+0:224          Constant:
+0:224            0 (const int)
+0:224        subgroupInclusiveAnd ( global int)
+0:224          direct index ( temp int)
+0:224            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:224              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224                Constant:
+0:224                  0 (const int)
+0:224              Constant:
+0:224                1 (const int)
+0:224            Constant:
+0:224              0 (const int)
+0:225      move second child to first child ( temp 2-component vector of int)
+0:225        vector swizzle ( temp 2-component vector of int)
+0:225          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:225            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:225              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:225              'invocation' ( temp uint)
+0:225            Constant:
+0:225              1 (const int)
+0:225          Sequence
+0:225            Constant:
+0:225              0 (const int)
+0:225            Constant:
+0:225              1 (const int)
+0:225        subgroupInclusiveAnd ( global 2-component vector of int)
+0:225          vector swizzle ( temp 2-component vector of int)
+0:225            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:225              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:225                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:225                Constant:
+0:225                  1 (const int)
+0:225              Constant:
+0:225                1 (const int)
+0:225            Sequence
+0:225              Constant:
+0:225                0 (const int)
+0:225              Constant:
+0:225                1 (const int)
+0:226      move second child to first child ( temp 3-component vector of int)
+0:226        vector swizzle ( temp 3-component vector of int)
+0:226          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:226            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226              'invocation' ( temp uint)
+0:226            Constant:
+0:226              1 (const int)
+0:226          Sequence
+0:226            Constant:
+0:226              0 (const int)
+0:226            Constant:
+0:226              1 (const int)
+0:226            Constant:
+0:226              2 (const int)
+0:226        subgroupInclusiveAnd ( global 3-component vector of int)
+0:226          vector swizzle ( temp 3-component vector of int)
+0:226            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:226              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226                Constant:
+0:226                  2 (const int)
+0:226              Constant:
+0:226                1 (const int)
+0:226            Sequence
+0:226              Constant:
+0:226                0 (const int)
+0:226              Constant:
+0:226                1 (const int)
+0:226              Constant:
+0:226                2 (const int)
+0:227      move second child to first child ( temp 4-component vector of int)
+0:227        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:227          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227            'invocation' ( temp uint)
+0:227          Constant:
+0:227            1 (const int)
+0:227        subgroupInclusiveAnd ( global 4-component vector of int)
+0:227          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:227            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227              Constant:
+0:227                3 (const int)
+0:227            Constant:
+0:227              1 (const int)
+0:229      move second child to first child ( temp uint)
+0:229        direct index ( temp uint)
+0:229          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:229            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229              'invocation' ( temp uint)
+0:229            Constant:
+0:229              2 (const int)
+0:229          Constant:
+0:229            0 (const int)
+0:229        subgroupInclusiveAnd ( global uint)
+0:229          direct index ( temp uint)
+0:229            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:229              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229                Constant:
+0:229                  0 (const int)
+0:229              Constant:
+0:229                2 (const int)
+0:229            Constant:
+0:229              0 (const int)
+0:230      move second child to first child ( temp 2-component vector of uint)
+0:230        vector swizzle ( temp 2-component vector of uint)
+0:230          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:230            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:230              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:230              'invocation' ( temp uint)
+0:230            Constant:
+0:230              2 (const int)
+0:230          Sequence
+0:230            Constant:
+0:230              0 (const int)
+0:230            Constant:
+0:230              1 (const int)
+0:230        subgroupInclusiveAnd ( global 2-component vector of uint)
+0:230          vector swizzle ( temp 2-component vector of uint)
+0:230            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:230              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:230                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:230                Constant:
+0:230                  1 (const int)
+0:230              Constant:
+0:230                2 (const int)
+0:230            Sequence
+0:230              Constant:
+0:230                0 (const int)
+0:230              Constant:
+0:230                1 (const int)
+0:231      move second child to first child ( temp 3-component vector of uint)
+0:231        vector swizzle ( temp 3-component vector of uint)
+0:231          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:231            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231              'invocation' ( temp uint)
+0:231            Constant:
+0:231              2 (const int)
+0:231          Sequence
+0:231            Constant:
+0:231              0 (const int)
+0:231            Constant:
+0:231              1 (const int)
+0:231            Constant:
+0:231              2 (const int)
+0:231        subgroupInclusiveAnd ( global 3-component vector of uint)
+0:231          vector swizzle ( temp 3-component vector of uint)
+0:231            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:231              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231                Constant:
+0:231                  2 (const int)
+0:231              Constant:
+0:231                2 (const int)
+0:231            Sequence
+0:231              Constant:
+0:231                0 (const int)
+0:231              Constant:
+0:231                1 (const int)
+0:231              Constant:
+0:231                2 (const int)
+0:232      move second child to first child ( temp 4-component vector of uint)
+0:232        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:232          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232            'invocation' ( temp uint)
+0:232          Constant:
+0:232            2 (const int)
+0:232        subgroupInclusiveAnd ( global 4-component vector of uint)
+0:232          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:232            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232              Constant:
+0:232                3 (const int)
+0:232            Constant:
+0:232              2 (const int)
+0:234      move second child to first child ( temp int)
+0:234        direct index ( temp int)
+0:234          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:234            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234              'invocation' ( temp uint)
+0:234            Constant:
+0:234              1 (const int)
+0:234          Constant:
+0:234            0 (const int)
+0:234        Convert bool to int ( temp int)
+0:234          subgroupInclusiveAnd ( global bool)
+0:234            Compare Less Than ( temp bool)
+0:234              direct index ( temp int)
+0:234                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:234                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234                    Constant:
+0:234                      0 (const int)
+0:234                  Constant:
+0:234                    1 (const int)
+0:234                Constant:
+0:234                  0 (const int)
+0:234              Constant:
+0:234                0 (const int)
+0:235      move second child to first child ( temp 2-component vector of int)
+0:235        vector swizzle ( temp 2-component vector of int)
+0:235          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:235            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:235              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:235              'invocation' ( temp uint)
+0:235            Constant:
+0:235              1 (const int)
+0:235          Sequence
+0:235            Constant:
+0:235              0 (const int)
+0:235            Constant:
+0:235              1 (const int)
+0:235        Convert bool to int ( temp 2-component vector of int)
+0:235          subgroupInclusiveAnd ( global 2-component vector of bool)
+0:235            Compare Less Than ( global 2-component vector of bool)
+0:235              vector swizzle ( temp 2-component vector of int)
+0:235                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:235                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:235                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:235                    Constant:
+0:235                      1 (const int)
+0:235                  Constant:
+0:235                    1 (const int)
+0:235                Sequence
+0:235                  Constant:
+0:235                    0 (const int)
+0:235                  Constant:
+0:235                    1 (const int)
+0:235              Constant:
+0:235                0 (const int)
+0:235                0 (const int)
+0:236      move second child to first child ( temp 3-component vector of int)
+0:236        vector swizzle ( temp 3-component vector of int)
+0:236          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:236            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236              'invocation' ( temp uint)
+0:236            Constant:
+0:236              1 (const int)
+0:236          Sequence
+0:236            Constant:
+0:236              0 (const int)
+0:236            Constant:
+0:236              1 (const int)
+0:236            Constant:
+0:236              2 (const int)
+0:236        Convert bool to int ( temp 3-component vector of int)
+0:236          subgroupInclusiveAnd ( global 3-component vector of bool)
+0:236            Compare Less Than ( global 3-component vector of bool)
+0:236              vector swizzle ( temp 3-component vector of int)
+0:236                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:236                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236                    Constant:
+0:236                      1 (const int)
+0:236                  Constant:
+0:236                    1 (const int)
+0:236                Sequence
+0:236                  Constant:
+0:236                    0 (const int)
+0:236                  Constant:
+0:236                    1 (const int)
+0:236                  Constant:
+0:236                    2 (const int)
+0:236              Constant:
+0:236                0 (const int)
+0:236                0 (const int)
+0:236                0 (const int)
+0:237      move second child to first child ( temp 4-component vector of int)
+0:237        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:237          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237            'invocation' ( temp uint)
+0:237          Constant:
+0:237            1 (const int)
+0:237        Convert bool to int ( temp 4-component vector of int)
+0:237          subgroupInclusiveAnd ( global 4-component vector of bool)
+0:237            Compare Less Than ( global 4-component vector of bool)
+0:237              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:237                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237                  Constant:
+0:237                    1 (const int)
+0:237                Constant:
+0:237                  1 (const int)
+0:237              Constant:
+0:237                0 (const int)
+0:237                0 (const int)
+0:237                0 (const int)
+0:237                0 (const int)
+0:239      move second child to first child ( temp int)
+0:239        direct index ( temp int)
+0:239          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:239            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239              'invocation' ( temp uint)
+0:239            Constant:
+0:239              1 (const int)
+0:239          Constant:
+0:239            0 (const int)
+0:239        subgroupInclusiveOr ( global int)
+0:239          direct index ( temp int)
+0:239            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:239              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239                Constant:
+0:239                  0 (const int)
+0:239              Constant:
+0:239                1 (const int)
+0:239            Constant:
+0:239              0 (const int)
+0:240      move second child to first child ( temp 2-component vector of int)
+0:240        vector swizzle ( temp 2-component vector of int)
+0:240          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:240            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:240              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:240              'invocation' ( temp uint)
+0:240            Constant:
+0:240              1 (const int)
+0:240          Sequence
+0:240            Constant:
+0:240              0 (const int)
+0:240            Constant:
+0:240              1 (const int)
+0:240        subgroupInclusiveOr ( global 2-component vector of int)
+0:240          vector swizzle ( temp 2-component vector of int)
+0:240            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:240              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:240                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:240                Constant:
+0:240                  1 (const int)
+0:240              Constant:
+0:240                1 (const int)
+0:240            Sequence
+0:240              Constant:
+0:240                0 (const int)
+0:240              Constant:
+0:240                1 (const int)
+0:241      move second child to first child ( temp 3-component vector of int)
+0:241        vector swizzle ( temp 3-component vector of int)
+0:241          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:241            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241              'invocation' ( temp uint)
+0:241            Constant:
+0:241              1 (const int)
+0:241          Sequence
+0:241            Constant:
+0:241              0 (const int)
+0:241            Constant:
+0:241              1 (const int)
+0:241            Constant:
+0:241              2 (const int)
+0:241        subgroupInclusiveOr ( global 3-component vector of int)
+0:241          vector swizzle ( temp 3-component vector of int)
+0:241            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:241              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241                Constant:
+0:241                  2 (const int)
+0:241              Constant:
+0:241                1 (const int)
+0:241            Sequence
+0:241              Constant:
+0:241                0 (const int)
+0:241              Constant:
+0:241                1 (const int)
+0:241              Constant:
+0:241                2 (const int)
+0:242      move second child to first child ( temp 4-component vector of int)
+0:242        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:242          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242            'invocation' ( temp uint)
+0:242          Constant:
+0:242            1 (const int)
+0:242        subgroupInclusiveOr ( global 4-component vector of int)
+0:242          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:242            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242              Constant:
+0:242                3 (const int)
+0:242            Constant:
+0:242              1 (const int)
+0:244      move second child to first child ( temp uint)
+0:244        direct index ( temp uint)
+0:244          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:244            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244              'invocation' ( temp uint)
+0:244            Constant:
+0:244              2 (const int)
+0:244          Constant:
+0:244            0 (const int)
+0:244        subgroupInclusiveOr ( global uint)
+0:244          direct index ( temp uint)
+0:244            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:244              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244                Constant:
+0:244                  0 (const int)
+0:244              Constant:
+0:244                2 (const int)
+0:244            Constant:
+0:244              0 (const int)
+0:245      move second child to first child ( temp 2-component vector of uint)
+0:245        vector swizzle ( temp 2-component vector of uint)
+0:245          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:245            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:245              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:245              'invocation' ( temp uint)
+0:245            Constant:
+0:245              2 (const int)
+0:245          Sequence
+0:245            Constant:
+0:245              0 (const int)
+0:245            Constant:
+0:245              1 (const int)
+0:245        subgroupInclusiveOr ( global 2-component vector of uint)
+0:245          vector swizzle ( temp 2-component vector of uint)
+0:245            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:245              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:245                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:245                Constant:
+0:245                  1 (const int)
+0:245              Constant:
+0:245                2 (const int)
+0:245            Sequence
+0:245              Constant:
+0:245                0 (const int)
+0:245              Constant:
+0:245                1 (const int)
+0:246      move second child to first child ( temp 3-component vector of uint)
+0:246        vector swizzle ( temp 3-component vector of uint)
+0:246          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:246            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246              'invocation' ( temp uint)
+0:246            Constant:
+0:246              2 (const int)
+0:246          Sequence
+0:246            Constant:
+0:246              0 (const int)
+0:246            Constant:
+0:246              1 (const int)
+0:246            Constant:
+0:246              2 (const int)
+0:246        subgroupInclusiveOr ( global 3-component vector of uint)
+0:246          vector swizzle ( temp 3-component vector of uint)
+0:246            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:246              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246                Constant:
+0:246                  2 (const int)
+0:246              Constant:
+0:246                2 (const int)
+0:246            Sequence
+0:246              Constant:
+0:246                0 (const int)
+0:246              Constant:
+0:246                1 (const int)
+0:246              Constant:
+0:246                2 (const int)
+0:247      move second child to first child ( temp 4-component vector of uint)
+0:247        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:247          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247            'invocation' ( temp uint)
+0:247          Constant:
+0:247            2 (const int)
+0:247        subgroupInclusiveOr ( global 4-component vector of uint)
+0:247          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:247            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247              Constant:
+0:247                3 (const int)
+0:247            Constant:
+0:247              2 (const int)
+0:249      move second child to first child ( temp int)
+0:249        direct index ( temp int)
+0:249          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:249            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249              'invocation' ( temp uint)
+0:249            Constant:
+0:249              1 (const int)
+0:249          Constant:
+0:249            0 (const int)
+0:249        Convert bool to int ( temp int)
+0:249          subgroupInclusiveOr ( global bool)
+0:249            Compare Less Than ( temp bool)
+0:249              direct index ( temp int)
+0:249                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:249                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249                    Constant:
+0:249                      0 (const int)
+0:249                  Constant:
+0:249                    1 (const int)
+0:249                Constant:
+0:249                  0 (const int)
+0:249              Constant:
+0:249                0 (const int)
+0:250      move second child to first child ( temp 2-component vector of int)
+0:250        vector swizzle ( temp 2-component vector of int)
+0:250          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:250            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:250              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:250              'invocation' ( temp uint)
+0:250            Constant:
+0:250              1 (const int)
+0:250          Sequence
+0:250            Constant:
+0:250              0 (const int)
+0:250            Constant:
+0:250              1 (const int)
+0:250        Convert bool to int ( temp 2-component vector of int)
+0:250          subgroupInclusiveOr ( global 2-component vector of bool)
+0:250            Compare Less Than ( global 2-component vector of bool)
+0:250              vector swizzle ( temp 2-component vector of int)
+0:250                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:250                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:250                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:250                    Constant:
+0:250                      1 (const int)
+0:250                  Constant:
+0:250                    1 (const int)
+0:250                Sequence
+0:250                  Constant:
+0:250                    0 (const int)
+0:250                  Constant:
+0:250                    1 (const int)
+0:250              Constant:
+0:250                0 (const int)
+0:250                0 (const int)
+0:251      move second child to first child ( temp 3-component vector of int)
+0:251        vector swizzle ( temp 3-component vector of int)
+0:251          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:251            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251              'invocation' ( temp uint)
+0:251            Constant:
+0:251              1 (const int)
+0:251          Sequence
+0:251            Constant:
+0:251              0 (const int)
+0:251            Constant:
+0:251              1 (const int)
+0:251            Constant:
+0:251              2 (const int)
+0:251        Convert bool to int ( temp 3-component vector of int)
+0:251          subgroupInclusiveOr ( global 3-component vector of bool)
+0:251            Compare Less Than ( global 3-component vector of bool)
+0:251              vector swizzle ( temp 3-component vector of int)
+0:251                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:251                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251                    Constant:
+0:251                      1 (const int)
+0:251                  Constant:
+0:251                    1 (const int)
+0:251                Sequence
+0:251                  Constant:
+0:251                    0 (const int)
+0:251                  Constant:
+0:251                    1 (const int)
+0:251                  Constant:
+0:251                    2 (const int)
+0:251              Constant:
+0:251                0 (const int)
+0:251                0 (const int)
+0:251                0 (const int)
+0:252      move second child to first child ( temp 4-component vector of int)
+0:252        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:252          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252            'invocation' ( temp uint)
+0:252          Constant:
+0:252            1 (const int)
+0:252        Convert bool to int ( temp 4-component vector of int)
+0:252          subgroupInclusiveOr ( global 4-component vector of bool)
+0:252            Compare Less Than ( global 4-component vector of bool)
+0:252              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:252                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252                  Constant:
+0:252                    1 (const int)
+0:252                Constant:
+0:252                  1 (const int)
+0:252              Constant:
+0:252                0 (const int)
+0:252                0 (const int)
+0:252                0 (const int)
+0:252                0 (const int)
+0:254      move second child to first child ( temp int)
+0:254        direct index ( temp int)
+0:254          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:254            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254              'invocation' ( temp uint)
+0:254            Constant:
+0:254              1 (const int)
+0:254          Constant:
+0:254            0 (const int)
+0:254        subgroupInclusiveXor ( global int)
+0:254          direct index ( temp int)
+0:254            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:254              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254                Constant:
+0:254                  0 (const int)
+0:254              Constant:
+0:254                1 (const int)
+0:254            Constant:
+0:254              0 (const int)
+0:255      move second child to first child ( temp 2-component vector of int)
+0:255        vector swizzle ( temp 2-component vector of int)
+0:255          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:255            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:255              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:255              'invocation' ( temp uint)
+0:255            Constant:
+0:255              1 (const int)
+0:255          Sequence
+0:255            Constant:
+0:255              0 (const int)
+0:255            Constant:
+0:255              1 (const int)
+0:255        subgroupInclusiveXor ( global 2-component vector of int)
+0:255          vector swizzle ( temp 2-component vector of int)
+0:255            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:255              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:255                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:255                Constant:
+0:255                  1 (const int)
+0:255              Constant:
+0:255                1 (const int)
+0:255            Sequence
+0:255              Constant:
+0:255                0 (const int)
+0:255              Constant:
+0:255                1 (const int)
+0:256      move second child to first child ( temp 3-component vector of int)
+0:256        vector swizzle ( temp 3-component vector of int)
+0:256          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:256            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256              'invocation' ( temp uint)
+0:256            Constant:
+0:256              1 (const int)
+0:256          Sequence
+0:256            Constant:
+0:256              0 (const int)
+0:256            Constant:
+0:256              1 (const int)
+0:256            Constant:
+0:256              2 (const int)
+0:256        subgroupInclusiveXor ( global 3-component vector of int)
+0:256          vector swizzle ( temp 3-component vector of int)
+0:256            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:256              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256                Constant:
+0:256                  2 (const int)
+0:256              Constant:
+0:256                1 (const int)
+0:256            Sequence
+0:256              Constant:
+0:256                0 (const int)
+0:256              Constant:
+0:256                1 (const int)
+0:256              Constant:
+0:256                2 (const int)
+0:257      move second child to first child ( temp 4-component vector of int)
+0:257        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:257          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257            'invocation' ( temp uint)
+0:257          Constant:
+0:257            1 (const int)
+0:257        subgroupInclusiveXor ( global 4-component vector of int)
+0:257          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:257            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257              Constant:
+0:257                3 (const int)
+0:257            Constant:
+0:257              1 (const int)
+0:259      move second child to first child ( temp uint)
+0:259        direct index ( temp uint)
+0:259          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:259            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259              'invocation' ( temp uint)
+0:259            Constant:
+0:259              2 (const int)
+0:259          Constant:
+0:259            0 (const int)
+0:259        subgroupInclusiveXor ( global uint)
+0:259          direct index ( temp uint)
+0:259            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:259              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259                Constant:
+0:259                  0 (const int)
+0:259              Constant:
+0:259                2 (const int)
+0:259            Constant:
+0:259              0 (const int)
+0:260      move second child to first child ( temp 2-component vector of uint)
+0:260        vector swizzle ( temp 2-component vector of uint)
+0:260          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:260            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:260              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:260              'invocation' ( temp uint)
+0:260            Constant:
+0:260              2 (const int)
+0:260          Sequence
+0:260            Constant:
+0:260              0 (const int)
+0:260            Constant:
+0:260              1 (const int)
+0:260        subgroupInclusiveXor ( global 2-component vector of uint)
+0:260          vector swizzle ( temp 2-component vector of uint)
+0:260            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:260              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:260                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:260                Constant:
+0:260                  1 (const int)
+0:260              Constant:
+0:260                2 (const int)
+0:260            Sequence
+0:260              Constant:
+0:260                0 (const int)
+0:260              Constant:
+0:260                1 (const int)
+0:261      move second child to first child ( temp 3-component vector of uint)
+0:261        vector swizzle ( temp 3-component vector of uint)
+0:261          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:261            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261              'invocation' ( temp uint)
+0:261            Constant:
+0:261              2 (const int)
+0:261          Sequence
+0:261            Constant:
+0:261              0 (const int)
+0:261            Constant:
+0:261              1 (const int)
+0:261            Constant:
+0:261              2 (const int)
+0:261        subgroupInclusiveXor ( global 3-component vector of uint)
+0:261          vector swizzle ( temp 3-component vector of uint)
+0:261            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:261              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261                Constant:
+0:261                  2 (const int)
+0:261              Constant:
+0:261                2 (const int)
+0:261            Sequence
+0:261              Constant:
+0:261                0 (const int)
+0:261              Constant:
+0:261                1 (const int)
+0:261              Constant:
+0:261                2 (const int)
+0:262      move second child to first child ( temp 4-component vector of uint)
+0:262        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:262          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262            'invocation' ( temp uint)
+0:262          Constant:
+0:262            2 (const int)
+0:262        subgroupInclusiveXor ( global 4-component vector of uint)
+0:262          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:262            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262              Constant:
+0:262                3 (const int)
+0:262            Constant:
+0:262              2 (const int)
+0:264      move second child to first child ( temp int)
+0:264        direct index ( temp int)
+0:264          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:264            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264              'invocation' ( temp uint)
+0:264            Constant:
+0:264              1 (const int)
+0:264          Constant:
+0:264            0 (const int)
+0:264        Convert bool to int ( temp int)
+0:264          subgroupInclusiveXor ( global bool)
+0:264            Compare Less Than ( temp bool)
+0:264              direct index ( temp int)
+0:264                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:264                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264                    Constant:
+0:264                      0 (const int)
+0:264                  Constant:
+0:264                    1 (const int)
+0:264                Constant:
+0:264                  0 (const int)
+0:264              Constant:
+0:264                0 (const int)
+0:265      move second child to first child ( temp 2-component vector of int)
+0:265        vector swizzle ( temp 2-component vector of int)
+0:265          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:265            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:265              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:265              'invocation' ( temp uint)
+0:265            Constant:
+0:265              1 (const int)
+0:265          Sequence
+0:265            Constant:
+0:265              0 (const int)
+0:265            Constant:
+0:265              1 (const int)
+0:265        Convert bool to int ( temp 2-component vector of int)
+0:265          subgroupInclusiveXor ( global 2-component vector of bool)
+0:265            Compare Less Than ( global 2-component vector of bool)
+0:265              vector swizzle ( temp 2-component vector of int)
+0:265                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:265                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:265                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:265                    Constant:
+0:265                      1 (const int)
+0:265                  Constant:
+0:265                    1 (const int)
+0:265                Sequence
+0:265                  Constant:
+0:265                    0 (const int)
+0:265                  Constant:
+0:265                    1 (const int)
+0:265              Constant:
+0:265                0 (const int)
+0:265                0 (const int)
+0:266      move second child to first child ( temp 3-component vector of int)
+0:266        vector swizzle ( temp 3-component vector of int)
+0:266          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:266            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266              'invocation' ( temp uint)
+0:266            Constant:
+0:266              1 (const int)
+0:266          Sequence
+0:266            Constant:
+0:266              0 (const int)
+0:266            Constant:
+0:266              1 (const int)
+0:266            Constant:
+0:266              2 (const int)
+0:266        Convert bool to int ( temp 3-component vector of int)
+0:266          subgroupInclusiveXor ( global 3-component vector of bool)
+0:266            Compare Less Than ( global 3-component vector of bool)
+0:266              vector swizzle ( temp 3-component vector of int)
+0:266                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:266                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266                    Constant:
+0:266                      1 (const int)
+0:266                  Constant:
+0:266                    1 (const int)
+0:266                Sequence
+0:266                  Constant:
+0:266                    0 (const int)
+0:266                  Constant:
+0:266                    1 (const int)
+0:266                  Constant:
+0:266                    2 (const int)
+0:266              Constant:
+0:266                0 (const int)
+0:266                0 (const int)
+0:266                0 (const int)
+0:267      move second child to first child ( temp 4-component vector of int)
+0:267        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:267          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267            'invocation' ( temp uint)
+0:267          Constant:
+0:267            1 (const int)
+0:267        Convert bool to int ( temp 4-component vector of int)
+0:267          subgroupInclusiveXor ( global 4-component vector of bool)
+0:267            Compare Less Than ( global 4-component vector of bool)
+0:267              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:267                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267                  Constant:
+0:267                    1 (const int)
+0:267                Constant:
+0:267                  1 (const int)
+0:267              Constant:
+0:267                0 (const int)
+0:267                0 (const int)
+0:267                0 (const int)
+0:267                0 (const int)
+0:269      move second child to first child ( temp float)
+0:269        direct index ( temp float)
+0:269          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:269            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269              'invocation' ( temp uint)
+0:269            Constant:
+0:269              0 (const int)
+0:269          Constant:
+0:269            0 (const int)
+0:269        subgroupExclusiveAdd ( global float)
+0:269          direct index ( temp float)
+0:269            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:269              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269                Constant:
+0:269                  0 (const int)
+0:269              Constant:
+0:269                0 (const int)
+0:269            Constant:
+0:269              0 (const int)
+0:270      move second child to first child ( temp 2-component vector of float)
+0:270        vector swizzle ( temp 2-component vector of float)
+0:270          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:270            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:270              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:270              'invocation' ( temp uint)
+0:270            Constant:
+0:270              0 (const int)
+0:270          Sequence
+0:270            Constant:
+0:270              0 (const int)
+0:270            Constant:
+0:270              1 (const int)
+0:270        subgroupExclusiveAdd ( global 2-component vector of float)
+0:270          vector swizzle ( temp 2-component vector of float)
+0:270            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:270              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:270                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:270                Constant:
+0:270                  1 (const int)
+0:270              Constant:
+0:270                0 (const int)
+0:270            Sequence
+0:270              Constant:
+0:270                0 (const int)
+0:270              Constant:
+0:270                1 (const int)
+0:271      move second child to first child ( temp 3-component vector of float)
+0:271        vector swizzle ( temp 3-component vector of float)
+0:271          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:271            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271              'invocation' ( temp uint)
+0:271            Constant:
+0:271              0 (const int)
+0:271          Sequence
+0:271            Constant:
+0:271              0 (const int)
+0:271            Constant:
+0:271              1 (const int)
+0:271            Constant:
+0:271              2 (const int)
+0:271        subgroupExclusiveAdd ( global 3-component vector of float)
+0:271          vector swizzle ( temp 3-component vector of float)
+0:271            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:271              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271                Constant:
+0:271                  2 (const int)
+0:271              Constant:
+0:271                0 (const int)
+0:271            Sequence
+0:271              Constant:
+0:271                0 (const int)
+0:271              Constant:
+0:271                1 (const int)
+0:271              Constant:
+0:271                2 (const int)
+0:272      move second child to first child ( temp 4-component vector of float)
+0:272        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:272          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272            'invocation' ( temp uint)
+0:272          Constant:
+0:272            0 (const int)
+0:272        subgroupExclusiveAdd ( global 4-component vector of float)
+0:272          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:272            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272              Constant:
+0:272                3 (const int)
+0:272            Constant:
+0:272              0 (const int)
+0:274      move second child to first child ( temp int)
+0:274        direct index ( temp int)
+0:274          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:274            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274              'invocation' ( temp uint)
+0:274            Constant:
+0:274              1 (const int)
+0:274          Constant:
+0:274            0 (const int)
+0:274        subgroupExclusiveAdd ( global int)
+0:274          direct index ( temp int)
+0:274            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:274              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274                Constant:
+0:274                  0 (const int)
+0:274              Constant:
+0:274                1 (const int)
+0:274            Constant:
+0:274              0 (const int)
+0:275      move second child to first child ( temp 2-component vector of int)
+0:275        vector swizzle ( temp 2-component vector of int)
+0:275          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:275            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:275              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:275              'invocation' ( temp uint)
+0:275            Constant:
+0:275              1 (const int)
+0:275          Sequence
+0:275            Constant:
+0:275              0 (const int)
+0:275            Constant:
+0:275              1 (const int)
+0:275        subgroupExclusiveAdd ( global 2-component vector of int)
+0:275          vector swizzle ( temp 2-component vector of int)
+0:275            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:275              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:275                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:275                Constant:
+0:275                  1 (const int)
+0:275              Constant:
+0:275                1 (const int)
+0:275            Sequence
+0:275              Constant:
+0:275                0 (const int)
+0:275              Constant:
+0:275                1 (const int)
+0:276      move second child to first child ( temp 3-component vector of int)
+0:276        vector swizzle ( temp 3-component vector of int)
+0:276          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:276            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276              'invocation' ( temp uint)
+0:276            Constant:
+0:276              1 (const int)
+0:276          Sequence
+0:276            Constant:
+0:276              0 (const int)
+0:276            Constant:
+0:276              1 (const int)
+0:276            Constant:
+0:276              2 (const int)
+0:276        subgroupExclusiveAdd ( global 3-component vector of int)
+0:276          vector swizzle ( temp 3-component vector of int)
+0:276            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:276              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276                Constant:
+0:276                  2 (const int)
+0:276              Constant:
+0:276                1 (const int)
+0:276            Sequence
+0:276              Constant:
+0:276                0 (const int)
+0:276              Constant:
+0:276                1 (const int)
+0:276              Constant:
+0:276                2 (const int)
+0:277      move second child to first child ( temp 4-component vector of int)
+0:277        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:277          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277            'invocation' ( temp uint)
+0:277          Constant:
+0:277            1 (const int)
+0:277        subgroupExclusiveAdd ( global 4-component vector of int)
+0:277          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:277            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277              Constant:
+0:277                3 (const int)
+0:277            Constant:
+0:277              1 (const int)
+0:279      move second child to first child ( temp uint)
+0:279        direct index ( temp uint)
+0:279          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:279            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279              'invocation' ( temp uint)
+0:279            Constant:
+0:279              2 (const int)
+0:279          Constant:
+0:279            0 (const int)
+0:279        subgroupExclusiveAdd ( global uint)
+0:279          direct index ( temp uint)
+0:279            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:279              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279                Constant:
+0:279                  0 (const int)
+0:279              Constant:
+0:279                2 (const int)
+0:279            Constant:
+0:279              0 (const int)
+0:280      move second child to first child ( temp 2-component vector of uint)
+0:280        vector swizzle ( temp 2-component vector of uint)
+0:280          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:280            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:280              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:280              'invocation' ( temp uint)
+0:280            Constant:
+0:280              2 (const int)
+0:280          Sequence
+0:280            Constant:
+0:280              0 (const int)
+0:280            Constant:
+0:280              1 (const int)
+0:280        subgroupExclusiveAdd ( global 2-component vector of uint)
+0:280          vector swizzle ( temp 2-component vector of uint)
+0:280            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:280              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:280                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:280                Constant:
+0:280                  1 (const int)
+0:280              Constant:
+0:280                2 (const int)
+0:280            Sequence
+0:280              Constant:
+0:280                0 (const int)
+0:280              Constant:
+0:280                1 (const int)
+0:281      move second child to first child ( temp 3-component vector of uint)
+0:281        vector swizzle ( temp 3-component vector of uint)
+0:281          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:281            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281              'invocation' ( temp uint)
+0:281            Constant:
+0:281              2 (const int)
+0:281          Sequence
+0:281            Constant:
+0:281              0 (const int)
+0:281            Constant:
+0:281              1 (const int)
+0:281            Constant:
+0:281              2 (const int)
+0:281        subgroupExclusiveAdd ( global 3-component vector of uint)
+0:281          vector swizzle ( temp 3-component vector of uint)
+0:281            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:281              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281                Constant:
+0:281                  2 (const int)
+0:281              Constant:
+0:281                2 (const int)
+0:281            Sequence
+0:281              Constant:
+0:281                0 (const int)
+0:281              Constant:
+0:281                1 (const int)
+0:281              Constant:
+0:281                2 (const int)
+0:282      move second child to first child ( temp 4-component vector of uint)
+0:282        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:282          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282            'invocation' ( temp uint)
+0:282          Constant:
+0:282            2 (const int)
+0:282        subgroupExclusiveAdd ( global 4-component vector of uint)
+0:282          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:282            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282              Constant:
+0:282                3 (const int)
+0:282            Constant:
+0:282              2 (const int)
+0:284      move second child to first child ( temp double)
+0:284        direct index ( temp double)
+0:284          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:284            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284              'invocation' ( temp uint)
+0:284            Constant:
+0:284              3 (const int)
+0:284          Constant:
+0:284            0 (const int)
+0:284        subgroupExclusiveAdd ( global double)
+0:284          direct index ( temp double)
+0:284            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:284              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284                Constant:
+0:284                  0 (const int)
+0:284              Constant:
+0:284                3 (const int)
+0:284            Constant:
+0:284              0 (const int)
+0:285      move second child to first child ( temp 2-component vector of double)
+0:285        vector swizzle ( temp 2-component vector of double)
+0:285          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:285            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:285              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:285              'invocation' ( temp uint)
+0:285            Constant:
+0:285              3 (const int)
+0:285          Sequence
+0:285            Constant:
+0:285              0 (const int)
+0:285            Constant:
+0:285              1 (const int)
+0:285        subgroupExclusiveAdd ( global 2-component vector of double)
+0:285          vector swizzle ( temp 2-component vector of double)
+0:285            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:285              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:285                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:285                Constant:
+0:285                  1 (const int)
+0:285              Constant:
+0:285                3 (const int)
+0:285            Sequence
+0:285              Constant:
+0:285                0 (const int)
+0:285              Constant:
+0:285                1 (const int)
+0:286      move second child to first child ( temp 3-component vector of double)
+0:286        vector swizzle ( temp 3-component vector of double)
+0:286          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:286            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286              'invocation' ( temp uint)
+0:286            Constant:
+0:286              3 (const int)
+0:286          Sequence
+0:286            Constant:
+0:286              0 (const int)
+0:286            Constant:
+0:286              1 (const int)
+0:286            Constant:
+0:286              2 (const int)
+0:286        subgroupExclusiveAdd ( global 3-component vector of double)
+0:286          vector swizzle ( temp 3-component vector of double)
+0:286            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:286              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286                Constant:
+0:286                  2 (const int)
+0:286              Constant:
+0:286                3 (const int)
+0:286            Sequence
+0:286              Constant:
+0:286                0 (const int)
+0:286              Constant:
+0:286                1 (const int)
+0:286              Constant:
+0:286                2 (const int)
+0:287      move second child to first child ( temp 4-component vector of double)
+0:287        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:287          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287            'invocation' ( temp uint)
+0:287          Constant:
+0:287            3 (const int)
+0:287        subgroupExclusiveAdd ( global 4-component vector of double)
+0:287          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:287            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287              Constant:
+0:287                3 (const int)
+0:287            Constant:
+0:287              3 (const int)
+0:289      move second child to first child ( temp float)
+0:289        direct index ( temp float)
+0:289          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:289            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289              'invocation' ( temp uint)
+0:289            Constant:
+0:289              0 (const int)
+0:289          Constant:
+0:289            0 (const int)
+0:289        subgroupExclusiveMul ( global float)
+0:289          direct index ( temp float)
+0:289            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:289              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289                Constant:
+0:289                  0 (const int)
+0:289              Constant:
+0:289                0 (const int)
+0:289            Constant:
+0:289              0 (const int)
+0:290      move second child to first child ( temp 2-component vector of float)
+0:290        vector swizzle ( temp 2-component vector of float)
+0:290          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:290            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:290              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:290              'invocation' ( temp uint)
+0:290            Constant:
+0:290              0 (const int)
+0:290          Sequence
+0:290            Constant:
+0:290              0 (const int)
+0:290            Constant:
+0:290              1 (const int)
+0:290        subgroupExclusiveMul ( global 2-component vector of float)
+0:290          vector swizzle ( temp 2-component vector of float)
+0:290            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:290              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:290                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:290                Constant:
+0:290                  1 (const int)
+0:290              Constant:
+0:290                0 (const int)
+0:290            Sequence
+0:290              Constant:
+0:290                0 (const int)
+0:290              Constant:
+0:290                1 (const int)
+0:291      move second child to first child ( temp 3-component vector of float)
+0:291        vector swizzle ( temp 3-component vector of float)
+0:291          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:291            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291              'invocation' ( temp uint)
+0:291            Constant:
+0:291              0 (const int)
+0:291          Sequence
+0:291            Constant:
+0:291              0 (const int)
+0:291            Constant:
+0:291              1 (const int)
+0:291            Constant:
+0:291              2 (const int)
+0:291        subgroupExclusiveMul ( global 3-component vector of float)
+0:291          vector swizzle ( temp 3-component vector of float)
+0:291            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:291              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291                Constant:
+0:291                  2 (const int)
+0:291              Constant:
+0:291                0 (const int)
+0:291            Sequence
+0:291              Constant:
+0:291                0 (const int)
+0:291              Constant:
+0:291                1 (const int)
+0:291              Constant:
+0:291                2 (const int)
+0:292      move second child to first child ( temp 4-component vector of float)
+0:292        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:292          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292            'invocation' ( temp uint)
+0:292          Constant:
+0:292            0 (const int)
+0:292        subgroupExclusiveMul ( global 4-component vector of float)
+0:292          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:292            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292              Constant:
+0:292                3 (const int)
+0:292            Constant:
+0:292              0 (const int)
+0:294      move second child to first child ( temp int)
+0:294        direct index ( temp int)
+0:294          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:294            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294              'invocation' ( temp uint)
+0:294            Constant:
+0:294              1 (const int)
+0:294          Constant:
+0:294            0 (const int)
+0:294        subgroupExclusiveMul ( global int)
+0:294          direct index ( temp int)
+0:294            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:294              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294                Constant:
+0:294                  0 (const int)
+0:294              Constant:
+0:294                1 (const int)
+0:294            Constant:
+0:294              0 (const int)
+0:295      move second child to first child ( temp 2-component vector of int)
+0:295        vector swizzle ( temp 2-component vector of int)
+0:295          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:295            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:295              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:295              'invocation' ( temp uint)
+0:295            Constant:
+0:295              1 (const int)
+0:295          Sequence
+0:295            Constant:
+0:295              0 (const int)
+0:295            Constant:
+0:295              1 (const int)
+0:295        subgroupExclusiveMul ( global 2-component vector of int)
+0:295          vector swizzle ( temp 2-component vector of int)
+0:295            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:295              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:295                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:295                Constant:
+0:295                  1 (const int)
+0:295              Constant:
+0:295                1 (const int)
+0:295            Sequence
+0:295              Constant:
+0:295                0 (const int)
+0:295              Constant:
+0:295                1 (const int)
+0:296      move second child to first child ( temp 3-component vector of int)
+0:296        vector swizzle ( temp 3-component vector of int)
+0:296          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:296            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296              'invocation' ( temp uint)
+0:296            Constant:
+0:296              1 (const int)
+0:296          Sequence
+0:296            Constant:
+0:296              0 (const int)
+0:296            Constant:
+0:296              1 (const int)
+0:296            Constant:
+0:296              2 (const int)
+0:296        subgroupExclusiveMul ( global 3-component vector of int)
+0:296          vector swizzle ( temp 3-component vector of int)
+0:296            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:296              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296                Constant:
+0:296                  2 (const int)
+0:296              Constant:
+0:296                1 (const int)
+0:296            Sequence
+0:296              Constant:
+0:296                0 (const int)
+0:296              Constant:
+0:296                1 (const int)
+0:296              Constant:
+0:296                2 (const int)
+0:297      move second child to first child ( temp 4-component vector of int)
+0:297        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:297          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297            'invocation' ( temp uint)
+0:297          Constant:
+0:297            1 (const int)
+0:297        subgroupExclusiveMul ( global 4-component vector of int)
+0:297          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:297            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297              Constant:
+0:297                3 (const int)
+0:297            Constant:
+0:297              1 (const int)
+0:299      move second child to first child ( temp uint)
+0:299        direct index ( temp uint)
+0:299          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:299            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299              'invocation' ( temp uint)
+0:299            Constant:
+0:299              2 (const int)
+0:299          Constant:
+0:299            0 (const int)
+0:299        subgroupExclusiveMul ( global uint)
+0:299          direct index ( temp uint)
+0:299            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:299              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299                Constant:
+0:299                  0 (const int)
+0:299              Constant:
+0:299                2 (const int)
+0:299            Constant:
+0:299              0 (const int)
+0:300      move second child to first child ( temp 2-component vector of uint)
+0:300        vector swizzle ( temp 2-component vector of uint)
+0:300          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:300            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:300              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:300              'invocation' ( temp uint)
+0:300            Constant:
+0:300              2 (const int)
+0:300          Sequence
+0:300            Constant:
+0:300              0 (const int)
+0:300            Constant:
+0:300              1 (const int)
+0:300        subgroupExclusiveMul ( global 2-component vector of uint)
+0:300          vector swizzle ( temp 2-component vector of uint)
+0:300            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:300              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:300                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:300                Constant:
+0:300                  1 (const int)
+0:300              Constant:
+0:300                2 (const int)
+0:300            Sequence
+0:300              Constant:
+0:300                0 (const int)
+0:300              Constant:
+0:300                1 (const int)
+0:301      move second child to first child ( temp 3-component vector of uint)
+0:301        vector swizzle ( temp 3-component vector of uint)
+0:301          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:301            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301              'invocation' ( temp uint)
+0:301            Constant:
+0:301              2 (const int)
+0:301          Sequence
+0:301            Constant:
+0:301              0 (const int)
+0:301            Constant:
+0:301              1 (const int)
+0:301            Constant:
+0:301              2 (const int)
+0:301        subgroupExclusiveMul ( global 3-component vector of uint)
+0:301          vector swizzle ( temp 3-component vector of uint)
+0:301            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:301              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301                Constant:
+0:301                  2 (const int)
+0:301              Constant:
+0:301                2 (const int)
+0:301            Sequence
+0:301              Constant:
+0:301                0 (const int)
+0:301              Constant:
+0:301                1 (const int)
+0:301              Constant:
+0:301                2 (const int)
+0:302      move second child to first child ( temp 4-component vector of uint)
+0:302        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:302          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302            'invocation' ( temp uint)
+0:302          Constant:
+0:302            2 (const int)
+0:302        subgroupExclusiveMul ( global 4-component vector of uint)
+0:302          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:302            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302              Constant:
+0:302                3 (const int)
+0:302            Constant:
+0:302              2 (const int)
+0:304      move second child to first child ( temp double)
+0:304        direct index ( temp double)
+0:304          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:304            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304              'invocation' ( temp uint)
+0:304            Constant:
+0:304              3 (const int)
+0:304          Constant:
+0:304            0 (const int)
+0:304        subgroupExclusiveMul ( global double)
+0:304          direct index ( temp double)
+0:304            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:304              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304                Constant:
+0:304                  0 (const int)
+0:304              Constant:
+0:304                3 (const int)
+0:304            Constant:
+0:304              0 (const int)
+0:305      move second child to first child ( temp 2-component vector of double)
+0:305        vector swizzle ( temp 2-component vector of double)
+0:305          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:305            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:305              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:305              'invocation' ( temp uint)
+0:305            Constant:
+0:305              3 (const int)
+0:305          Sequence
+0:305            Constant:
+0:305              0 (const int)
+0:305            Constant:
+0:305              1 (const int)
+0:305        subgroupExclusiveMul ( global 2-component vector of double)
+0:305          vector swizzle ( temp 2-component vector of double)
+0:305            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:305              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:305                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:305                Constant:
+0:305                  1 (const int)
+0:305              Constant:
+0:305                3 (const int)
+0:305            Sequence
+0:305              Constant:
+0:305                0 (const int)
+0:305              Constant:
+0:305                1 (const int)
+0:306      move second child to first child ( temp 3-component vector of double)
+0:306        vector swizzle ( temp 3-component vector of double)
+0:306          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:306            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306              'invocation' ( temp uint)
+0:306            Constant:
+0:306              3 (const int)
+0:306          Sequence
+0:306            Constant:
+0:306              0 (const int)
+0:306            Constant:
+0:306              1 (const int)
+0:306            Constant:
+0:306              2 (const int)
+0:306        subgroupExclusiveMul ( global 3-component vector of double)
+0:306          vector swizzle ( temp 3-component vector of double)
+0:306            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:306              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306                Constant:
+0:306                  2 (const int)
+0:306              Constant:
+0:306                3 (const int)
+0:306            Sequence
+0:306              Constant:
+0:306                0 (const int)
+0:306              Constant:
+0:306                1 (const int)
+0:306              Constant:
+0:306                2 (const int)
+0:307      move second child to first child ( temp 4-component vector of double)
+0:307        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:307          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307            'invocation' ( temp uint)
+0:307          Constant:
+0:307            3 (const int)
+0:307        subgroupExclusiveMul ( global 4-component vector of double)
+0:307          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:307            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307              Constant:
+0:307                3 (const int)
+0:307            Constant:
+0:307              3 (const int)
+0:309      move second child to first child ( temp float)
+0:309        direct index ( temp float)
+0:309          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:309            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309              'invocation' ( temp uint)
+0:309            Constant:
+0:309              0 (const int)
+0:309          Constant:
+0:309            0 (const int)
+0:309        subgroupExclusiveMin ( global float)
+0:309          direct index ( temp float)
+0:309            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:309              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309                Constant:
+0:309                  0 (const int)
+0:309              Constant:
+0:309                0 (const int)
+0:309            Constant:
+0:309              0 (const int)
+0:310      move second child to first child ( temp 2-component vector of float)
+0:310        vector swizzle ( temp 2-component vector of float)
+0:310          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:310            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:310              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:310              'invocation' ( temp uint)
+0:310            Constant:
+0:310              0 (const int)
+0:310          Sequence
+0:310            Constant:
+0:310              0 (const int)
+0:310            Constant:
+0:310              1 (const int)
+0:310        subgroupExclusiveMin ( global 2-component vector of float)
+0:310          vector swizzle ( temp 2-component vector of float)
+0:310            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:310              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:310                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:310                Constant:
+0:310                  1 (const int)
+0:310              Constant:
+0:310                0 (const int)
+0:310            Sequence
+0:310              Constant:
+0:310                0 (const int)
+0:310              Constant:
+0:310                1 (const int)
+0:311      move second child to first child ( temp 3-component vector of float)
+0:311        vector swizzle ( temp 3-component vector of float)
+0:311          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:311            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311              'invocation' ( temp uint)
+0:311            Constant:
+0:311              0 (const int)
+0:311          Sequence
+0:311            Constant:
+0:311              0 (const int)
+0:311            Constant:
+0:311              1 (const int)
+0:311            Constant:
+0:311              2 (const int)
+0:311        subgroupExclusiveMin ( global 3-component vector of float)
+0:311          vector swizzle ( temp 3-component vector of float)
+0:311            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:311              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311                Constant:
+0:311                  2 (const int)
+0:311              Constant:
+0:311                0 (const int)
+0:311            Sequence
+0:311              Constant:
+0:311                0 (const int)
+0:311              Constant:
+0:311                1 (const int)
+0:311              Constant:
+0:311                2 (const int)
+0:312      move second child to first child ( temp 4-component vector of float)
+0:312        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:312          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312            'invocation' ( temp uint)
+0:312          Constant:
+0:312            0 (const int)
+0:312        subgroupExclusiveMin ( global 4-component vector of float)
+0:312          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:312            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312              Constant:
+0:312                3 (const int)
+0:312            Constant:
+0:312              0 (const int)
+0:314      move second child to first child ( temp int)
+0:314        direct index ( temp int)
+0:314          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:314            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314              'invocation' ( temp uint)
+0:314            Constant:
+0:314              1 (const int)
+0:314          Constant:
+0:314            0 (const int)
+0:314        subgroupExclusiveMin ( global int)
+0:314          direct index ( temp int)
+0:314            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:314              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314                Constant:
+0:314                  0 (const int)
+0:314              Constant:
+0:314                1 (const int)
+0:314            Constant:
+0:314              0 (const int)
+0:315      move second child to first child ( temp 2-component vector of int)
+0:315        vector swizzle ( temp 2-component vector of int)
+0:315          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:315            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:315              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:315              'invocation' ( temp uint)
+0:315            Constant:
+0:315              1 (const int)
+0:315          Sequence
+0:315            Constant:
+0:315              0 (const int)
+0:315            Constant:
+0:315              1 (const int)
+0:315        subgroupExclusiveMin ( global 2-component vector of int)
+0:315          vector swizzle ( temp 2-component vector of int)
+0:315            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:315              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:315                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:315                Constant:
+0:315                  1 (const int)
+0:315              Constant:
+0:315                1 (const int)
+0:315            Sequence
+0:315              Constant:
+0:315                0 (const int)
+0:315              Constant:
+0:315                1 (const int)
+0:316      move second child to first child ( temp 3-component vector of int)
+0:316        vector swizzle ( temp 3-component vector of int)
+0:316          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:316            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316              'invocation' ( temp uint)
+0:316            Constant:
+0:316              1 (const int)
+0:316          Sequence
+0:316            Constant:
+0:316              0 (const int)
+0:316            Constant:
+0:316              1 (const int)
+0:316            Constant:
+0:316              2 (const int)
+0:316        subgroupExclusiveMin ( global 3-component vector of int)
+0:316          vector swizzle ( temp 3-component vector of int)
+0:316            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:316              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316                Constant:
+0:316                  2 (const int)
+0:316              Constant:
+0:316                1 (const int)
+0:316            Sequence
+0:316              Constant:
+0:316                0 (const int)
+0:316              Constant:
+0:316                1 (const int)
+0:316              Constant:
+0:316                2 (const int)
+0:317      move second child to first child ( temp 4-component vector of int)
+0:317        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:317          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317            'invocation' ( temp uint)
+0:317          Constant:
+0:317            1 (const int)
+0:317        subgroupExclusiveMin ( global 4-component vector of int)
+0:317          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:317            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317              Constant:
+0:317                3 (const int)
+0:317            Constant:
+0:317              1 (const int)
+0:319      move second child to first child ( temp uint)
+0:319        direct index ( temp uint)
+0:319          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:319            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319              'invocation' ( temp uint)
+0:319            Constant:
+0:319              2 (const int)
+0:319          Constant:
+0:319            0 (const int)
+0:319        subgroupExclusiveMin ( global uint)
+0:319          direct index ( temp uint)
+0:319            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:319              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319                Constant:
+0:319                  0 (const int)
+0:319              Constant:
+0:319                2 (const int)
+0:319            Constant:
+0:319              0 (const int)
+0:320      move second child to first child ( temp 2-component vector of uint)
+0:320        vector swizzle ( temp 2-component vector of uint)
+0:320          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:320            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:320              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:320              'invocation' ( temp uint)
+0:320            Constant:
+0:320              2 (const int)
+0:320          Sequence
+0:320            Constant:
+0:320              0 (const int)
+0:320            Constant:
+0:320              1 (const int)
+0:320        subgroupExclusiveMin ( global 2-component vector of uint)
+0:320          vector swizzle ( temp 2-component vector of uint)
+0:320            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:320              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:320                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:320                Constant:
+0:320                  1 (const int)
+0:320              Constant:
+0:320                2 (const int)
+0:320            Sequence
+0:320              Constant:
+0:320                0 (const int)
+0:320              Constant:
+0:320                1 (const int)
+0:321      move second child to first child ( temp 3-component vector of uint)
+0:321        vector swizzle ( temp 3-component vector of uint)
+0:321          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:321            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321              'invocation' ( temp uint)
+0:321            Constant:
+0:321              2 (const int)
+0:321          Sequence
+0:321            Constant:
+0:321              0 (const int)
+0:321            Constant:
+0:321              1 (const int)
+0:321            Constant:
+0:321              2 (const int)
+0:321        subgroupExclusiveMin ( global 3-component vector of uint)
+0:321          vector swizzle ( temp 3-component vector of uint)
+0:321            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:321              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321                Constant:
+0:321                  2 (const int)
+0:321              Constant:
+0:321                2 (const int)
+0:321            Sequence
+0:321              Constant:
+0:321                0 (const int)
+0:321              Constant:
+0:321                1 (const int)
+0:321              Constant:
+0:321                2 (const int)
+0:322      move second child to first child ( temp 4-component vector of uint)
+0:322        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:322          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322            'invocation' ( temp uint)
+0:322          Constant:
+0:322            2 (const int)
+0:322        subgroupExclusiveMin ( global 4-component vector of uint)
+0:322          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:322            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322              Constant:
+0:322                3 (const int)
+0:322            Constant:
+0:322              2 (const int)
+0:324      move second child to first child ( temp double)
+0:324        direct index ( temp double)
+0:324          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:324            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324              'invocation' ( temp uint)
+0:324            Constant:
+0:324              3 (const int)
+0:324          Constant:
+0:324            0 (const int)
+0:324        subgroupExclusiveMin ( global double)
+0:324          direct index ( temp double)
+0:324            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:324              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324                Constant:
+0:324                  0 (const int)
+0:324              Constant:
+0:324                3 (const int)
+0:324            Constant:
+0:324              0 (const int)
+0:325      move second child to first child ( temp 2-component vector of double)
+0:325        vector swizzle ( temp 2-component vector of double)
+0:325          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:325            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:325              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:325              'invocation' ( temp uint)
+0:325            Constant:
+0:325              3 (const int)
+0:325          Sequence
+0:325            Constant:
+0:325              0 (const int)
+0:325            Constant:
+0:325              1 (const int)
+0:325        subgroupExclusiveMin ( global 2-component vector of double)
+0:325          vector swizzle ( temp 2-component vector of double)
+0:325            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:325              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:325                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:325                Constant:
+0:325                  1 (const int)
+0:325              Constant:
+0:325                3 (const int)
+0:325            Sequence
+0:325              Constant:
+0:325                0 (const int)
+0:325              Constant:
+0:325                1 (const int)
+0:326      move second child to first child ( temp 3-component vector of double)
+0:326        vector swizzle ( temp 3-component vector of double)
+0:326          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:326            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326              'invocation' ( temp uint)
+0:326            Constant:
+0:326              3 (const int)
+0:326          Sequence
+0:326            Constant:
+0:326              0 (const int)
+0:326            Constant:
+0:326              1 (const int)
+0:326            Constant:
+0:326              2 (const int)
+0:326        subgroupExclusiveMin ( global 3-component vector of double)
+0:326          vector swizzle ( temp 3-component vector of double)
+0:326            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:326              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326                Constant:
+0:326                  2 (const int)
+0:326              Constant:
+0:326                3 (const int)
+0:326            Sequence
+0:326              Constant:
+0:326                0 (const int)
+0:326              Constant:
+0:326                1 (const int)
+0:326              Constant:
+0:326                2 (const int)
+0:327      move second child to first child ( temp 4-component vector of double)
+0:327        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:327          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327            'invocation' ( temp uint)
+0:327          Constant:
+0:327            3 (const int)
+0:327        subgroupExclusiveMin ( global 4-component vector of double)
+0:327          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:327            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327              Constant:
+0:327                3 (const int)
+0:327            Constant:
+0:327              3 (const int)
+0:329      move second child to first child ( temp float)
+0:329        direct index ( temp float)
+0:329          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:329            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329              'invocation' ( temp uint)
+0:329            Constant:
+0:329              0 (const int)
+0:329          Constant:
+0:329            0 (const int)
+0:329        subgroupExclusiveMax ( global float)
+0:329          direct index ( temp float)
+0:329            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:329              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329                Constant:
+0:329                  0 (const int)
+0:329              Constant:
+0:329                0 (const int)
+0:329            Constant:
+0:329              0 (const int)
+0:330      move second child to first child ( temp 2-component vector of float)
+0:330        vector swizzle ( temp 2-component vector of float)
+0:330          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:330            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:330              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:330              'invocation' ( temp uint)
+0:330            Constant:
+0:330              0 (const int)
+0:330          Sequence
+0:330            Constant:
+0:330              0 (const int)
+0:330            Constant:
+0:330              1 (const int)
+0:330        subgroupExclusiveMax ( global 2-component vector of float)
+0:330          vector swizzle ( temp 2-component vector of float)
+0:330            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:330              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:330                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:330                Constant:
+0:330                  1 (const int)
+0:330              Constant:
+0:330                0 (const int)
+0:330            Sequence
+0:330              Constant:
+0:330                0 (const int)
+0:330              Constant:
+0:330                1 (const int)
+0:331      move second child to first child ( temp 3-component vector of float)
+0:331        vector swizzle ( temp 3-component vector of float)
+0:331          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:331            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331              'invocation' ( temp uint)
+0:331            Constant:
+0:331              0 (const int)
+0:331          Sequence
+0:331            Constant:
+0:331              0 (const int)
+0:331            Constant:
+0:331              1 (const int)
+0:331            Constant:
+0:331              2 (const int)
+0:331        subgroupExclusiveMax ( global 3-component vector of float)
+0:331          vector swizzle ( temp 3-component vector of float)
+0:331            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:331              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331                Constant:
+0:331                  2 (const int)
+0:331              Constant:
+0:331                0 (const int)
+0:331            Sequence
+0:331              Constant:
+0:331                0 (const int)
+0:331              Constant:
+0:331                1 (const int)
+0:331              Constant:
+0:331                2 (const int)
+0:332      move second child to first child ( temp 4-component vector of float)
+0:332        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:332          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332            'invocation' ( temp uint)
+0:332          Constant:
+0:332            0 (const int)
+0:332        subgroupExclusiveMax ( global 4-component vector of float)
+0:332          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:332            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332              Constant:
+0:332                3 (const int)
+0:332            Constant:
+0:332              0 (const int)
+0:334      move second child to first child ( temp int)
+0:334        direct index ( temp int)
+0:334          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:334            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334              'invocation' ( temp uint)
+0:334            Constant:
+0:334              1 (const int)
+0:334          Constant:
+0:334            0 (const int)
+0:334        subgroupExclusiveMax ( global int)
+0:334          direct index ( temp int)
+0:334            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:334              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334                Constant:
+0:334                  0 (const int)
+0:334              Constant:
+0:334                1 (const int)
+0:334            Constant:
+0:334              0 (const int)
+0:335      move second child to first child ( temp 2-component vector of int)
+0:335        vector swizzle ( temp 2-component vector of int)
+0:335          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:335            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:335              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:335              'invocation' ( temp uint)
+0:335            Constant:
+0:335              1 (const int)
+0:335          Sequence
+0:335            Constant:
+0:335              0 (const int)
+0:335            Constant:
+0:335              1 (const int)
+0:335        subgroupExclusiveMax ( global 2-component vector of int)
+0:335          vector swizzle ( temp 2-component vector of int)
+0:335            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:335              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:335                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:335                Constant:
+0:335                  1 (const int)
+0:335              Constant:
+0:335                1 (const int)
+0:335            Sequence
+0:335              Constant:
+0:335                0 (const int)
+0:335              Constant:
+0:335                1 (const int)
+0:336      move second child to first child ( temp 3-component vector of int)
+0:336        vector swizzle ( temp 3-component vector of int)
+0:336          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:336            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336              'invocation' ( temp uint)
+0:336            Constant:
+0:336              1 (const int)
+0:336          Sequence
+0:336            Constant:
+0:336              0 (const int)
+0:336            Constant:
+0:336              1 (const int)
+0:336            Constant:
+0:336              2 (const int)
+0:336        subgroupExclusiveMax ( global 3-component vector of int)
+0:336          vector swizzle ( temp 3-component vector of int)
+0:336            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:336              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336                Constant:
+0:336                  2 (const int)
+0:336              Constant:
+0:336                1 (const int)
+0:336            Sequence
+0:336              Constant:
+0:336                0 (const int)
+0:336              Constant:
+0:336                1 (const int)
+0:336              Constant:
+0:336                2 (const int)
+0:337      move second child to first child ( temp 4-component vector of int)
+0:337        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:337          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337            'invocation' ( temp uint)
+0:337          Constant:
+0:337            1 (const int)
+0:337        subgroupExclusiveMax ( global 4-component vector of int)
+0:337          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:337            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337              Constant:
+0:337                3 (const int)
+0:337            Constant:
+0:337              1 (const int)
+0:339      move second child to first child ( temp uint)
+0:339        direct index ( temp uint)
+0:339          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:339            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339              'invocation' ( temp uint)
+0:339            Constant:
+0:339              2 (const int)
+0:339          Constant:
+0:339            0 (const int)
+0:339        subgroupExclusiveMax ( global uint)
+0:339          direct index ( temp uint)
+0:339            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:339              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339                Constant:
+0:339                  0 (const int)
+0:339              Constant:
+0:339                2 (const int)
+0:339            Constant:
+0:339              0 (const int)
+0:340      move second child to first child ( temp 2-component vector of uint)
+0:340        vector swizzle ( temp 2-component vector of uint)
+0:340          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:340            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:340              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:340              'invocation' ( temp uint)
+0:340            Constant:
+0:340              2 (const int)
+0:340          Sequence
+0:340            Constant:
+0:340              0 (const int)
+0:340            Constant:
+0:340              1 (const int)
+0:340        subgroupExclusiveMax ( global 2-component vector of uint)
+0:340          vector swizzle ( temp 2-component vector of uint)
+0:340            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:340              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:340                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:340                Constant:
+0:340                  1 (const int)
+0:340              Constant:
+0:340                2 (const int)
+0:340            Sequence
+0:340              Constant:
+0:340                0 (const int)
+0:340              Constant:
+0:340                1 (const int)
+0:341      move second child to first child ( temp 3-component vector of uint)
+0:341        vector swizzle ( temp 3-component vector of uint)
+0:341          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:341            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341              'invocation' ( temp uint)
+0:341            Constant:
+0:341              2 (const int)
+0:341          Sequence
+0:341            Constant:
+0:341              0 (const int)
+0:341            Constant:
+0:341              1 (const int)
+0:341            Constant:
+0:341              2 (const int)
+0:341        subgroupExclusiveMax ( global 3-component vector of uint)
+0:341          vector swizzle ( temp 3-component vector of uint)
+0:341            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:341              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341                Constant:
+0:341                  2 (const int)
+0:341              Constant:
+0:341                2 (const int)
+0:341            Sequence
+0:341              Constant:
+0:341                0 (const int)
+0:341              Constant:
+0:341                1 (const int)
+0:341              Constant:
+0:341                2 (const int)
+0:342      move second child to first child ( temp 4-component vector of uint)
+0:342        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:342          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342            'invocation' ( temp uint)
+0:342          Constant:
+0:342            2 (const int)
+0:342        subgroupExclusiveMax ( global 4-component vector of uint)
+0:342          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:342            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342              Constant:
+0:342                3 (const int)
+0:342            Constant:
+0:342              2 (const int)
+0:344      move second child to first child ( temp double)
+0:344        direct index ( temp double)
+0:344          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:344            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344              'invocation' ( temp uint)
+0:344            Constant:
+0:344              3 (const int)
+0:344          Constant:
+0:344            0 (const int)
+0:344        subgroupExclusiveMax ( global double)
+0:344          direct index ( temp double)
+0:344            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:344              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344                Constant:
+0:344                  0 (const int)
+0:344              Constant:
+0:344                3 (const int)
+0:344            Constant:
+0:344              0 (const int)
+0:345      move second child to first child ( temp 2-component vector of double)
+0:345        vector swizzle ( temp 2-component vector of double)
+0:345          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:345            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:345              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:345              'invocation' ( temp uint)
+0:345            Constant:
+0:345              3 (const int)
+0:345          Sequence
+0:345            Constant:
+0:345              0 (const int)
+0:345            Constant:
+0:345              1 (const int)
+0:345        subgroupExclusiveMax ( global 2-component vector of double)
+0:345          vector swizzle ( temp 2-component vector of double)
+0:345            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:345              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:345                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:345                Constant:
+0:345                  1 (const int)
+0:345              Constant:
+0:345                3 (const int)
+0:345            Sequence
+0:345              Constant:
+0:345                0 (const int)
+0:345              Constant:
+0:345                1 (const int)
+0:346      move second child to first child ( temp 3-component vector of double)
+0:346        vector swizzle ( temp 3-component vector of double)
+0:346          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:346            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346              'invocation' ( temp uint)
+0:346            Constant:
+0:346              3 (const int)
+0:346          Sequence
+0:346            Constant:
+0:346              0 (const int)
+0:346            Constant:
+0:346              1 (const int)
+0:346            Constant:
+0:346              2 (const int)
+0:346        subgroupExclusiveMax ( global 3-component vector of double)
+0:346          vector swizzle ( temp 3-component vector of double)
+0:346            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:346              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346                Constant:
+0:346                  2 (const int)
+0:346              Constant:
+0:346                3 (const int)
+0:346            Sequence
+0:346              Constant:
+0:346                0 (const int)
+0:346              Constant:
+0:346                1 (const int)
+0:346              Constant:
+0:346                2 (const int)
+0:347      move second child to first child ( temp 4-component vector of double)
+0:347        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:347          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347            'invocation' ( temp uint)
+0:347          Constant:
+0:347            3 (const int)
+0:347        subgroupExclusiveMax ( global 4-component vector of double)
+0:347          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:347            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347              Constant:
+0:347                3 (const int)
+0:347            Constant:
+0:347              3 (const int)
+0:349      move second child to first child ( temp int)
+0:349        direct index ( temp int)
+0:349          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:349            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349              'invocation' ( temp uint)
+0:349            Constant:
+0:349              1 (const int)
+0:349          Constant:
+0:349            0 (const int)
+0:349        subgroupExclusiveAnd ( global int)
+0:349          direct index ( temp int)
+0:349            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:349              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349                Constant:
+0:349                  0 (const int)
+0:349              Constant:
+0:349                1 (const int)
+0:349            Constant:
+0:349              0 (const int)
+0:350      move second child to first child ( temp 2-component vector of int)
+0:350        vector swizzle ( temp 2-component vector of int)
+0:350          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:350            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:350              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:350              'invocation' ( temp uint)
+0:350            Constant:
+0:350              1 (const int)
+0:350          Sequence
+0:350            Constant:
+0:350              0 (const int)
+0:350            Constant:
+0:350              1 (const int)
+0:350        subgroupExclusiveAnd ( global 2-component vector of int)
+0:350          vector swizzle ( temp 2-component vector of int)
+0:350            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:350              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:350                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:350                Constant:
+0:350                  1 (const int)
+0:350              Constant:
+0:350                1 (const int)
+0:350            Sequence
+0:350              Constant:
+0:350                0 (const int)
+0:350              Constant:
+0:350                1 (const int)
+0:351      move second child to first child ( temp 3-component vector of int)
+0:351        vector swizzle ( temp 3-component vector of int)
+0:351          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:351            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351              'invocation' ( temp uint)
+0:351            Constant:
+0:351              1 (const int)
+0:351          Sequence
+0:351            Constant:
+0:351              0 (const int)
+0:351            Constant:
+0:351              1 (const int)
+0:351            Constant:
+0:351              2 (const int)
+0:351        subgroupExclusiveAnd ( global 3-component vector of int)
+0:351          vector swizzle ( temp 3-component vector of int)
+0:351            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:351              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351                Constant:
+0:351                  2 (const int)
+0:351              Constant:
+0:351                1 (const int)
+0:351            Sequence
+0:351              Constant:
+0:351                0 (const int)
+0:351              Constant:
+0:351                1 (const int)
+0:351              Constant:
+0:351                2 (const int)
+0:352      move second child to first child ( temp 4-component vector of int)
+0:352        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:352          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352            'invocation' ( temp uint)
+0:352          Constant:
+0:352            1 (const int)
+0:352        subgroupExclusiveAnd ( global 4-component vector of int)
+0:352          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:352            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352              Constant:
+0:352                3 (const int)
+0:352            Constant:
+0:352              1 (const int)
+0:354      move second child to first child ( temp uint)
+0:354        direct index ( temp uint)
+0:354          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:354            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354              'invocation' ( temp uint)
+0:354            Constant:
+0:354              2 (const int)
+0:354          Constant:
+0:354            0 (const int)
+0:354        subgroupExclusiveAnd ( global uint)
+0:354          direct index ( temp uint)
+0:354            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:354              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354                Constant:
+0:354                  0 (const int)
+0:354              Constant:
+0:354                2 (const int)
+0:354            Constant:
+0:354              0 (const int)
+0:355      move second child to first child ( temp 2-component vector of uint)
+0:355        vector swizzle ( temp 2-component vector of uint)
+0:355          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:355            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:355              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:355              'invocation' ( temp uint)
+0:355            Constant:
+0:355              2 (const int)
+0:355          Sequence
+0:355            Constant:
+0:355              0 (const int)
+0:355            Constant:
+0:355              1 (const int)
+0:355        subgroupExclusiveAnd ( global 2-component vector of uint)
+0:355          vector swizzle ( temp 2-component vector of uint)
+0:355            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:355              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:355                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:355                Constant:
+0:355                  1 (const int)
+0:355              Constant:
+0:355                2 (const int)
+0:355            Sequence
+0:355              Constant:
+0:355                0 (const int)
+0:355              Constant:
+0:355                1 (const int)
+0:356      move second child to first child ( temp 3-component vector of uint)
+0:356        vector swizzle ( temp 3-component vector of uint)
+0:356          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:356            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356              'invocation' ( temp uint)
+0:356            Constant:
+0:356              2 (const int)
+0:356          Sequence
+0:356            Constant:
+0:356              0 (const int)
+0:356            Constant:
+0:356              1 (const int)
+0:356            Constant:
+0:356              2 (const int)
+0:356        subgroupExclusiveAnd ( global 3-component vector of uint)
+0:356          vector swizzle ( temp 3-component vector of uint)
+0:356            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:356              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356                Constant:
+0:356                  2 (const int)
+0:356              Constant:
+0:356                2 (const int)
+0:356            Sequence
+0:356              Constant:
+0:356                0 (const int)
+0:356              Constant:
+0:356                1 (const int)
+0:356              Constant:
+0:356                2 (const int)
+0:357      move second child to first child ( temp 4-component vector of uint)
+0:357        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:357          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357            'invocation' ( temp uint)
+0:357          Constant:
+0:357            2 (const int)
+0:357        subgroupExclusiveAnd ( global 4-component vector of uint)
+0:357          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:357            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357              Constant:
+0:357                3 (const int)
+0:357            Constant:
+0:357              2 (const int)
+0:359      move second child to first child ( temp int)
+0:359        direct index ( temp int)
+0:359          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:359            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359              'invocation' ( temp uint)
+0:359            Constant:
+0:359              1 (const int)
+0:359          Constant:
+0:359            0 (const int)
+0:359        Convert bool to int ( temp int)
+0:359          subgroupExclusiveAnd ( global bool)
+0:359            Compare Less Than ( temp bool)
+0:359              direct index ( temp int)
+0:359                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:359                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359                    Constant:
+0:359                      0 (const int)
+0:359                  Constant:
+0:359                    1 (const int)
+0:359                Constant:
+0:359                  0 (const int)
+0:359              Constant:
+0:359                0 (const int)
+0:360      move second child to first child ( temp 2-component vector of int)
+0:360        vector swizzle ( temp 2-component vector of int)
+0:360          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:360            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:360              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:360              'invocation' ( temp uint)
+0:360            Constant:
+0:360              1 (const int)
+0:360          Sequence
+0:360            Constant:
+0:360              0 (const int)
+0:360            Constant:
+0:360              1 (const int)
+0:360        Convert bool to int ( temp 2-component vector of int)
+0:360          subgroupExclusiveAnd ( global 2-component vector of bool)
+0:360            Compare Less Than ( global 2-component vector of bool)
+0:360              vector swizzle ( temp 2-component vector of int)
+0:360                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:360                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:360                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:360                    Constant:
+0:360                      1 (const int)
+0:360                  Constant:
+0:360                    1 (const int)
+0:360                Sequence
+0:360                  Constant:
+0:360                    0 (const int)
+0:360                  Constant:
+0:360                    1 (const int)
+0:360              Constant:
+0:360                0 (const int)
+0:360                0 (const int)
+0:361      move second child to first child ( temp 3-component vector of int)
+0:361        vector swizzle ( temp 3-component vector of int)
+0:361          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:361            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361              'invocation' ( temp uint)
+0:361            Constant:
+0:361              1 (const int)
+0:361          Sequence
+0:361            Constant:
+0:361              0 (const int)
+0:361            Constant:
+0:361              1 (const int)
+0:361            Constant:
+0:361              2 (const int)
+0:361        Convert bool to int ( temp 3-component vector of int)
+0:361          subgroupExclusiveAnd ( global 3-component vector of bool)
+0:361            Compare Less Than ( global 3-component vector of bool)
+0:361              vector swizzle ( temp 3-component vector of int)
+0:361                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:361                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361                    Constant:
+0:361                      1 (const int)
+0:361                  Constant:
+0:361                    1 (const int)
+0:361                Sequence
+0:361                  Constant:
+0:361                    0 (const int)
+0:361                  Constant:
+0:361                    1 (const int)
+0:361                  Constant:
+0:361                    2 (const int)
+0:361              Constant:
+0:361                0 (const int)
+0:361                0 (const int)
+0:361                0 (const int)
+0:362      move second child to first child ( temp 4-component vector of int)
+0:362        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:362          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362            'invocation' ( temp uint)
+0:362          Constant:
+0:362            1 (const int)
+0:362        Convert bool to int ( temp 4-component vector of int)
+0:362          subgroupExclusiveAnd ( global 4-component vector of bool)
+0:362            Compare Less Than ( global 4-component vector of bool)
+0:362              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:362                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362                  Constant:
+0:362                    1 (const int)
+0:362                Constant:
+0:362                  1 (const int)
+0:362              Constant:
+0:362                0 (const int)
+0:362                0 (const int)
+0:362                0 (const int)
+0:362                0 (const int)
+0:364      move second child to first child ( temp int)
+0:364        direct index ( temp int)
+0:364          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:364            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364              'invocation' ( temp uint)
+0:364            Constant:
+0:364              1 (const int)
+0:364          Constant:
+0:364            0 (const int)
+0:364        subgroupExclusiveOr ( global int)
+0:364          direct index ( temp int)
+0:364            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:364              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364                Constant:
+0:364                  0 (const int)
+0:364              Constant:
+0:364                1 (const int)
+0:364            Constant:
+0:364              0 (const int)
+0:365      move second child to first child ( temp 2-component vector of int)
+0:365        vector swizzle ( temp 2-component vector of int)
+0:365          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:365            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:365              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:365              'invocation' ( temp uint)
+0:365            Constant:
+0:365              1 (const int)
+0:365          Sequence
+0:365            Constant:
+0:365              0 (const int)
+0:365            Constant:
+0:365              1 (const int)
+0:365        subgroupExclusiveOr ( global 2-component vector of int)
+0:365          vector swizzle ( temp 2-component vector of int)
+0:365            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:365              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:365                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:365                Constant:
+0:365                  1 (const int)
+0:365              Constant:
+0:365                1 (const int)
+0:365            Sequence
+0:365              Constant:
+0:365                0 (const int)
+0:365              Constant:
+0:365                1 (const int)
+0:366      move second child to first child ( temp 3-component vector of int)
+0:366        vector swizzle ( temp 3-component vector of int)
+0:366          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:366            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366              'invocation' ( temp uint)
+0:366            Constant:
+0:366              1 (const int)
+0:366          Sequence
+0:366            Constant:
+0:366              0 (const int)
+0:366            Constant:
+0:366              1 (const int)
+0:366            Constant:
+0:366              2 (const int)
+0:366        subgroupExclusiveOr ( global 3-component vector of int)
+0:366          vector swizzle ( temp 3-component vector of int)
+0:366            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:366              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366                Constant:
+0:366                  2 (const int)
+0:366              Constant:
+0:366                1 (const int)
+0:366            Sequence
+0:366              Constant:
+0:366                0 (const int)
+0:366              Constant:
+0:366                1 (const int)
+0:366              Constant:
+0:366                2 (const int)
+0:367      move second child to first child ( temp 4-component vector of int)
+0:367        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:367          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367            'invocation' ( temp uint)
+0:367          Constant:
+0:367            1 (const int)
+0:367        subgroupExclusiveOr ( global 4-component vector of int)
+0:367          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:367            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367              Constant:
+0:367                3 (const int)
+0:367            Constant:
+0:367              1 (const int)
+0:369      move second child to first child ( temp uint)
+0:369        direct index ( temp uint)
+0:369          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:369            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369              'invocation' ( temp uint)
+0:369            Constant:
+0:369              2 (const int)
+0:369          Constant:
+0:369            0 (const int)
+0:369        subgroupExclusiveOr ( global uint)
+0:369          direct index ( temp uint)
+0:369            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:369              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369                Constant:
+0:369                  0 (const int)
+0:369              Constant:
+0:369                2 (const int)
+0:369            Constant:
+0:369              0 (const int)
+0:370      move second child to first child ( temp 2-component vector of uint)
+0:370        vector swizzle ( temp 2-component vector of uint)
+0:370          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:370            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:370              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:370              'invocation' ( temp uint)
+0:370            Constant:
+0:370              2 (const int)
+0:370          Sequence
+0:370            Constant:
+0:370              0 (const int)
+0:370            Constant:
+0:370              1 (const int)
+0:370        subgroupExclusiveOr ( global 2-component vector of uint)
+0:370          vector swizzle ( temp 2-component vector of uint)
+0:370            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:370              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:370                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:370                Constant:
+0:370                  1 (const int)
+0:370              Constant:
+0:370                2 (const int)
+0:370            Sequence
+0:370              Constant:
+0:370                0 (const int)
+0:370              Constant:
+0:370                1 (const int)
+0:371      move second child to first child ( temp 3-component vector of uint)
+0:371        vector swizzle ( temp 3-component vector of uint)
+0:371          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:371            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371              'invocation' ( temp uint)
+0:371            Constant:
+0:371              2 (const int)
+0:371          Sequence
+0:371            Constant:
+0:371              0 (const int)
+0:371            Constant:
+0:371              1 (const int)
+0:371            Constant:
+0:371              2 (const int)
+0:371        subgroupExclusiveOr ( global 3-component vector of uint)
+0:371          vector swizzle ( temp 3-component vector of uint)
+0:371            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:371              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371                Constant:
+0:371                  2 (const int)
+0:371              Constant:
+0:371                2 (const int)
+0:371            Sequence
+0:371              Constant:
+0:371                0 (const int)
+0:371              Constant:
+0:371                1 (const int)
+0:371              Constant:
+0:371                2 (const int)
+0:372      move second child to first child ( temp 4-component vector of uint)
+0:372        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:372          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372            'invocation' ( temp uint)
+0:372          Constant:
+0:372            2 (const int)
+0:372        subgroupExclusiveOr ( global 4-component vector of uint)
+0:372          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:372            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372              Constant:
+0:372                3 (const int)
+0:372            Constant:
+0:372              2 (const int)
+0:374      move second child to first child ( temp int)
+0:374        direct index ( temp int)
+0:374          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:374            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374              'invocation' ( temp uint)
+0:374            Constant:
+0:374              1 (const int)
+0:374          Constant:
+0:374            0 (const int)
+0:374        Convert bool to int ( temp int)
+0:374          subgroupExclusiveOr ( global bool)
+0:374            Compare Less Than ( temp bool)
+0:374              direct index ( temp int)
+0:374                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:374                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374                    Constant:
+0:374                      0 (const int)
+0:374                  Constant:
+0:374                    1 (const int)
+0:374                Constant:
+0:374                  0 (const int)
+0:374              Constant:
+0:374                0 (const int)
+0:375      move second child to first child ( temp 2-component vector of int)
+0:375        vector swizzle ( temp 2-component vector of int)
+0:375          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:375            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:375              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:375              'invocation' ( temp uint)
+0:375            Constant:
+0:375              1 (const int)
+0:375          Sequence
+0:375            Constant:
+0:375              0 (const int)
+0:375            Constant:
+0:375              1 (const int)
+0:375        Convert bool to int ( temp 2-component vector of int)
+0:375          subgroupExclusiveOr ( global 2-component vector of bool)
+0:375            Compare Less Than ( global 2-component vector of bool)
+0:375              vector swizzle ( temp 2-component vector of int)
+0:375                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:375                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:375                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:375                    Constant:
+0:375                      1 (const int)
+0:375                  Constant:
+0:375                    1 (const int)
+0:375                Sequence
+0:375                  Constant:
+0:375                    0 (const int)
+0:375                  Constant:
+0:375                    1 (const int)
+0:375              Constant:
+0:375                0 (const int)
+0:375                0 (const int)
+0:376      move second child to first child ( temp 3-component vector of int)
+0:376        vector swizzle ( temp 3-component vector of int)
+0:376          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:376            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376              'invocation' ( temp uint)
+0:376            Constant:
+0:376              1 (const int)
+0:376          Sequence
+0:376            Constant:
+0:376              0 (const int)
+0:376            Constant:
+0:376              1 (const int)
+0:376            Constant:
+0:376              2 (const int)
+0:376        Convert bool to int ( temp 3-component vector of int)
+0:376          subgroupExclusiveOr ( global 3-component vector of bool)
+0:376            Compare Less Than ( global 3-component vector of bool)
+0:376              vector swizzle ( temp 3-component vector of int)
+0:376                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:376                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376                    Constant:
+0:376                      1 (const int)
+0:376                  Constant:
+0:376                    1 (const int)
+0:376                Sequence
+0:376                  Constant:
+0:376                    0 (const int)
+0:376                  Constant:
+0:376                    1 (const int)
+0:376                  Constant:
+0:376                    2 (const int)
+0:376              Constant:
+0:376                0 (const int)
+0:376                0 (const int)
+0:376                0 (const int)
+0:377      move second child to first child ( temp 4-component vector of int)
+0:377        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:377          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377            'invocation' ( temp uint)
+0:377          Constant:
+0:377            1 (const int)
+0:377        Convert bool to int ( temp 4-component vector of int)
+0:377          subgroupExclusiveOr ( global 4-component vector of bool)
+0:377            Compare Less Than ( global 4-component vector of bool)
+0:377              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:377                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377                  Constant:
+0:377                    1 (const int)
+0:377                Constant:
+0:377                  1 (const int)
+0:377              Constant:
+0:377                0 (const int)
+0:377                0 (const int)
+0:377                0 (const int)
+0:377                0 (const int)
+0:379      move second child to first child ( temp int)
+0:379        direct index ( temp int)
+0:379          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:379            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379              'invocation' ( temp uint)
+0:379            Constant:
+0:379              1 (const int)
+0:379          Constant:
+0:379            0 (const int)
+0:379        subgroupExclusiveXor ( global int)
+0:379          direct index ( temp int)
+0:379            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:379              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379                Constant:
+0:379                  0 (const int)
+0:379              Constant:
+0:379                1 (const int)
+0:379            Constant:
+0:379              0 (const int)
+0:380      move second child to first child ( temp 2-component vector of int)
+0:380        vector swizzle ( temp 2-component vector of int)
+0:380          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:380            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:380              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:380              'invocation' ( temp uint)
+0:380            Constant:
+0:380              1 (const int)
+0:380          Sequence
+0:380            Constant:
+0:380              0 (const int)
+0:380            Constant:
+0:380              1 (const int)
+0:380        subgroupExclusiveXor ( global 2-component vector of int)
+0:380          vector swizzle ( temp 2-component vector of int)
+0:380            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:380              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:380                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:380                Constant:
+0:380                  1 (const int)
+0:380              Constant:
+0:380                1 (const int)
+0:380            Sequence
+0:380              Constant:
+0:380                0 (const int)
+0:380              Constant:
+0:380                1 (const int)
+0:381      move second child to first child ( temp 3-component vector of int)
+0:381        vector swizzle ( temp 3-component vector of int)
+0:381          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:381            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381              'invocation' ( temp uint)
+0:381            Constant:
+0:381              1 (const int)
+0:381          Sequence
+0:381            Constant:
+0:381              0 (const int)
+0:381            Constant:
+0:381              1 (const int)
+0:381            Constant:
+0:381              2 (const int)
+0:381        subgroupExclusiveXor ( global 3-component vector of int)
+0:381          vector swizzle ( temp 3-component vector of int)
+0:381            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:381              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381                Constant:
+0:381                  2 (const int)
+0:381              Constant:
+0:381                1 (const int)
+0:381            Sequence
+0:381              Constant:
+0:381                0 (const int)
+0:381              Constant:
+0:381                1 (const int)
+0:381              Constant:
+0:381                2 (const int)
+0:382      move second child to first child ( temp 4-component vector of int)
+0:382        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:382          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382            'invocation' ( temp uint)
+0:382          Constant:
+0:382            1 (const int)
+0:382        subgroupExclusiveXor ( global 4-component vector of int)
+0:382          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:382            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382              Constant:
+0:382                3 (const int)
+0:382            Constant:
+0:382              1 (const int)
+0:384      move second child to first child ( temp uint)
+0:384        direct index ( temp uint)
+0:384          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:384            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384              'invocation' ( temp uint)
+0:384            Constant:
+0:384              2 (const int)
+0:384          Constant:
+0:384            0 (const int)
+0:384        subgroupExclusiveXor ( global uint)
+0:384          direct index ( temp uint)
+0:384            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:384              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384                Constant:
+0:384                  0 (const int)
+0:384              Constant:
+0:384                2 (const int)
+0:384            Constant:
+0:384              0 (const int)
+0:385      move second child to first child ( temp 2-component vector of uint)
+0:385        vector swizzle ( temp 2-component vector of uint)
+0:385          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:385            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:385              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:385              'invocation' ( temp uint)
+0:385            Constant:
+0:385              2 (const int)
+0:385          Sequence
+0:385            Constant:
+0:385              0 (const int)
+0:385            Constant:
+0:385              1 (const int)
+0:385        subgroupExclusiveXor ( global 2-component vector of uint)
+0:385          vector swizzle ( temp 2-component vector of uint)
+0:385            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:385              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:385                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:385                Constant:
+0:385                  1 (const int)
+0:385              Constant:
+0:385                2 (const int)
+0:385            Sequence
+0:385              Constant:
+0:385                0 (const int)
+0:385              Constant:
+0:385                1 (const int)
+0:386      move second child to first child ( temp 3-component vector of uint)
+0:386        vector swizzle ( temp 3-component vector of uint)
+0:386          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:386            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386              'invocation' ( temp uint)
+0:386            Constant:
+0:386              2 (const int)
+0:386          Sequence
+0:386            Constant:
+0:386              0 (const int)
+0:386            Constant:
+0:386              1 (const int)
+0:386            Constant:
+0:386              2 (const int)
+0:386        subgroupExclusiveXor ( global 3-component vector of uint)
+0:386          vector swizzle ( temp 3-component vector of uint)
+0:386            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:386              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386                Constant:
+0:386                  2 (const int)
+0:386              Constant:
+0:386                2 (const int)
+0:386            Sequence
+0:386              Constant:
+0:386                0 (const int)
+0:386              Constant:
+0:386                1 (const int)
+0:386              Constant:
+0:386                2 (const int)
+0:387      move second child to first child ( temp 4-component vector of uint)
+0:387        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:387          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387            'invocation' ( temp uint)
+0:387          Constant:
+0:387            2 (const int)
+0:387        subgroupExclusiveXor ( global 4-component vector of uint)
+0:387          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:387            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387              Constant:
+0:387                3 (const int)
+0:387            Constant:
+0:387              2 (const int)
+0:389      move second child to first child ( temp int)
+0:389        direct index ( temp int)
+0:389          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:389            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389              'invocation' ( temp uint)
+0:389            Constant:
+0:389              1 (const int)
+0:389          Constant:
+0:389            0 (const int)
+0:389        Convert bool to int ( temp int)
+0:389          subgroupExclusiveXor ( global bool)
+0:389            Compare Less Than ( temp bool)
+0:389              direct index ( temp int)
+0:389                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:389                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389                    Constant:
+0:389                      0 (const int)
+0:389                  Constant:
+0:389                    1 (const int)
+0:389                Constant:
+0:389                  0 (const int)
+0:389              Constant:
+0:389                0 (const int)
+0:390      move second child to first child ( temp 2-component vector of int)
+0:390        vector swizzle ( temp 2-component vector of int)
+0:390          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:390            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:390              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:390              'invocation' ( temp uint)
+0:390            Constant:
+0:390              1 (const int)
+0:390          Sequence
+0:390            Constant:
+0:390              0 (const int)
+0:390            Constant:
+0:390              1 (const int)
+0:390        Convert bool to int ( temp 2-component vector of int)
+0:390          subgroupExclusiveXor ( global 2-component vector of bool)
+0:390            Compare Less Than ( global 2-component vector of bool)
+0:390              vector swizzle ( temp 2-component vector of int)
+0:390                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:390                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:390                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:390                    Constant:
+0:390                      1 (const int)
+0:390                  Constant:
+0:390                    1 (const int)
+0:390                Sequence
+0:390                  Constant:
+0:390                    0 (const int)
+0:390                  Constant:
+0:390                    1 (const int)
+0:390              Constant:
+0:390                0 (const int)
+0:390                0 (const int)
+0:391      move second child to first child ( temp 3-component vector of int)
+0:391        vector swizzle ( temp 3-component vector of int)
+0:391          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:391            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391              'invocation' ( temp uint)
+0:391            Constant:
+0:391              1 (const int)
+0:391          Sequence
+0:391            Constant:
+0:391              0 (const int)
+0:391            Constant:
+0:391              1 (const int)
+0:391            Constant:
+0:391              2 (const int)
+0:391        Convert bool to int ( temp 3-component vector of int)
+0:391          subgroupExclusiveXor ( global 3-component vector of bool)
+0:391            Compare Less Than ( global 3-component vector of bool)
+0:391              vector swizzle ( temp 3-component vector of int)
+0:391                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:391                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391                    Constant:
+0:391                      1 (const int)
+0:391                  Constant:
+0:391                    1 (const int)
+0:391                Sequence
+0:391                  Constant:
+0:391                    0 (const int)
+0:391                  Constant:
+0:391                    1 (const int)
+0:391                  Constant:
+0:391                    2 (const int)
+0:391              Constant:
+0:391                0 (const int)
+0:391                0 (const int)
+0:391                0 (const int)
+0:392      move second child to first child ( temp 4-component vector of int)
+0:392        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:392          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392            'invocation' ( temp uint)
+0:392          Constant:
+0:392            1 (const int)
+0:392        Convert bool to int ( temp 4-component vector of int)
+0:392          subgroupExclusiveXor ( global 4-component vector of bool)
+0:392            Compare Less Than ( global 4-component vector of bool)
+0:392              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:392                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392                  Constant:
+0:392                    1 (const int)
+0:392                Constant:
+0:392                  1 (const int)
+0:392              Constant:
+0:392                0 (const int)
+0:392                0 (const int)
+0:392                0 (const int)
+0:392                0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
diff --git a/Test/baseResults/glsl.450.subgroupBallot.comp.out b/Test/baseResults/glsl.450.subgroupBallot.comp.out
new file mode 100644
index 0000000..b380525
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupBallot.comp.out
@@ -0,0 +1,2303 @@
+glsl.450.subgroupBallot.comp
+Shader version: 450
+Requested GL_KHR_shader_subgroup_ballot
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      Sequence
+0:19        move second child to first child ( temp 4-component vector of uint)
+0:19          'relMask' ( temp 4-component vector of uint)
+0:22          add ( temp 4-component vector of uint)
+0:21            add ( temp 4-component vector of uint)
+0:20              add ( temp 4-component vector of uint)
+0:19                add ( temp 4-component vector of uint)
+0:19                  'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
+0:20                  'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
+0:21                'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
+0:22              'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
+0:23            'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
+0:25      Sequence
+0:25        move second child to first child ( temp 4-component vector of uint)
+0:25          'result' ( temp 4-component vector of uint)
+0:25          subgroupBallot ( global 4-component vector of uint)
+0:25            Constant:
+0:25              true (const bool)
+0:27      move second child to first child ( temp uint)
+0:27        direct index ( temp uint)
+0:27          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:27            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'invocation' ( temp uint)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Constant:
+0:27            0 (const int)
+0:27        subgroupBallotBitCount ( global uint)
+0:27          'result' ( temp 4-component vector of uint)
+0:28      move second child to first child ( temp uint)
+0:28        direct index ( temp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:28            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28              'invocation' ( temp uint)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            1 (const int)
+0:28        Convert int to uint ( temp uint)
+0:28          Test condition and select ( temp int)
+0:28            Condition
+0:28            subgroupBallotBitExtract ( global bool)
+0:28              'result' ( temp 4-component vector of uint)
+0:28              Constant:
+0:28                0 (const uint)
+0:28            true case
+0:28            Constant:
+0:28              1 (const int)
+0:28            false case
+0:28            Constant:
+0:28              0 (const int)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            2 (const int)
+0:29        add ( temp uint)
+0:29          subgroupBallotInclusiveBitCount ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:29          subgroupBallotExclusiveBitCount ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:30      move second child to first child ( temp uint)
+0:30        direct index ( temp uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Constant:
+0:30            3 (const int)
+0:30        add ( temp uint)
+0:30          subgroupBallotFindLSB ( global uint)
+0:30            'result' ( temp 4-component vector of uint)
+0:30          subgroupBallotFindMSB ( global uint)
+0:30            'result' ( temp 4-component vector of uint)
+0:32      Test condition and select ( temp void)
+0:32        Condition
+0:32        logical-and ( temp bool)
+0:32          Compare Equal ( temp bool)
+0:32            'relMask' ( temp 4-component vector of uint)
+0:32            'result' ( temp 4-component vector of uint)
+0:32          subgroupInverseBallot ( global bool)
+0:32            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                Constant:
+0:32                  0 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:32        true case
+0:34        Sequence
+0:34          move second child to first child ( temp float)
+0:34            direct index ( temp float)
+0:34              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:34                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                  'invocation' ( temp uint)
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34            subgroupBroadcast ( global float)
+0:34              direct index ( temp float)
+0:34                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                    Constant:
+0:34                      0 (const int)
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const uint)
+0:35          move second child to first child ( temp 2-component vector of float)
+0:35            vector swizzle ( temp 2-component vector of float)
+0:35              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:35                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                  'invocation' ( temp uint)
+0:35                Constant:
+0:35                  0 (const int)
+0:35              Sequence
+0:35                Constant:
+0:35                  0 (const int)
+0:35                Constant:
+0:35                  1 (const int)
+0:35            subgroupBroadcast ( global 2-component vector of float)
+0:35              vector swizzle ( temp 2-component vector of float)
+0:35                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                    Constant:
+0:35                      1 (const int)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                Sequence
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35              Constant:
+0:35                3 (const uint)
+0:36          move second child to first child ( temp 3-component vector of float)
+0:36            vector swizzle ( temp 3-component vector of float)
+0:36              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:36                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                  'invocation' ( temp uint)
+0:36                Constant:
+0:36                  0 (const int)
+0:36              Sequence
+0:36                Constant:
+0:36                  0 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:36                Constant:
+0:36                  2 (const int)
+0:36            subgroupBroadcast ( global 3-component vector of float)
+0:36              vector swizzle ( temp 3-component vector of float)
+0:36                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:36                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                    Constant:
+0:36                      2 (const int)
+0:36                  Constant:
+0:36                    0 (const int)
+0:36                Sequence
+0:36                  Constant:
+0:36                    0 (const int)
+0:36                  Constant:
+0:36                    1 (const int)
+0:36                  Constant:
+0:36                    2 (const int)
+0:36              Constant:
+0:36                3 (const uint)
+0:37          move second child to first child ( temp 4-component vector of float)
+0:37            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:37              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                'invocation' ( temp uint)
+0:37              Constant:
+0:37                0 (const int)
+0:37            subgroupBroadcast ( global 4-component vector of float)
+0:37              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:37                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                  Constant:
+0:37                    3 (const int)
+0:37                Constant:
+0:37                  0 (const int)
+0:37              Constant:
+0:37                3 (const uint)
+0:39          move second child to first child ( temp int)
+0:39            direct index ( temp int)
+0:39              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                  'invocation' ( temp uint)
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            subgroupBroadcast ( global int)
+0:39              direct index ( temp int)
+0:39                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    Constant:
+0:39                      0 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                2 (const uint)
+0:40          move second child to first child ( temp 2-component vector of int)
+0:40            vector swizzle ( temp 2-component vector of int)
+0:40              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                  'invocation' ( temp uint)
+0:40                Constant:
+0:40                  1 (const int)
+0:40              Sequence
+0:40                Constant:
+0:40                  0 (const int)
+0:40                Constant:
+0:40                  1 (const int)
+0:40            subgroupBroadcast ( global 2-component vector of int)
+0:40              vector swizzle ( temp 2-component vector of int)
+0:40                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    Constant:
+0:40                      1 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Sequence
+0:40                  Constant:
+0:40                    0 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40              Constant:
+0:40                2 (const uint)
+0:41          move second child to first child ( temp 3-component vector of int)
+0:41            vector swizzle ( temp 3-component vector of int)
+0:41              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                  'invocation' ( temp uint)
+0:41                Constant:
+0:41                  1 (const int)
+0:41              Sequence
+0:41                Constant:
+0:41                  0 (const int)
+0:41                Constant:
+0:41                  1 (const int)
+0:41                Constant:
+0:41                  2 (const int)
+0:41            subgroupBroadcast ( global 3-component vector of int)
+0:41              vector swizzle ( temp 3-component vector of int)
+0:41                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    Constant:
+0:41                      2 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                Sequence
+0:41                  Constant:
+0:41                    0 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                  Constant:
+0:41                    2 (const int)
+0:41              Constant:
+0:41                2 (const uint)
+0:42          move second child to first child ( temp 4-component vector of int)
+0:42            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                'invocation' ( temp uint)
+0:42              Constant:
+0:42                1 (const int)
+0:42            subgroupBroadcast ( global 4-component vector of int)
+0:42              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  Constant:
+0:42                    3 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:42              Constant:
+0:42                2 (const uint)
+0:44          move second child to first child ( temp uint)
+0:44            direct index ( temp uint)
+0:44              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:44                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                  'invocation' ( temp uint)
+0:44                Constant:
+0:44                  2 (const int)
+0:44              Constant:
+0:44                0 (const int)
+0:44            subgroupBroadcast ( global uint)
+0:44              direct index ( temp uint)
+0:44                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:44                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                    Constant:
+0:44                      0 (const int)
+0:44                  Constant:
+0:44                    2 (const int)
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                1 (const uint)
+0:45          move second child to first child ( temp 2-component vector of uint)
+0:45            vector swizzle ( temp 2-component vector of uint)
+0:45              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:45                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                  'invocation' ( temp uint)
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Sequence
+0:45                Constant:
+0:45                  0 (const int)
+0:45                Constant:
+0:45                  1 (const int)
+0:45            subgroupBroadcast ( global 2-component vector of uint)
+0:45              vector swizzle ( temp 2-component vector of uint)
+0:45                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:45                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                    Constant:
+0:45                      1 (const int)
+0:45                  Constant:
+0:45                    2 (const int)
+0:45                Sequence
+0:45                  Constant:
+0:45                    0 (const int)
+0:45                  Constant:
+0:45                    1 (const int)
+0:45              Constant:
+0:45                1 (const uint)
+0:46          move second child to first child ( temp 3-component vector of uint)
+0:46            vector swizzle ( temp 3-component vector of uint)
+0:46              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:46                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                  'invocation' ( temp uint)
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Sequence
+0:46                Constant:
+0:46                  0 (const int)
+0:46                Constant:
+0:46                  1 (const int)
+0:46                Constant:
+0:46                  2 (const int)
+0:46            subgroupBroadcast ( global 3-component vector of uint)
+0:46              vector swizzle ( temp 3-component vector of uint)
+0:46                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:46                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                    Constant:
+0:46                      2 (const int)
+0:46                  Constant:
+0:46                    2 (const int)
+0:46                Sequence
+0:46                  Constant:
+0:46                    0 (const int)
+0:46                  Constant:
+0:46                    1 (const int)
+0:46                  Constant:
+0:46                    2 (const int)
+0:46              Constant:
+0:46                1 (const uint)
+0:47          move second child to first child ( temp 4-component vector of uint)
+0:47            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:47              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                'invocation' ( temp uint)
+0:47              Constant:
+0:47                2 (const int)
+0:47            subgroupBroadcast ( global 4-component vector of uint)
+0:47              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:47                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                  Constant:
+0:47                    3 (const int)
+0:47                Constant:
+0:47                  2 (const int)
+0:47              Constant:
+0:47                1 (const uint)
+0:49          move second child to first child ( temp double)
+0:49            direct index ( temp double)
+0:49              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:49                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                  'invocation' ( temp uint)
+0:49                Constant:
+0:49                  3 (const int)
+0:49              Constant:
+0:49                0 (const int)
+0:49            subgroupBroadcast ( global double)
+0:49              direct index ( temp double)
+0:49                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:49                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                    Constant:
+0:49                      0 (const int)
+0:49                  Constant:
+0:49                    3 (const int)
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                0 (const uint)
+0:50          move second child to first child ( temp 2-component vector of double)
+0:50            vector swizzle ( temp 2-component vector of double)
+0:50              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:50                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                  'invocation' ( temp uint)
+0:50                Constant:
+0:50                  3 (const int)
+0:50              Sequence
+0:50                Constant:
+0:50                  0 (const int)
+0:50                Constant:
+0:50                  1 (const int)
+0:50            subgroupBroadcast ( global 2-component vector of double)
+0:50              vector swizzle ( temp 2-component vector of double)
+0:50                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:50                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                    Constant:
+0:50                      1 (const int)
+0:50                  Constant:
+0:50                    3 (const int)
+0:50                Sequence
+0:50                  Constant:
+0:50                    0 (const int)
+0:50                  Constant:
+0:50                    1 (const int)
+0:50              Constant:
+0:50                0 (const uint)
+0:51          move second child to first child ( temp 3-component vector of double)
+0:51            vector swizzle ( temp 3-component vector of double)
+0:51              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:51                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                  'invocation' ( temp uint)
+0:51                Constant:
+0:51                  3 (const int)
+0:51              Sequence
+0:51                Constant:
+0:51                  0 (const int)
+0:51                Constant:
+0:51                  1 (const int)
+0:51                Constant:
+0:51                  2 (const int)
+0:51            subgroupBroadcast ( global 3-component vector of double)
+0:51              vector swizzle ( temp 3-component vector of double)
+0:51                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:51                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                    Constant:
+0:51                      2 (const int)
+0:51                  Constant:
+0:51                    3 (const int)
+0:51                Sequence
+0:51                  Constant:
+0:51                    0 (const int)
+0:51                  Constant:
+0:51                    1 (const int)
+0:51                  Constant:
+0:51                    2 (const int)
+0:51              Constant:
+0:51                0 (const uint)
+0:52          move second child to first child ( temp 4-component vector of double)
+0:52            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:52              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                'invocation' ( temp uint)
+0:52              Constant:
+0:52                3 (const int)
+0:52            subgroupBroadcast ( global 4-component vector of double)
+0:52              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:52                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                  Constant:
+0:52                    3 (const int)
+0:52                Constant:
+0:52                  3 (const int)
+0:52              Constant:
+0:52                0 (const uint)
+0:54          move second child to first child ( temp int)
+0:54            direct index ( temp int)
+0:54              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:54                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                  'invocation' ( temp uint)
+0:54                Constant:
+0:54                  1 (const int)
+0:54              Constant:
+0:54                0 (const int)
+0:54            Convert bool to int ( temp int)
+0:54              subgroupBroadcast ( global bool)
+0:54                Compare Less Than ( temp bool)
+0:54                  direct index ( temp int)
+0:54                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:54                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                        Constant:
+0:54                          0 (const int)
+0:54                      Constant:
+0:54                        1 (const int)
+0:54                    Constant:
+0:54                      0 (const int)
+0:54                  Constant:
+0:54                    0 (const int)
+0:54                Constant:
+0:54                  1 (const uint)
+0:55          move second child to first child ( temp 2-component vector of int)
+0:55            vector swizzle ( temp 2-component vector of int)
+0:55              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:55                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                  'invocation' ( temp uint)
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Sequence
+0:55                Constant:
+0:55                  0 (const int)
+0:55                Constant:
+0:55                  1 (const int)
+0:55            Convert bool to int ( temp 2-component vector of int)
+0:55              subgroupBroadcast ( global 2-component vector of bool)
+0:55                Compare Less Than ( global 2-component vector of bool)
+0:55                  vector swizzle ( temp 2-component vector of int)
+0:55                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:55                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                        Constant:
+0:55                          1 (const int)
+0:55                      Constant:
+0:55                        1 (const int)
+0:55                    Sequence
+0:55                      Constant:
+0:55                        0 (const int)
+0:55                      Constant:
+0:55                        1 (const int)
+0:55                  Constant:
+0:55                    0 (const int)
+0:55                    0 (const int)
+0:55                Constant:
+0:55                  1 (const uint)
+0:56          move second child to first child ( temp 3-component vector of int)
+0:56            vector swizzle ( temp 3-component vector of int)
+0:56              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:56                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                  'invocation' ( temp uint)
+0:56                Constant:
+0:56                  1 (const int)
+0:56              Sequence
+0:56                Constant:
+0:56                  0 (const int)
+0:56                Constant:
+0:56                  1 (const int)
+0:56                Constant:
+0:56                  2 (const int)
+0:56            Convert bool to int ( temp 3-component vector of int)
+0:56              subgroupBroadcast ( global 3-component vector of bool)
+0:56                Compare Less Than ( global 3-component vector of bool)
+0:56                  vector swizzle ( temp 3-component vector of int)
+0:56                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:56                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                        Constant:
+0:56                          1 (const int)
+0:56                      Constant:
+0:56                        1 (const int)
+0:56                    Sequence
+0:56                      Constant:
+0:56                        0 (const int)
+0:56                      Constant:
+0:56                        1 (const int)
+0:56                      Constant:
+0:56                        2 (const int)
+0:56                  Constant:
+0:56                    0 (const int)
+0:56                    0 (const int)
+0:56                    0 (const int)
+0:56                Constant:
+0:56                  1 (const uint)
+0:57          move second child to first child ( temp 4-component vector of int)
+0:57            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:57              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                'invocation' ( temp uint)
+0:57              Constant:
+0:57                1 (const int)
+0:57            Convert bool to int ( temp 4-component vector of int)
+0:57              subgroupBroadcast ( global 4-component vector of bool)
+0:57                Compare Less Than ( global 4-component vector of bool)
+0:57                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:57                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                      Constant:
+0:57                        1 (const int)
+0:57                    Constant:
+0:57                      1 (const int)
+0:57                  Constant:
+0:57                    0 (const int)
+0:57                    0 (const int)
+0:57                    0 (const int)
+0:57                    0 (const int)
+0:57                Constant:
+0:57                  1 (const uint)
+0:32        false case
+0:61        Sequence
+0:61          move second child to first child ( temp float)
+0:61            direct index ( temp float)
+0:61              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                  'invocation' ( temp uint)
+0:61                Constant:
+0:61                  0 (const int)
+0:61              Constant:
+0:61                0 (const int)
+0:61            subgroupBroadcastFirst ( global float)
+0:61              direct index ( temp float)
+0:61                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                    Constant:
+0:61                      0 (const int)
+0:61                  Constant:
+0:61                    0 (const int)
+0:61                Constant:
+0:61                  0 (const int)
+0:62          move second child to first child ( temp 2-component vector of float)
+0:62            vector swizzle ( temp 2-component vector of float)
+0:62              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                  'invocation' ( temp uint)
+0:62                Constant:
+0:62                  0 (const int)
+0:62              Sequence
+0:62                Constant:
+0:62                  0 (const int)
+0:62                Constant:
+0:62                  1 (const int)
+0:62            subgroupBroadcastFirst ( global 2-component vector of float)
+0:62              vector swizzle ( temp 2-component vector of float)
+0:62                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                    Constant:
+0:62                      1 (const int)
+0:62                  Constant:
+0:62                    0 (const int)
+0:62                Sequence
+0:62                  Constant:
+0:62                    0 (const int)
+0:62                  Constant:
+0:62                    1 (const int)
+0:63          move second child to first child ( temp 3-component vector of float)
+0:63            vector swizzle ( temp 3-component vector of float)
+0:63              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:63                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                  'invocation' ( temp uint)
+0:63                Constant:
+0:63                  0 (const int)
+0:63              Sequence
+0:63                Constant:
+0:63                  0 (const int)
+0:63                Constant:
+0:63                  1 (const int)
+0:63                Constant:
+0:63                  2 (const int)
+0:63            subgroupBroadcastFirst ( global 3-component vector of float)
+0:63              vector swizzle ( temp 3-component vector of float)
+0:63                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:63                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                    Constant:
+0:63                      2 (const int)
+0:63                  Constant:
+0:63                    0 (const int)
+0:63                Sequence
+0:63                  Constant:
+0:63                    0 (const int)
+0:63                  Constant:
+0:63                    1 (const int)
+0:63                  Constant:
+0:63                    2 (const int)
+0:64          move second child to first child ( temp 4-component vector of float)
+0:64            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:64              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                'invocation' ( temp uint)
+0:64              Constant:
+0:64                0 (const int)
+0:64            subgroupBroadcastFirst ( global 4-component vector of float)
+0:64              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:64                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                  Constant:
+0:64                    3 (const int)
+0:64                Constant:
+0:64                  0 (const int)
+0:66          move second child to first child ( temp int)
+0:66            direct index ( temp int)
+0:66              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                  'invocation' ( temp uint)
+0:66                Constant:
+0:66                  1 (const int)
+0:66              Constant:
+0:66                0 (const int)
+0:66            subgroupBroadcastFirst ( global int)
+0:66              direct index ( temp int)
+0:66                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    Constant:
+0:66                      0 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                Constant:
+0:66                  0 (const int)
+0:67          move second child to first child ( temp 2-component vector of int)
+0:67            vector swizzle ( temp 2-component vector of int)
+0:67              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  'invocation' ( temp uint)
+0:67                Constant:
+0:67                  1 (const int)
+0:67              Sequence
+0:67                Constant:
+0:67                  0 (const int)
+0:67                Constant:
+0:67                  1 (const int)
+0:67            subgroupBroadcastFirst ( global 2-component vector of int)
+0:67              vector swizzle ( temp 2-component vector of int)
+0:67                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                    Constant:
+0:67                      1 (const int)
+0:67                  Constant:
+0:67                    1 (const int)
+0:67                Sequence
+0:67                  Constant:
+0:67                    0 (const int)
+0:67                  Constant:
+0:67                    1 (const int)
+0:68          move second child to first child ( temp 3-component vector of int)
+0:68            vector swizzle ( temp 3-component vector of int)
+0:68              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:68                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                  'invocation' ( temp uint)
+0:68                Constant:
+0:68                  1 (const int)
+0:68              Sequence
+0:68                Constant:
+0:68                  0 (const int)
+0:68                Constant:
+0:68                  1 (const int)
+0:68                Constant:
+0:68                  2 (const int)
+0:68            subgroupBroadcastFirst ( global 3-component vector of int)
+0:68              vector swizzle ( temp 3-component vector of int)
+0:68                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:68                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                    Constant:
+0:68                      2 (const int)
+0:68                  Constant:
+0:68                    1 (const int)
+0:68                Sequence
+0:68                  Constant:
+0:68                    0 (const int)
+0:68                  Constant:
+0:68                    1 (const int)
+0:68                  Constant:
+0:68                    2 (const int)
+0:69          move second child to first child ( temp 4-component vector of int)
+0:69            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:69              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                'invocation' ( temp uint)
+0:69              Constant:
+0:69                1 (const int)
+0:69            subgroupBroadcastFirst ( global 4-component vector of int)
+0:69              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:69                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                  Constant:
+0:69                    3 (const int)
+0:69                Constant:
+0:69                  1 (const int)
+0:71          move second child to first child ( temp uint)
+0:71            direct index ( temp uint)
+0:71              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                  'invocation' ( temp uint)
+0:71                Constant:
+0:71                  2 (const int)
+0:71              Constant:
+0:71                0 (const int)
+0:71            subgroupBroadcastFirst ( global uint)
+0:71              direct index ( temp uint)
+0:71                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                    Constant:
+0:71                      0 (const int)
+0:71                  Constant:
+0:71                    2 (const int)
+0:71                Constant:
+0:71                  0 (const int)
+0:72          move second child to first child ( temp 2-component vector of uint)
+0:72            vector swizzle ( temp 2-component vector of uint)
+0:72              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                  'invocation' ( temp uint)
+0:72                Constant:
+0:72                  2 (const int)
+0:72              Sequence
+0:72                Constant:
+0:72                  0 (const int)
+0:72                Constant:
+0:72                  1 (const int)
+0:72            subgroupBroadcastFirst ( global 2-component vector of uint)
+0:72              vector swizzle ( temp 2-component vector of uint)
+0:72                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                    Constant:
+0:72                      1 (const int)
+0:72                  Constant:
+0:72                    2 (const int)
+0:72                Sequence
+0:72                  Constant:
+0:72                    0 (const int)
+0:72                  Constant:
+0:72                    1 (const int)
+0:73          move second child to first child ( temp 3-component vector of uint)
+0:73            vector swizzle ( temp 3-component vector of uint)
+0:73              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:73                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                  'invocation' ( temp uint)
+0:73                Constant:
+0:73                  2 (const int)
+0:73              Sequence
+0:73                Constant:
+0:73                  0 (const int)
+0:73                Constant:
+0:73                  1 (const int)
+0:73                Constant:
+0:73                  2 (const int)
+0:73            subgroupBroadcastFirst ( global 3-component vector of uint)
+0:73              vector swizzle ( temp 3-component vector of uint)
+0:73                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:73                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                    Constant:
+0:73                      2 (const int)
+0:73                  Constant:
+0:73                    2 (const int)
+0:73                Sequence
+0:73                  Constant:
+0:73                    0 (const int)
+0:73                  Constant:
+0:73                    1 (const int)
+0:73                  Constant:
+0:73                    2 (const int)
+0:74          move second child to first child ( temp 4-component vector of uint)
+0:74            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:74              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                'invocation' ( temp uint)
+0:74              Constant:
+0:74                2 (const int)
+0:74            subgroupBroadcastFirst ( global 4-component vector of uint)
+0:74              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:74                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                  Constant:
+0:74                    3 (const int)
+0:74                Constant:
+0:74                  2 (const int)
+0:76          move second child to first child ( temp double)
+0:76            direct index ( temp double)
+0:76              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                  'invocation' ( temp uint)
+0:76                Constant:
+0:76                  3 (const int)
+0:76              Constant:
+0:76                0 (const int)
+0:76            subgroupBroadcastFirst ( global double)
+0:76              direct index ( temp double)
+0:76                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                    Constant:
+0:76                      0 (const int)
+0:76                  Constant:
+0:76                    3 (const int)
+0:76                Constant:
+0:76                  0 (const int)
+0:77          move second child to first child ( temp 2-component vector of double)
+0:77            vector swizzle ( temp 2-component vector of double)
+0:77              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                  'invocation' ( temp uint)
+0:77                Constant:
+0:77                  3 (const int)
+0:77              Sequence
+0:77                Constant:
+0:77                  0 (const int)
+0:77                Constant:
+0:77                  1 (const int)
+0:77            subgroupBroadcastFirst ( global 2-component vector of double)
+0:77              vector swizzle ( temp 2-component vector of double)
+0:77                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                    Constant:
+0:77                      1 (const int)
+0:77                  Constant:
+0:77                    3 (const int)
+0:77                Sequence
+0:77                  Constant:
+0:77                    0 (const int)
+0:77                  Constant:
+0:77                    1 (const int)
+0:78          move second child to first child ( temp 3-component vector of double)
+0:78            vector swizzle ( temp 3-component vector of double)
+0:78              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:78                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                  'invocation' ( temp uint)
+0:78                Constant:
+0:78                  3 (const int)
+0:78              Sequence
+0:78                Constant:
+0:78                  0 (const int)
+0:78                Constant:
+0:78                  1 (const int)
+0:78                Constant:
+0:78                  2 (const int)
+0:78            subgroupBroadcastFirst ( global 3-component vector of double)
+0:78              vector swizzle ( temp 3-component vector of double)
+0:78                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:78                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                    Constant:
+0:78                      2 (const int)
+0:78                  Constant:
+0:78                    3 (const int)
+0:78                Sequence
+0:78                  Constant:
+0:78                    0 (const int)
+0:78                  Constant:
+0:78                    1 (const int)
+0:78                  Constant:
+0:78                    2 (const int)
+0:79          move second child to first child ( temp 4-component vector of double)
+0:79            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:79              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                'invocation' ( temp uint)
+0:79              Constant:
+0:79                3 (const int)
+0:79            subgroupBroadcastFirst ( global 4-component vector of double)
+0:79              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:79                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                  Constant:
+0:79                    3 (const int)
+0:79                Constant:
+0:79                  3 (const int)
+0:81          move second child to first child ( temp int)
+0:81            direct index ( temp int)
+0:81              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:81                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                  'invocation' ( temp uint)
+0:81                Constant:
+0:81                  1 (const int)
+0:81              Constant:
+0:81                0 (const int)
+0:81            Convert bool to int ( temp int)
+0:81              subgroupBroadcastFirst ( global bool)
+0:81                Compare Less Than ( temp bool)
+0:81                  direct index ( temp int)
+0:81                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:81                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                        Constant:
+0:81                          0 (const int)
+0:81                      Constant:
+0:81                        1 (const int)
+0:81                    Constant:
+0:81                      0 (const int)
+0:81                  Constant:
+0:81                    0 (const int)
+0:82          move second child to first child ( temp 2-component vector of int)
+0:82            vector swizzle ( temp 2-component vector of int)
+0:82              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:82                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                  'invocation' ( temp uint)
+0:82                Constant:
+0:82                  1 (const int)
+0:82              Sequence
+0:82                Constant:
+0:82                  0 (const int)
+0:82                Constant:
+0:82                  1 (const int)
+0:82            Convert bool to int ( temp 2-component vector of int)
+0:82              subgroupBroadcastFirst ( global 2-component vector of bool)
+0:82                Compare Less Than ( global 2-component vector of bool)
+0:82                  vector swizzle ( temp 2-component vector of int)
+0:82                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:82                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                        Constant:
+0:82                          1 (const int)
+0:82                      Constant:
+0:82                        1 (const int)
+0:82                    Sequence
+0:82                      Constant:
+0:82                        0 (const int)
+0:82                      Constant:
+0:82                        1 (const int)
+0:82                  Constant:
+0:82                    0 (const int)
+0:82                    0 (const int)
+0:83          move second child to first child ( temp 3-component vector of int)
+0:83            vector swizzle ( temp 3-component vector of int)
+0:83              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:83                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                  'invocation' ( temp uint)
+0:83                Constant:
+0:83                  1 (const int)
+0:83              Sequence
+0:83                Constant:
+0:83                  0 (const int)
+0:83                Constant:
+0:83                  1 (const int)
+0:83                Constant:
+0:83                  2 (const int)
+0:83            Convert bool to int ( temp 3-component vector of int)
+0:83              subgroupBroadcastFirst ( global 3-component vector of bool)
+0:83                Compare Less Than ( global 3-component vector of bool)
+0:83                  vector swizzle ( temp 3-component vector of int)
+0:83                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:83                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                        Constant:
+0:83                          1 (const int)
+0:83                      Constant:
+0:83                        1 (const int)
+0:83                    Sequence
+0:83                      Constant:
+0:83                        0 (const int)
+0:83                      Constant:
+0:83                        1 (const int)
+0:83                      Constant:
+0:83                        2 (const int)
+0:83                  Constant:
+0:83                    0 (const int)
+0:83                    0 (const int)
+0:83                    0 (const int)
+0:84          move second child to first child ( temp 4-component vector of int)
+0:84            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                'invocation' ( temp uint)
+0:84              Constant:
+0:84                1 (const int)
+0:84            Convert bool to int ( temp 4-component vector of int)
+0:84              subgroupBroadcastFirst ( global 4-component vector of bool)
+0:84                Compare Less Than ( global 4-component vector of bool)
+0:84                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                      Constant:
+0:84                        1 (const int)
+0:84                    Constant:
+0:84                      1 (const int)
+0:84                  Constant:
+0:84                    0 (const int)
+0:84                    0 (const int)
+0:84                    0 (const int)
+0:84                    0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_ballot
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      Sequence
+0:19        move second child to first child ( temp 4-component vector of uint)
+0:19          'relMask' ( temp 4-component vector of uint)
+0:22          add ( temp 4-component vector of uint)
+0:21            add ( temp 4-component vector of uint)
+0:20              add ( temp 4-component vector of uint)
+0:19                add ( temp 4-component vector of uint)
+0:19                  'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
+0:20                  'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
+0:21                'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
+0:22              'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
+0:23            'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
+0:25      Sequence
+0:25        move second child to first child ( temp 4-component vector of uint)
+0:25          'result' ( temp 4-component vector of uint)
+0:25          subgroupBallot ( global 4-component vector of uint)
+0:25            Constant:
+0:25              true (const bool)
+0:27      move second child to first child ( temp uint)
+0:27        direct index ( temp uint)
+0:27          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:27            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'invocation' ( temp uint)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Constant:
+0:27            0 (const int)
+0:27        subgroupBallotBitCount ( global uint)
+0:27          'result' ( temp 4-component vector of uint)
+0:28      move second child to first child ( temp uint)
+0:28        direct index ( temp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:28            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28              'invocation' ( temp uint)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            1 (const int)
+0:28        Convert int to uint ( temp uint)
+0:28          Test condition and select ( temp int)
+0:28            Condition
+0:28            subgroupBallotBitExtract ( global bool)
+0:28              'result' ( temp 4-component vector of uint)
+0:28              Constant:
+0:28                0 (const uint)
+0:28            true case
+0:28            Constant:
+0:28              1 (const int)
+0:28            false case
+0:28            Constant:
+0:28              0 (const int)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            2 (const int)
+0:29        add ( temp uint)
+0:29          subgroupBallotInclusiveBitCount ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:29          subgroupBallotExclusiveBitCount ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:30      move second child to first child ( temp uint)
+0:30        direct index ( temp uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Constant:
+0:30            3 (const int)
+0:30        add ( temp uint)
+0:30          subgroupBallotFindLSB ( global uint)
+0:30            'result' ( temp 4-component vector of uint)
+0:30          subgroupBallotFindMSB ( global uint)
+0:30            'result' ( temp 4-component vector of uint)
+0:32      Test condition and select ( temp void)
+0:32        Condition
+0:32        logical-and ( temp bool)
+0:32          Compare Equal ( temp bool)
+0:32            'relMask' ( temp 4-component vector of uint)
+0:32            'result' ( temp 4-component vector of uint)
+0:32          subgroupInverseBallot ( global bool)
+0:32            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                Constant:
+0:32                  0 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:32        true case
+0:34        Sequence
+0:34          move second child to first child ( temp float)
+0:34            direct index ( temp float)
+0:34              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:34                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                  'invocation' ( temp uint)
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34            subgroupBroadcast ( global float)
+0:34              direct index ( temp float)
+0:34                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                    Constant:
+0:34                      0 (const int)
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const uint)
+0:35          move second child to first child ( temp 2-component vector of float)
+0:35            vector swizzle ( temp 2-component vector of float)
+0:35              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:35                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                  'invocation' ( temp uint)
+0:35                Constant:
+0:35                  0 (const int)
+0:35              Sequence
+0:35                Constant:
+0:35                  0 (const int)
+0:35                Constant:
+0:35                  1 (const int)
+0:35            subgroupBroadcast ( global 2-component vector of float)
+0:35              vector swizzle ( temp 2-component vector of float)
+0:35                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                    Constant:
+0:35                      1 (const int)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                Sequence
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35              Constant:
+0:35                3 (const uint)
+0:36          move second child to first child ( temp 3-component vector of float)
+0:36            vector swizzle ( temp 3-component vector of float)
+0:36              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:36                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                  'invocation' ( temp uint)
+0:36                Constant:
+0:36                  0 (const int)
+0:36              Sequence
+0:36                Constant:
+0:36                  0 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:36                Constant:
+0:36                  2 (const int)
+0:36            subgroupBroadcast ( global 3-component vector of float)
+0:36              vector swizzle ( temp 3-component vector of float)
+0:36                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:36                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                    Constant:
+0:36                      2 (const int)
+0:36                  Constant:
+0:36                    0 (const int)
+0:36                Sequence
+0:36                  Constant:
+0:36                    0 (const int)
+0:36                  Constant:
+0:36                    1 (const int)
+0:36                  Constant:
+0:36                    2 (const int)
+0:36              Constant:
+0:36                3 (const uint)
+0:37          move second child to first child ( temp 4-component vector of float)
+0:37            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:37              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                'invocation' ( temp uint)
+0:37              Constant:
+0:37                0 (const int)
+0:37            subgroupBroadcast ( global 4-component vector of float)
+0:37              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:37                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                  Constant:
+0:37                    3 (const int)
+0:37                Constant:
+0:37                  0 (const int)
+0:37              Constant:
+0:37                3 (const uint)
+0:39          move second child to first child ( temp int)
+0:39            direct index ( temp int)
+0:39              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                  'invocation' ( temp uint)
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            subgroupBroadcast ( global int)
+0:39              direct index ( temp int)
+0:39                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    Constant:
+0:39                      0 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                2 (const uint)
+0:40          move second child to first child ( temp 2-component vector of int)
+0:40            vector swizzle ( temp 2-component vector of int)
+0:40              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                  'invocation' ( temp uint)
+0:40                Constant:
+0:40                  1 (const int)
+0:40              Sequence
+0:40                Constant:
+0:40                  0 (const int)
+0:40                Constant:
+0:40                  1 (const int)
+0:40            subgroupBroadcast ( global 2-component vector of int)
+0:40              vector swizzle ( temp 2-component vector of int)
+0:40                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    Constant:
+0:40                      1 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Sequence
+0:40                  Constant:
+0:40                    0 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40              Constant:
+0:40                2 (const uint)
+0:41          move second child to first child ( temp 3-component vector of int)
+0:41            vector swizzle ( temp 3-component vector of int)
+0:41              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                  'invocation' ( temp uint)
+0:41                Constant:
+0:41                  1 (const int)
+0:41              Sequence
+0:41                Constant:
+0:41                  0 (const int)
+0:41                Constant:
+0:41                  1 (const int)
+0:41                Constant:
+0:41                  2 (const int)
+0:41            subgroupBroadcast ( global 3-component vector of int)
+0:41              vector swizzle ( temp 3-component vector of int)
+0:41                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    Constant:
+0:41                      2 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                Sequence
+0:41                  Constant:
+0:41                    0 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                  Constant:
+0:41                    2 (const int)
+0:41              Constant:
+0:41                2 (const uint)
+0:42          move second child to first child ( temp 4-component vector of int)
+0:42            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                'invocation' ( temp uint)
+0:42              Constant:
+0:42                1 (const int)
+0:42            subgroupBroadcast ( global 4-component vector of int)
+0:42              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  Constant:
+0:42                    3 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:42              Constant:
+0:42                2 (const uint)
+0:44          move second child to first child ( temp uint)
+0:44            direct index ( temp uint)
+0:44              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:44                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                  'invocation' ( temp uint)
+0:44                Constant:
+0:44                  2 (const int)
+0:44              Constant:
+0:44                0 (const int)
+0:44            subgroupBroadcast ( global uint)
+0:44              direct index ( temp uint)
+0:44                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:44                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                    Constant:
+0:44                      0 (const int)
+0:44                  Constant:
+0:44                    2 (const int)
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                1 (const uint)
+0:45          move second child to first child ( temp 2-component vector of uint)
+0:45            vector swizzle ( temp 2-component vector of uint)
+0:45              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:45                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                  'invocation' ( temp uint)
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Sequence
+0:45                Constant:
+0:45                  0 (const int)
+0:45                Constant:
+0:45                  1 (const int)
+0:45            subgroupBroadcast ( global 2-component vector of uint)
+0:45              vector swizzle ( temp 2-component vector of uint)
+0:45                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:45                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                    Constant:
+0:45                      1 (const int)
+0:45                  Constant:
+0:45                    2 (const int)
+0:45                Sequence
+0:45                  Constant:
+0:45                    0 (const int)
+0:45                  Constant:
+0:45                    1 (const int)
+0:45              Constant:
+0:45                1 (const uint)
+0:46          move second child to first child ( temp 3-component vector of uint)
+0:46            vector swizzle ( temp 3-component vector of uint)
+0:46              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:46                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                  'invocation' ( temp uint)
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Sequence
+0:46                Constant:
+0:46                  0 (const int)
+0:46                Constant:
+0:46                  1 (const int)
+0:46                Constant:
+0:46                  2 (const int)
+0:46            subgroupBroadcast ( global 3-component vector of uint)
+0:46              vector swizzle ( temp 3-component vector of uint)
+0:46                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:46                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                    Constant:
+0:46                      2 (const int)
+0:46                  Constant:
+0:46                    2 (const int)
+0:46                Sequence
+0:46                  Constant:
+0:46                    0 (const int)
+0:46                  Constant:
+0:46                    1 (const int)
+0:46                  Constant:
+0:46                    2 (const int)
+0:46              Constant:
+0:46                1 (const uint)
+0:47          move second child to first child ( temp 4-component vector of uint)
+0:47            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:47              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                'invocation' ( temp uint)
+0:47              Constant:
+0:47                2 (const int)
+0:47            subgroupBroadcast ( global 4-component vector of uint)
+0:47              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:47                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                  Constant:
+0:47                    3 (const int)
+0:47                Constant:
+0:47                  2 (const int)
+0:47              Constant:
+0:47                1 (const uint)
+0:49          move second child to first child ( temp double)
+0:49            direct index ( temp double)
+0:49              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:49                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                  'invocation' ( temp uint)
+0:49                Constant:
+0:49                  3 (const int)
+0:49              Constant:
+0:49                0 (const int)
+0:49            subgroupBroadcast ( global double)
+0:49              direct index ( temp double)
+0:49                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:49                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                    Constant:
+0:49                      0 (const int)
+0:49                  Constant:
+0:49                    3 (const int)
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                0 (const uint)
+0:50          move second child to first child ( temp 2-component vector of double)
+0:50            vector swizzle ( temp 2-component vector of double)
+0:50              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:50                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                  'invocation' ( temp uint)
+0:50                Constant:
+0:50                  3 (const int)
+0:50              Sequence
+0:50                Constant:
+0:50                  0 (const int)
+0:50                Constant:
+0:50                  1 (const int)
+0:50            subgroupBroadcast ( global 2-component vector of double)
+0:50              vector swizzle ( temp 2-component vector of double)
+0:50                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:50                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                    Constant:
+0:50                      1 (const int)
+0:50                  Constant:
+0:50                    3 (const int)
+0:50                Sequence
+0:50                  Constant:
+0:50                    0 (const int)
+0:50                  Constant:
+0:50                    1 (const int)
+0:50              Constant:
+0:50                0 (const uint)
+0:51          move second child to first child ( temp 3-component vector of double)
+0:51            vector swizzle ( temp 3-component vector of double)
+0:51              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:51                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                  'invocation' ( temp uint)
+0:51                Constant:
+0:51                  3 (const int)
+0:51              Sequence
+0:51                Constant:
+0:51                  0 (const int)
+0:51                Constant:
+0:51                  1 (const int)
+0:51                Constant:
+0:51                  2 (const int)
+0:51            subgroupBroadcast ( global 3-component vector of double)
+0:51              vector swizzle ( temp 3-component vector of double)
+0:51                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:51                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                    Constant:
+0:51                      2 (const int)
+0:51                  Constant:
+0:51                    3 (const int)
+0:51                Sequence
+0:51                  Constant:
+0:51                    0 (const int)
+0:51                  Constant:
+0:51                    1 (const int)
+0:51                  Constant:
+0:51                    2 (const int)
+0:51              Constant:
+0:51                0 (const uint)
+0:52          move second child to first child ( temp 4-component vector of double)
+0:52            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:52              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                'invocation' ( temp uint)
+0:52              Constant:
+0:52                3 (const int)
+0:52            subgroupBroadcast ( global 4-component vector of double)
+0:52              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:52                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                  Constant:
+0:52                    3 (const int)
+0:52                Constant:
+0:52                  3 (const int)
+0:52              Constant:
+0:52                0 (const uint)
+0:54          move second child to first child ( temp int)
+0:54            direct index ( temp int)
+0:54              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:54                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                  'invocation' ( temp uint)
+0:54                Constant:
+0:54                  1 (const int)
+0:54              Constant:
+0:54                0 (const int)
+0:54            Convert bool to int ( temp int)
+0:54              subgroupBroadcast ( global bool)
+0:54                Compare Less Than ( temp bool)
+0:54                  direct index ( temp int)
+0:54                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:54                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                        Constant:
+0:54                          0 (const int)
+0:54                      Constant:
+0:54                        1 (const int)
+0:54                    Constant:
+0:54                      0 (const int)
+0:54                  Constant:
+0:54                    0 (const int)
+0:54                Constant:
+0:54                  1 (const uint)
+0:55          move second child to first child ( temp 2-component vector of int)
+0:55            vector swizzle ( temp 2-component vector of int)
+0:55              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:55                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                  'invocation' ( temp uint)
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Sequence
+0:55                Constant:
+0:55                  0 (const int)
+0:55                Constant:
+0:55                  1 (const int)
+0:55            Convert bool to int ( temp 2-component vector of int)
+0:55              subgroupBroadcast ( global 2-component vector of bool)
+0:55                Compare Less Than ( global 2-component vector of bool)
+0:55                  vector swizzle ( temp 2-component vector of int)
+0:55                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:55                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                        Constant:
+0:55                          1 (const int)
+0:55                      Constant:
+0:55                        1 (const int)
+0:55                    Sequence
+0:55                      Constant:
+0:55                        0 (const int)
+0:55                      Constant:
+0:55                        1 (const int)
+0:55                  Constant:
+0:55                    0 (const int)
+0:55                    0 (const int)
+0:55                Constant:
+0:55                  1 (const uint)
+0:56          move second child to first child ( temp 3-component vector of int)
+0:56            vector swizzle ( temp 3-component vector of int)
+0:56              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:56                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                  'invocation' ( temp uint)
+0:56                Constant:
+0:56                  1 (const int)
+0:56              Sequence
+0:56                Constant:
+0:56                  0 (const int)
+0:56                Constant:
+0:56                  1 (const int)
+0:56                Constant:
+0:56                  2 (const int)
+0:56            Convert bool to int ( temp 3-component vector of int)
+0:56              subgroupBroadcast ( global 3-component vector of bool)
+0:56                Compare Less Than ( global 3-component vector of bool)
+0:56                  vector swizzle ( temp 3-component vector of int)
+0:56                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:56                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                        Constant:
+0:56                          1 (const int)
+0:56                      Constant:
+0:56                        1 (const int)
+0:56                    Sequence
+0:56                      Constant:
+0:56                        0 (const int)
+0:56                      Constant:
+0:56                        1 (const int)
+0:56                      Constant:
+0:56                        2 (const int)
+0:56                  Constant:
+0:56                    0 (const int)
+0:56                    0 (const int)
+0:56                    0 (const int)
+0:56                Constant:
+0:56                  1 (const uint)
+0:57          move second child to first child ( temp 4-component vector of int)
+0:57            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:57              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                'invocation' ( temp uint)
+0:57              Constant:
+0:57                1 (const int)
+0:57            Convert bool to int ( temp 4-component vector of int)
+0:57              subgroupBroadcast ( global 4-component vector of bool)
+0:57                Compare Less Than ( global 4-component vector of bool)
+0:57                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:57                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                      Constant:
+0:57                        1 (const int)
+0:57                    Constant:
+0:57                      1 (const int)
+0:57                  Constant:
+0:57                    0 (const int)
+0:57                    0 (const int)
+0:57                    0 (const int)
+0:57                    0 (const int)
+0:57                Constant:
+0:57                  1 (const uint)
+0:32        false case
+0:61        Sequence
+0:61          move second child to first child ( temp float)
+0:61            direct index ( temp float)
+0:61              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                  'invocation' ( temp uint)
+0:61                Constant:
+0:61                  0 (const int)
+0:61              Constant:
+0:61                0 (const int)
+0:61            subgroupBroadcastFirst ( global float)
+0:61              direct index ( temp float)
+0:61                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                    Constant:
+0:61                      0 (const int)
+0:61                  Constant:
+0:61                    0 (const int)
+0:61                Constant:
+0:61                  0 (const int)
+0:62          move second child to first child ( temp 2-component vector of float)
+0:62            vector swizzle ( temp 2-component vector of float)
+0:62              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                  'invocation' ( temp uint)
+0:62                Constant:
+0:62                  0 (const int)
+0:62              Sequence
+0:62                Constant:
+0:62                  0 (const int)
+0:62                Constant:
+0:62                  1 (const int)
+0:62            subgroupBroadcastFirst ( global 2-component vector of float)
+0:62              vector swizzle ( temp 2-component vector of float)
+0:62                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                    Constant:
+0:62                      1 (const int)
+0:62                  Constant:
+0:62                    0 (const int)
+0:62                Sequence
+0:62                  Constant:
+0:62                    0 (const int)
+0:62                  Constant:
+0:62                    1 (const int)
+0:63          move second child to first child ( temp 3-component vector of float)
+0:63            vector swizzle ( temp 3-component vector of float)
+0:63              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:63                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                  'invocation' ( temp uint)
+0:63                Constant:
+0:63                  0 (const int)
+0:63              Sequence
+0:63                Constant:
+0:63                  0 (const int)
+0:63                Constant:
+0:63                  1 (const int)
+0:63                Constant:
+0:63                  2 (const int)
+0:63            subgroupBroadcastFirst ( global 3-component vector of float)
+0:63              vector swizzle ( temp 3-component vector of float)
+0:63                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:63                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                    Constant:
+0:63                      2 (const int)
+0:63                  Constant:
+0:63                    0 (const int)
+0:63                Sequence
+0:63                  Constant:
+0:63                    0 (const int)
+0:63                  Constant:
+0:63                    1 (const int)
+0:63                  Constant:
+0:63                    2 (const int)
+0:64          move second child to first child ( temp 4-component vector of float)
+0:64            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:64              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                'invocation' ( temp uint)
+0:64              Constant:
+0:64                0 (const int)
+0:64            subgroupBroadcastFirst ( global 4-component vector of float)
+0:64              f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:64                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                  Constant:
+0:64                    3 (const int)
+0:64                Constant:
+0:64                  0 (const int)
+0:66          move second child to first child ( temp int)
+0:66            direct index ( temp int)
+0:66              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                  'invocation' ( temp uint)
+0:66                Constant:
+0:66                  1 (const int)
+0:66              Constant:
+0:66                0 (const int)
+0:66            subgroupBroadcastFirst ( global int)
+0:66              direct index ( temp int)
+0:66                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    Constant:
+0:66                      0 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                Constant:
+0:66                  0 (const int)
+0:67          move second child to first child ( temp 2-component vector of int)
+0:67            vector swizzle ( temp 2-component vector of int)
+0:67              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  'invocation' ( temp uint)
+0:67                Constant:
+0:67                  1 (const int)
+0:67              Sequence
+0:67                Constant:
+0:67                  0 (const int)
+0:67                Constant:
+0:67                  1 (const int)
+0:67            subgroupBroadcastFirst ( global 2-component vector of int)
+0:67              vector swizzle ( temp 2-component vector of int)
+0:67                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                    Constant:
+0:67                      1 (const int)
+0:67                  Constant:
+0:67                    1 (const int)
+0:67                Sequence
+0:67                  Constant:
+0:67                    0 (const int)
+0:67                  Constant:
+0:67                    1 (const int)
+0:68          move second child to first child ( temp 3-component vector of int)
+0:68            vector swizzle ( temp 3-component vector of int)
+0:68              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:68                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                  'invocation' ( temp uint)
+0:68                Constant:
+0:68                  1 (const int)
+0:68              Sequence
+0:68                Constant:
+0:68                  0 (const int)
+0:68                Constant:
+0:68                  1 (const int)
+0:68                Constant:
+0:68                  2 (const int)
+0:68            subgroupBroadcastFirst ( global 3-component vector of int)
+0:68              vector swizzle ( temp 3-component vector of int)
+0:68                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:68                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                    Constant:
+0:68                      2 (const int)
+0:68                  Constant:
+0:68                    1 (const int)
+0:68                Sequence
+0:68                  Constant:
+0:68                    0 (const int)
+0:68                  Constant:
+0:68                    1 (const int)
+0:68                  Constant:
+0:68                    2 (const int)
+0:69          move second child to first child ( temp 4-component vector of int)
+0:69            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:69              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                'invocation' ( temp uint)
+0:69              Constant:
+0:69                1 (const int)
+0:69            subgroupBroadcastFirst ( global 4-component vector of int)
+0:69              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:69                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                  Constant:
+0:69                    3 (const int)
+0:69                Constant:
+0:69                  1 (const int)
+0:71          move second child to first child ( temp uint)
+0:71            direct index ( temp uint)
+0:71              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                  'invocation' ( temp uint)
+0:71                Constant:
+0:71                  2 (const int)
+0:71              Constant:
+0:71                0 (const int)
+0:71            subgroupBroadcastFirst ( global uint)
+0:71              direct index ( temp uint)
+0:71                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                    Constant:
+0:71                      0 (const int)
+0:71                  Constant:
+0:71                    2 (const int)
+0:71                Constant:
+0:71                  0 (const int)
+0:72          move second child to first child ( temp 2-component vector of uint)
+0:72            vector swizzle ( temp 2-component vector of uint)
+0:72              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                  'invocation' ( temp uint)
+0:72                Constant:
+0:72                  2 (const int)
+0:72              Sequence
+0:72                Constant:
+0:72                  0 (const int)
+0:72                Constant:
+0:72                  1 (const int)
+0:72            subgroupBroadcastFirst ( global 2-component vector of uint)
+0:72              vector swizzle ( temp 2-component vector of uint)
+0:72                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                    Constant:
+0:72                      1 (const int)
+0:72                  Constant:
+0:72                    2 (const int)
+0:72                Sequence
+0:72                  Constant:
+0:72                    0 (const int)
+0:72                  Constant:
+0:72                    1 (const int)
+0:73          move second child to first child ( temp 3-component vector of uint)
+0:73            vector swizzle ( temp 3-component vector of uint)
+0:73              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:73                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                  'invocation' ( temp uint)
+0:73                Constant:
+0:73                  2 (const int)
+0:73              Sequence
+0:73                Constant:
+0:73                  0 (const int)
+0:73                Constant:
+0:73                  1 (const int)
+0:73                Constant:
+0:73                  2 (const int)
+0:73            subgroupBroadcastFirst ( global 3-component vector of uint)
+0:73              vector swizzle ( temp 3-component vector of uint)
+0:73                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:73                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                    Constant:
+0:73                      2 (const int)
+0:73                  Constant:
+0:73                    2 (const int)
+0:73                Sequence
+0:73                  Constant:
+0:73                    0 (const int)
+0:73                  Constant:
+0:73                    1 (const int)
+0:73                  Constant:
+0:73                    2 (const int)
+0:74          move second child to first child ( temp 4-component vector of uint)
+0:74            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:74              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                'invocation' ( temp uint)
+0:74              Constant:
+0:74                2 (const int)
+0:74            subgroupBroadcastFirst ( global 4-component vector of uint)
+0:74              u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:74                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                  Constant:
+0:74                    3 (const int)
+0:74                Constant:
+0:74                  2 (const int)
+0:76          move second child to first child ( temp double)
+0:76            direct index ( temp double)
+0:76              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                  'invocation' ( temp uint)
+0:76                Constant:
+0:76                  3 (const int)
+0:76              Constant:
+0:76                0 (const int)
+0:76            subgroupBroadcastFirst ( global double)
+0:76              direct index ( temp double)
+0:76                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                    Constant:
+0:76                      0 (const int)
+0:76                  Constant:
+0:76                    3 (const int)
+0:76                Constant:
+0:76                  0 (const int)
+0:77          move second child to first child ( temp 2-component vector of double)
+0:77            vector swizzle ( temp 2-component vector of double)
+0:77              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                  'invocation' ( temp uint)
+0:77                Constant:
+0:77                  3 (const int)
+0:77              Sequence
+0:77                Constant:
+0:77                  0 (const int)
+0:77                Constant:
+0:77                  1 (const int)
+0:77            subgroupBroadcastFirst ( global 2-component vector of double)
+0:77              vector swizzle ( temp 2-component vector of double)
+0:77                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                    Constant:
+0:77                      1 (const int)
+0:77                  Constant:
+0:77                    3 (const int)
+0:77                Sequence
+0:77                  Constant:
+0:77                    0 (const int)
+0:77                  Constant:
+0:77                    1 (const int)
+0:78          move second child to first child ( temp 3-component vector of double)
+0:78            vector swizzle ( temp 3-component vector of double)
+0:78              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:78                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                  'invocation' ( temp uint)
+0:78                Constant:
+0:78                  3 (const int)
+0:78              Sequence
+0:78                Constant:
+0:78                  0 (const int)
+0:78                Constant:
+0:78                  1 (const int)
+0:78                Constant:
+0:78                  2 (const int)
+0:78            subgroupBroadcastFirst ( global 3-component vector of double)
+0:78              vector swizzle ( temp 3-component vector of double)
+0:78                d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:78                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                    Constant:
+0:78                      2 (const int)
+0:78                  Constant:
+0:78                    3 (const int)
+0:78                Sequence
+0:78                  Constant:
+0:78                    0 (const int)
+0:78                  Constant:
+0:78                    1 (const int)
+0:78                  Constant:
+0:78                    2 (const int)
+0:79          move second child to first child ( temp 4-component vector of double)
+0:79            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:79              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                'invocation' ( temp uint)
+0:79              Constant:
+0:79                3 (const int)
+0:79            subgroupBroadcastFirst ( global 4-component vector of double)
+0:79              d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:79                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                  Constant:
+0:79                    3 (const int)
+0:79                Constant:
+0:79                  3 (const int)
+0:81          move second child to first child ( temp int)
+0:81            direct index ( temp int)
+0:81              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:81                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                  'invocation' ( temp uint)
+0:81                Constant:
+0:81                  1 (const int)
+0:81              Constant:
+0:81                0 (const int)
+0:81            Convert bool to int ( temp int)
+0:81              subgroupBroadcastFirst ( global bool)
+0:81                Compare Less Than ( temp bool)
+0:81                  direct index ( temp int)
+0:81                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:81                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                        Constant:
+0:81                          0 (const int)
+0:81                      Constant:
+0:81                        1 (const int)
+0:81                    Constant:
+0:81                      0 (const int)
+0:81                  Constant:
+0:81                    0 (const int)
+0:82          move second child to first child ( temp 2-component vector of int)
+0:82            vector swizzle ( temp 2-component vector of int)
+0:82              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:82                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                  'invocation' ( temp uint)
+0:82                Constant:
+0:82                  1 (const int)
+0:82              Sequence
+0:82                Constant:
+0:82                  0 (const int)
+0:82                Constant:
+0:82                  1 (const int)
+0:82            Convert bool to int ( temp 2-component vector of int)
+0:82              subgroupBroadcastFirst ( global 2-component vector of bool)
+0:82                Compare Less Than ( global 2-component vector of bool)
+0:82                  vector swizzle ( temp 2-component vector of int)
+0:82                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:82                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                        Constant:
+0:82                          1 (const int)
+0:82                      Constant:
+0:82                        1 (const int)
+0:82                    Sequence
+0:82                      Constant:
+0:82                        0 (const int)
+0:82                      Constant:
+0:82                        1 (const int)
+0:82                  Constant:
+0:82                    0 (const int)
+0:82                    0 (const int)
+0:83          move second child to first child ( temp 3-component vector of int)
+0:83            vector swizzle ( temp 3-component vector of int)
+0:83              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:83                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                  'invocation' ( temp uint)
+0:83                Constant:
+0:83                  1 (const int)
+0:83              Sequence
+0:83                Constant:
+0:83                  0 (const int)
+0:83                Constant:
+0:83                  1 (const int)
+0:83                Constant:
+0:83                  2 (const int)
+0:83            Convert bool to int ( temp 3-component vector of int)
+0:83              subgroupBroadcastFirst ( global 3-component vector of bool)
+0:83                Compare Less Than ( global 3-component vector of bool)
+0:83                  vector swizzle ( temp 3-component vector of int)
+0:83                    i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:83                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                        Constant:
+0:83                          1 (const int)
+0:83                      Constant:
+0:83                        1 (const int)
+0:83                    Sequence
+0:83                      Constant:
+0:83                        0 (const int)
+0:83                      Constant:
+0:83                        1 (const int)
+0:83                      Constant:
+0:83                        2 (const int)
+0:83                  Constant:
+0:83                    0 (const int)
+0:83                    0 (const int)
+0:83                    0 (const int)
+0:84          move second child to first child ( temp 4-component vector of int)
+0:84            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                'invocation' ( temp uint)
+0:84              Constant:
+0:84                1 (const int)
+0:84            Convert bool to int ( temp 4-component vector of int)
+0:84              subgroupBroadcastFirst ( global 4-component vector of bool)
+0:84                Compare Less Than ( global 4-component vector of bool)
+0:84                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                      Constant:
+0:84                        1 (const int)
+0:84                    Constant:
+0:84                      1 (const int)
+0:84                  Constant:
+0:84                    0 (const int)
+0:84                    0 (const int)
+0:84                    0 (const int)
+0:84                    0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
diff --git a/Test/baseResults/glsl.450.subgroupBallotNeg.comp.out b/Test/baseResults/glsl.450.subgroupBallotNeg.comp.out
new file mode 100644
index 0000000..3038354
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupBallotNeg.comp.out
@@ -0,0 +1,267 @@
+glsl.450.subgroupBallotNeg.comp
+ERROR: 0:32: 'id' : argument must be compile-time constant 
+ERROR: 1 compilation errors.  No code generated.
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_ballot
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+ERROR: node is still EOpNull!
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      Sequence
+0:19        move second child to first child ( temp 4-component vector of uint)
+0:19          'relMask' ( temp 4-component vector of uint)
+0:22          add ( temp 4-component vector of uint)
+0:21            add ( temp 4-component vector of uint)
+0:20              add ( temp 4-component vector of uint)
+0:19                add ( temp 4-component vector of uint)
+0:19                  'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
+0:20                  'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
+0:21                'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
+0:22              'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
+0:23            'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
+0:25      Sequence
+0:25        move second child to first child ( temp 4-component vector of uint)
+0:25          'result' ( temp 4-component vector of uint)
+0:25          subgroupBallot ( global 4-component vector of uint)
+0:25            Constant:
+0:25              true (const bool)
+0:27      move second child to first child ( temp uint)
+0:27        direct index ( temp uint)
+0:27          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:27            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'invocation' ( temp uint)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Constant:
+0:27            0 (const int)
+0:27        subgroupBallotBitCount ( global uint)
+0:27          'result' ( temp 4-component vector of uint)
+0:28      move second child to first child ( temp uint)
+0:28        direct index ( temp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:28            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28              'invocation' ( temp uint)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            1 (const int)
+0:28        Convert int to uint ( temp uint)
+0:28          Test condition and select ( temp int)
+0:28            Condition
+0:28            subgroupBallotBitExtract ( global bool)
+0:28              'result' ( temp 4-component vector of uint)
+0:28              Constant:
+0:28                0 (const uint)
+0:28            true case
+0:28            Constant:
+0:28              1 (const int)
+0:28            false case
+0:28            Constant:
+0:28              0 (const int)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            2 (const int)
+0:29        add ( temp uint)
+0:29          subgroupBallotInclusiveBitCount ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:29          subgroupBallotExclusiveBitCount ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:30      move second child to first child ( temp uint)
+0:30        direct index ( temp uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Constant:
+0:30            3 (const int)
+0:30        add ( temp uint)
+0:30          subgroupBallotFindLSB ( global uint)
+0:30            'result' ( temp 4-component vector of uint)
+0:30          subgroupBallotFindMSB ( global uint)
+0:30            'result' ( temp 4-component vector of uint)
+0:32      move second child to first child ( temp float)
+0:32        direct index ( temp float)
+0:32          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:32            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'invocation' ( temp uint)
+0:32            Constant:
+0:32              0 (const int)
+0:32          Constant:
+0:32            0 (const int)
+0:32        subgroupBroadcast ( global float)
+0:32          direct index ( temp float)
+0:32            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                Constant:
+0:32                  0 (const int)
+0:32              Constant:
+0:32                0 (const int)
+0:32            Constant:
+0:32              0 (const int)
+0:32          'invocation' ( temp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_ballot
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+ERROR: node is still EOpNull!
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      Sequence
+0:19        move second child to first child ( temp 4-component vector of uint)
+0:19          'relMask' ( temp 4-component vector of uint)
+0:22          add ( temp 4-component vector of uint)
+0:21            add ( temp 4-component vector of uint)
+0:20              add ( temp 4-component vector of uint)
+0:19                add ( temp 4-component vector of uint)
+0:19                  'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
+0:20                  'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
+0:21                'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
+0:22              'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
+0:23            'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
+0:25      Sequence
+0:25        move second child to first child ( temp 4-component vector of uint)
+0:25          'result' ( temp 4-component vector of uint)
+0:25          subgroupBallot ( global 4-component vector of uint)
+0:25            Constant:
+0:25              true (const bool)
+0:27      move second child to first child ( temp uint)
+0:27        direct index ( temp uint)
+0:27          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:27            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'invocation' ( temp uint)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Constant:
+0:27            0 (const int)
+0:27        subgroupBallotBitCount ( global uint)
+0:27          'result' ( temp 4-component vector of uint)
+0:28      move second child to first child ( temp uint)
+0:28        direct index ( temp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:28            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28              'invocation' ( temp uint)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            1 (const int)
+0:28        Convert int to uint ( temp uint)
+0:28          Test condition and select ( temp int)
+0:28            Condition
+0:28            subgroupBallotBitExtract ( global bool)
+0:28              'result' ( temp 4-component vector of uint)
+0:28              Constant:
+0:28                0 (const uint)
+0:28            true case
+0:28            Constant:
+0:28              1 (const int)
+0:28            false case
+0:28            Constant:
+0:28              0 (const int)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            2 (const int)
+0:29        add ( temp uint)
+0:29          subgroupBallotInclusiveBitCount ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:29          subgroupBallotExclusiveBitCount ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:30      move second child to first child ( temp uint)
+0:30        direct index ( temp uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Constant:
+0:30            3 (const int)
+0:30        add ( temp uint)
+0:30          subgroupBallotFindLSB ( global uint)
+0:30            'result' ( temp 4-component vector of uint)
+0:30          subgroupBallotFindMSB ( global uint)
+0:30            'result' ( temp 4-component vector of uint)
+0:32      move second child to first child ( temp float)
+0:32        direct index ( temp float)
+0:32          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:32            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'invocation' ( temp uint)
+0:32            Constant:
+0:32              0 (const int)
+0:32          Constant:
+0:32            0 (const int)
+0:32        subgroupBroadcast ( global float)
+0:32          direct index ( temp float)
+0:32            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                Constant:
+0:32                  0 (const int)
+0:32              Constant:
+0:32                0 (const int)
+0:32            Constant:
+0:32              0 (const int)
+0:32          'invocation' ( temp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
diff --git a/Test/baseResults/glsl.450.subgroupBasic.comp.out b/Test/baseResults/glsl.450.subgroupBasic.comp.out
new file mode 100644
index 0000000..59fd193
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupBasic.comp.out
@@ -0,0 +1,129 @@
+glsl.450.subgroupBasic.comp
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+0:? Sequence
+0:12  Function Definition: main( ( global void)
+0:12    Function Parameters: 
+0:14    Sequence
+0:14      move second child to first child ( temp int)
+0:14        indirect index (layout( column_major shared) temp int)
+0:14          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
+0:14            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
+0:14            Constant:
+0:14              0 (const int)
+0:14          'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:14        Constant:
+0:14          1 (const int)
+0:15      move second child to first child ( temp int)
+0:15        indirect index (layout( column_major shared) temp int)
+0:15          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
+0:15            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
+0:15            Constant:
+0:15              0 (const int)
+0:15          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:15        Constant:
+0:15          1 (const int)
+0:16      move second child to first child ( temp int)
+0:16        indirect index (layout( column_major shared) temp int)
+0:16          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
+0:16            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
+0:16            Constant:
+0:16              0 (const int)
+0:16          'gl_NumSubgroups' ( in uint unknown built-in variable)
+0:16        Constant:
+0:16          1 (const int)
+0:17      move second child to first child ( temp int)
+0:17        indirect index (layout( column_major shared) temp int)
+0:17          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
+0:17            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
+0:17            Constant:
+0:17              0 (const int)
+0:17          'gl_SubgroupID' ( in uint unknown built-in variable)
+0:17        Test condition and select ( temp int)
+0:17          Condition
+0:17          subgroupElect ( global bool)
+0:17          true case
+0:17          Constant:
+0:17            1 (const int)
+0:17          false case
+0:17          Constant:
+0:17            0 (const int)
+0:18      subgroupBarrier ( global void)
+0:19      subgroupMemoryBarrier ( global void)
+0:20      subgroupMemoryBarrierBuffer ( global void)
+0:21      subgroupMemoryBarrierShared ( global void)
+0:22      subgroupMemoryBarrierImage ( global void)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+0:? Sequence
+0:12  Function Definition: main( ( global void)
+0:12    Function Parameters: 
+0:14    Sequence
+0:14      move second child to first child ( temp int)
+0:14        indirect index (layout( column_major shared) temp int)
+0:14          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
+0:14            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
+0:14            Constant:
+0:14              0 (const int)
+0:14          'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:14        Constant:
+0:14          1 (const int)
+0:15      move second child to first child ( temp int)
+0:15        indirect index (layout( column_major shared) temp int)
+0:15          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
+0:15            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
+0:15            Constant:
+0:15              0 (const int)
+0:15          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:15        Constant:
+0:15          1 (const int)
+0:16      move second child to first child ( temp int)
+0:16        indirect index (layout( column_major shared) temp int)
+0:16          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
+0:16            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
+0:16            Constant:
+0:16              0 (const int)
+0:16          'gl_NumSubgroups' ( in uint unknown built-in variable)
+0:16        Constant:
+0:16          1 (const int)
+0:17      move second child to first child ( temp int)
+0:17        indirect index (layout( column_major shared) temp int)
+0:17          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
+0:17            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
+0:17            Constant:
+0:17              0 (const int)
+0:17          'gl_SubgroupID' ( in uint unknown built-in variable)
+0:17        Test condition and select ( temp int)
+0:17          Condition
+0:17          subgroupElect ( global bool)
+0:17          true case
+0:17          Constant:
+0:17            1 (const int)
+0:17          false case
+0:17          Constant:
+0:17            0 (const int)
+0:18      subgroupBarrier ( global void)
+0:19      subgroupMemoryBarrier ( global void)
+0:20      subgroupMemoryBarrierBuffer ( global void)
+0:21      subgroupMemoryBarrierShared ( global void)
+0:22      subgroupMemoryBarrierImage ( global void)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
+
diff --git a/Test/baseResults/glsl.450.subgroupClustered.comp.out b/Test/baseResults/glsl.450.subgroupClustered.comp.out
new file mode 100644
index 0000000..df63d3d
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupClustered.comp.out
@@ -0,0 +1,5285 @@
+glsl.450.subgroupClustered.comp
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_clustered
+local_size = (8, 1, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      move second child to first child ( temp float)
+0:19        direct index ( temp float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'invocation' ( temp uint)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            0 (const int)
+0:19        subgroupClusteredAdd ( global float)
+0:19          direct index ( temp float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            1 (const uint)
+0:20      move second child to first child ( temp 2-component vector of float)
+0:20        vector swizzle ( temp 2-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'invocation' ( temp uint)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20        subgroupClusteredAdd ( global 2-component vector of float)
+0:20          vector swizzle ( temp 2-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                Constant:
+0:20                  1 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20          Constant:
+0:20            1 (const uint)
+0:21      move second child to first child ( temp 3-component vector of float)
+0:21        vector swizzle ( temp 3-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'invocation' ( temp uint)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21            Constant:
+0:21              2 (const int)
+0:21        subgroupClusteredAdd ( global 3-component vector of float)
+0:21          vector swizzle ( temp 3-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  2 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21              Constant:
+0:21                2 (const int)
+0:21          Constant:
+0:21            1 (const uint)
+0:22      move second child to first child ( temp 4-component vector of float)
+0:22        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            0 (const int)
+0:22        subgroupClusteredAdd ( global 4-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              Constant:
+0:22                3 (const int)
+0:22            Constant:
+0:22              0 (const int)
+0:22          Constant:
+0:22            1 (const uint)
+0:24      move second child to first child ( temp int)
+0:24        direct index ( temp int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupClusteredAdd ( global int)
+0:24          direct index ( temp int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:24          Constant:
+0:24            1 (const uint)
+0:25      move second child to first child ( temp 2-component vector of int)
+0:25        vector swizzle ( temp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'invocation' ( temp uint)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupClusteredAdd ( global 2-component vector of int)
+0:25          vector swizzle ( temp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25          Constant:
+0:25            1 (const uint)
+0:26      move second child to first child ( temp 3-component vector of int)
+0:26        vector swizzle ( temp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupClusteredAdd ( global 3-component vector of int)
+0:26          vector swizzle ( temp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26          Constant:
+0:26            1 (const uint)
+0:27      move second child to first child ( temp 4-component vector of int)
+0:27        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            1 (const int)
+0:27        subgroupClusteredAdd ( global 4-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              Constant:
+0:27                3 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27          Constant:
+0:27            1 (const uint)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupClusteredAdd ( global uint)
+0:29          direct index ( temp uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29          Constant:
+0:29            1 (const uint)
+0:30      move second child to first child ( temp 2-component vector of uint)
+0:30        vector swizzle ( temp 2-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30        subgroupClusteredAdd ( global 2-component vector of uint)
+0:30          vector swizzle ( temp 2-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                Constant:
+0:30                  1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30          Constant:
+0:30            1 (const uint)
+0:31      move second child to first child ( temp 3-component vector of uint)
+0:31        vector swizzle ( temp 3-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'invocation' ( temp uint)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31        subgroupClusteredAdd ( global 3-component vector of uint)
+0:31          vector swizzle ( temp 3-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  2 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31          Constant:
+0:31            1 (const uint)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupClusteredAdd ( global 4-component vector of uint)
+0:32          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              Constant:
+0:32                3 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32          Constant:
+0:32            1 (const uint)
+0:34      move second child to first child ( temp double)
+0:34        direct index ( temp double)
+0:34          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              3 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupClusteredAdd ( global double)
+0:34          direct index ( temp double)
+0:34            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          Constant:
+0:34            1 (const uint)
+0:35      move second child to first child ( temp 2-component vector of double)
+0:35        vector swizzle ( temp 2-component vector of double)
+0:35          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'invocation' ( temp uint)
+0:35            Constant:
+0:35              3 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35        subgroupClusteredAdd ( global 2-component vector of double)
+0:35          vector swizzle ( temp 2-component vector of double)
+0:35            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                3 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35          Constant:
+0:35            1 (const uint)
+0:36      move second child to first child ( temp 3-component vector of double)
+0:36        vector swizzle ( temp 3-component vector of double)
+0:36          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              3 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36            Constant:
+0:36              2 (const int)
+0:36        subgroupClusteredAdd ( global 3-component vector of double)
+0:36          vector swizzle ( temp 3-component vector of double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  2 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              Constant:
+0:36                2 (const int)
+0:36          Constant:
+0:36            1 (const uint)
+0:37      move second child to first child ( temp 4-component vector of double)
+0:37        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            3 (const int)
+0:37        subgroupClusteredAdd ( global 4-component vector of double)
+0:37          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              Constant:
+0:37                3 (const int)
+0:37            Constant:
+0:37              3 (const int)
+0:37          Constant:
+0:37            1 (const uint)
+0:39      move second child to first child ( temp float)
+0:39        direct index ( temp float)
+0:39          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'invocation' ( temp uint)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Constant:
+0:39            0 (const int)
+0:39        subgroupClusteredMul ( global float)
+0:39          direct index ( temp float)
+0:39            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Constant:
+0:39            1 (const uint)
+0:40      move second child to first child ( temp 2-component vector of float)
+0:40        vector swizzle ( temp 2-component vector of float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'invocation' ( temp uint)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40        subgroupClusteredMul ( global 2-component vector of float)
+0:40          vector swizzle ( temp 2-component vector of float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                Constant:
+0:40                  1 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40          Constant:
+0:40            1 (const uint)
+0:41      move second child to first child ( temp 3-component vector of float)
+0:41        vector swizzle ( temp 3-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'invocation' ( temp uint)
+0:41            Constant:
+0:41              0 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41            Constant:
+0:41              2 (const int)
+0:41        subgroupClusteredMul ( global 3-component vector of float)
+0:41          vector swizzle ( temp 3-component vector of float)
+0:41            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                Constant:
+0:41                  2 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41              Constant:
+0:41                2 (const int)
+0:41          Constant:
+0:41            1 (const uint)
+0:42      move second child to first child ( temp 4-component vector of float)
+0:42        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            0 (const int)
+0:42        subgroupClusteredMul ( global 4-component vector of float)
+0:42          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:42            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42              Constant:
+0:42                3 (const int)
+0:42            Constant:
+0:42              0 (const int)
+0:42          Constant:
+0:42            1 (const uint)
+0:44      move second child to first child ( temp int)
+0:44        direct index ( temp int)
+0:44          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'invocation' ( temp uint)
+0:44            Constant:
+0:44              1 (const int)
+0:44          Constant:
+0:44            0 (const int)
+0:44        subgroupClusteredMul ( global int)
+0:44          direct index ( temp int)
+0:44            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44            Constant:
+0:44              0 (const int)
+0:44          Constant:
+0:44            1 (const uint)
+0:45      move second child to first child ( temp 2-component vector of int)
+0:45        vector swizzle ( temp 2-component vector of int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'invocation' ( temp uint)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45        subgroupClusteredMul ( global 2-component vector of int)
+0:45          vector swizzle ( temp 2-component vector of int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                Constant:
+0:45                  1 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45          Constant:
+0:45            1 (const uint)
+0:46      move second child to first child ( temp 3-component vector of int)
+0:46        vector swizzle ( temp 3-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              1 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46        subgroupClusteredMul ( global 3-component vector of int)
+0:46          vector swizzle ( temp 3-component vector of int)
+0:46            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46          Constant:
+0:46            1 (const uint)
+0:47      move second child to first child ( temp 4-component vector of int)
+0:47        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'invocation' ( temp uint)
+0:47          Constant:
+0:47            1 (const int)
+0:47        subgroupClusteredMul ( global 4-component vector of int)
+0:47          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              Constant:
+0:47                3 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47          Constant:
+0:47            1 (const uint)
+0:49      move second child to first child ( temp uint)
+0:49        direct index ( temp uint)
+0:49          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'invocation' ( temp uint)
+0:49            Constant:
+0:49              2 (const int)
+0:49          Constant:
+0:49            0 (const int)
+0:49        subgroupClusteredMul ( global uint)
+0:49          direct index ( temp uint)
+0:49            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                2 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          Constant:
+0:49            1 (const uint)
+0:50      move second child to first child ( temp 2-component vector of uint)
+0:50        vector swizzle ( temp 2-component vector of uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'invocation' ( temp uint)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50        subgroupClusteredMul ( global 2-component vector of uint)
+0:50          vector swizzle ( temp 2-component vector of uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50          Constant:
+0:50            1 (const uint)
+0:51      move second child to first child ( temp 3-component vector of uint)
+0:51        vector swizzle ( temp 3-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              2 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51        subgroupClusteredMul ( global 3-component vector of uint)
+0:51          vector swizzle ( temp 3-component vector of uint)
+0:51            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  2 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51          Constant:
+0:51            1 (const uint)
+0:52      move second child to first child ( temp 4-component vector of uint)
+0:52        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'invocation' ( temp uint)
+0:52          Constant:
+0:52            2 (const int)
+0:52        subgroupClusteredMul ( global 4-component vector of uint)
+0:52          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              Constant:
+0:52                3 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52          Constant:
+0:52            1 (const uint)
+0:54      move second child to first child ( temp double)
+0:54        direct index ( temp double)
+0:54          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'invocation' ( temp uint)
+0:54            Constant:
+0:54              3 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupClusteredMul ( global double)
+0:54          direct index ( temp double)
+0:54            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                Constant:
+0:54                  0 (const int)
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:54          Constant:
+0:54            1 (const uint)
+0:55      move second child to first child ( temp 2-component vector of double)
+0:55        vector swizzle ( temp 2-component vector of double)
+0:55          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'invocation' ( temp uint)
+0:55            Constant:
+0:55              3 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55        subgroupClusteredMul ( global 2-component vector of double)
+0:55          vector swizzle ( temp 2-component vector of double)
+0:55            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Constant:
+0:55                3 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55          Constant:
+0:55            1 (const uint)
+0:56      move second child to first child ( temp 3-component vector of double)
+0:56        vector swizzle ( temp 3-component vector of double)
+0:56          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              3 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56            Constant:
+0:56              2 (const int)
+0:56        subgroupClusteredMul ( global 3-component vector of double)
+0:56          vector swizzle ( temp 3-component vector of double)
+0:56            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  2 (const int)
+0:56              Constant:
+0:56                3 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56          Constant:
+0:56            1 (const uint)
+0:57      move second child to first child ( temp 4-component vector of double)
+0:57        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'invocation' ( temp uint)
+0:57          Constant:
+0:57            3 (const int)
+0:57        subgroupClusteredMul ( global 4-component vector of double)
+0:57          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              Constant:
+0:57                3 (const int)
+0:57            Constant:
+0:57              3 (const int)
+0:57          Constant:
+0:57            1 (const uint)
+0:59      move second child to first child ( temp float)
+0:59        direct index ( temp float)
+0:59          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'invocation' ( temp uint)
+0:59            Constant:
+0:59              0 (const int)
+0:59          Constant:
+0:59            0 (const int)
+0:59        subgroupClusteredMin ( global float)
+0:59          direct index ( temp float)
+0:59            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                Constant:
+0:59                  0 (const int)
+0:59              Constant:
+0:59                0 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:59          Constant:
+0:59            1 (const uint)
+0:60      move second child to first child ( temp 2-component vector of float)
+0:60        vector swizzle ( temp 2-component vector of float)
+0:60          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'invocation' ( temp uint)
+0:60            Constant:
+0:60              0 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60        subgroupClusteredMin ( global 2-component vector of float)
+0:60          vector swizzle ( temp 2-component vector of float)
+0:60            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                0 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60          Constant:
+0:60            1 (const uint)
+0:61      move second child to first child ( temp 3-component vector of float)
+0:61        vector swizzle ( temp 3-component vector of float)
+0:61          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              0 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61        subgroupClusteredMin ( global 3-component vector of float)
+0:61          vector swizzle ( temp 3-component vector of float)
+0:61            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  2 (const int)
+0:61              Constant:
+0:61                0 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61              Constant:
+0:61                2 (const int)
+0:61          Constant:
+0:61            1 (const uint)
+0:62      move second child to first child ( temp 4-component vector of float)
+0:62        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'invocation' ( temp uint)
+0:62          Constant:
+0:62            0 (const int)
+0:62        subgroupClusteredMin ( global 4-component vector of float)
+0:62          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              Constant:
+0:62                3 (const int)
+0:62            Constant:
+0:62              0 (const int)
+0:62          Constant:
+0:62            1 (const uint)
+0:64      move second child to first child ( temp int)
+0:64        direct index ( temp int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'invocation' ( temp uint)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Constant:
+0:64            0 (const int)
+0:64        subgroupClusteredMin ( global int)
+0:64          direct index ( temp int)
+0:64            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                Constant:
+0:64                  0 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:64            Constant:
+0:64              0 (const int)
+0:64          Constant:
+0:64            1 (const uint)
+0:65      move second child to first child ( temp 2-component vector of int)
+0:65        vector swizzle ( temp 2-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'invocation' ( temp uint)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65        subgroupClusteredMin ( global 2-component vector of int)
+0:65          vector swizzle ( temp 2-component vector of int)
+0:65            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                Constant:
+0:65                  1 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65            Sequence
+0:65              Constant:
+0:65                0 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65          Constant:
+0:65            1 (const uint)
+0:66      move second child to first child ( temp 3-component vector of int)
+0:66        vector swizzle ( temp 3-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              1 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66        subgroupClusteredMin ( global 3-component vector of int)
+0:66          vector swizzle ( temp 3-component vector of int)
+0:66            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                Constant:
+0:66                  2 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66            Sequence
+0:66              Constant:
+0:66                0 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66              Constant:
+0:66                2 (const int)
+0:66          Constant:
+0:66            1 (const uint)
+0:67      move second child to first child ( temp 4-component vector of int)
+0:67        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'invocation' ( temp uint)
+0:67          Constant:
+0:67            1 (const int)
+0:67        subgroupClusteredMin ( global 4-component vector of int)
+0:67          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              Constant:
+0:67                3 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:67          Constant:
+0:67            1 (const uint)
+0:69      move second child to first child ( temp uint)
+0:69        direct index ( temp uint)
+0:69          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:69            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'invocation' ( temp uint)
+0:69            Constant:
+0:69              2 (const int)
+0:69          Constant:
+0:69            0 (const int)
+0:69        subgroupClusteredMin ( global uint)
+0:69          direct index ( temp uint)
+0:69            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                Constant:
+0:69                  0 (const int)
+0:69              Constant:
+0:69                2 (const int)
+0:69            Constant:
+0:69              0 (const int)
+0:69          Constant:
+0:69            1 (const uint)
+0:70      move second child to first child ( temp 2-component vector of uint)
+0:70        vector swizzle ( temp 2-component vector of uint)
+0:70          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:70            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'invocation' ( temp uint)
+0:70            Constant:
+0:70              2 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70        subgroupClusteredMin ( global 2-component vector of uint)
+0:70          vector swizzle ( temp 2-component vector of uint)
+0:70            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                Constant:
+0:70                  1 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70          Constant:
+0:70            1 (const uint)
+0:71      move second child to first child ( temp 3-component vector of uint)
+0:71        vector swizzle ( temp 3-component vector of uint)
+0:71          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'invocation' ( temp uint)
+0:71            Constant:
+0:71              2 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71            Constant:
+0:71              2 (const int)
+0:71        subgroupClusteredMin ( global 3-component vector of uint)
+0:71          vector swizzle ( temp 3-component vector of uint)
+0:71            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                Constant:
+0:71                  2 (const int)
+0:71              Constant:
+0:71                2 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71              Constant:
+0:71                2 (const int)
+0:71          Constant:
+0:71            1 (const uint)
+0:72      move second child to first child ( temp 4-component vector of uint)
+0:72        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'invocation' ( temp uint)
+0:72          Constant:
+0:72            2 (const int)
+0:72        subgroupClusteredMin ( global 4-component vector of uint)
+0:72          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              Constant:
+0:72                3 (const int)
+0:72            Constant:
+0:72              2 (const int)
+0:72          Constant:
+0:72            1 (const uint)
+0:74      move second child to first child ( temp double)
+0:74        direct index ( temp double)
+0:74          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:74            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'invocation' ( temp uint)
+0:74            Constant:
+0:74              3 (const int)
+0:74          Constant:
+0:74            0 (const int)
+0:74        subgroupClusteredMin ( global double)
+0:74          direct index ( temp double)
+0:74            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:74              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                Constant:
+0:74                  0 (const int)
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              0 (const int)
+0:74          Constant:
+0:74            1 (const uint)
+0:75      move second child to first child ( temp 2-component vector of double)
+0:75        vector swizzle ( temp 2-component vector of double)
+0:75          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:75            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'invocation' ( temp uint)
+0:75            Constant:
+0:75              3 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75        subgroupClusteredMin ( global 2-component vector of double)
+0:75          vector swizzle ( temp 2-component vector of double)
+0:75            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                Constant:
+0:75                  1 (const int)
+0:75              Constant:
+0:75                3 (const int)
+0:75            Sequence
+0:75              Constant:
+0:75                0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:75          Constant:
+0:75            1 (const uint)
+0:76      move second child to first child ( temp 3-component vector of double)
+0:76        vector swizzle ( temp 3-component vector of double)
+0:76          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'invocation' ( temp uint)
+0:76            Constant:
+0:76              3 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76            Constant:
+0:76              2 (const int)
+0:76        subgroupClusteredMin ( global 3-component vector of double)
+0:76          vector swizzle ( temp 3-component vector of double)
+0:76            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                Constant:
+0:76                  2 (const int)
+0:76              Constant:
+0:76                3 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76              Constant:
+0:76                2 (const int)
+0:76          Constant:
+0:76            1 (const uint)
+0:77      move second child to first child ( temp 4-component vector of double)
+0:77        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'invocation' ( temp uint)
+0:77          Constant:
+0:77            3 (const int)
+0:77        subgroupClusteredMin ( global 4-component vector of double)
+0:77          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              Constant:
+0:77                3 (const int)
+0:77            Constant:
+0:77              3 (const int)
+0:77          Constant:
+0:77            1 (const uint)
+0:79      move second child to first child ( temp float)
+0:79        direct index ( temp float)
+0:79          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:79            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'invocation' ( temp uint)
+0:79            Constant:
+0:79              0 (const int)
+0:79          Constant:
+0:79            0 (const int)
+0:79        subgroupClusteredMax ( global float)
+0:79          direct index ( temp float)
+0:79            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                Constant:
+0:79                  0 (const int)
+0:79              Constant:
+0:79                0 (const int)
+0:79            Constant:
+0:79              0 (const int)
+0:79          Constant:
+0:79            1 (const uint)
+0:80      move second child to first child ( temp 2-component vector of float)
+0:80        vector swizzle ( temp 2-component vector of float)
+0:80          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:80            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'invocation' ( temp uint)
+0:80            Constant:
+0:80              0 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80        subgroupClusteredMax ( global 2-component vector of float)
+0:80          vector swizzle ( temp 2-component vector of float)
+0:80            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                Constant:
+0:80                  1 (const int)
+0:80              Constant:
+0:80                0 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80          Constant:
+0:80            1 (const uint)
+0:81      move second child to first child ( temp 3-component vector of float)
+0:81        vector swizzle ( temp 3-component vector of float)
+0:81          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:81            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'invocation' ( temp uint)
+0:81            Constant:
+0:81              0 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81            Constant:
+0:81              2 (const int)
+0:81        subgroupClusteredMax ( global 3-component vector of float)
+0:81          vector swizzle ( temp 3-component vector of float)
+0:81            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                Constant:
+0:81                  2 (const int)
+0:81              Constant:
+0:81                0 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81              Constant:
+0:81                2 (const int)
+0:81          Constant:
+0:81            1 (const uint)
+0:82      move second child to first child ( temp 4-component vector of float)
+0:82        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:82          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'invocation' ( temp uint)
+0:82          Constant:
+0:82            0 (const int)
+0:82        subgroupClusteredMax ( global 4-component vector of float)
+0:82          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:82            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              Constant:
+0:82                3 (const int)
+0:82            Constant:
+0:82              0 (const int)
+0:82          Constant:
+0:82            1 (const uint)
+0:84      move second child to first child ( temp int)
+0:84        direct index ( temp int)
+0:84          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'invocation' ( temp uint)
+0:84            Constant:
+0:84              1 (const int)
+0:84          Constant:
+0:84            0 (const int)
+0:84        subgroupClusteredMax ( global int)
+0:84          direct index ( temp int)
+0:84            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                Constant:
+0:84                  0 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:84            Constant:
+0:84              0 (const int)
+0:84          Constant:
+0:84            1 (const uint)
+0:85      move second child to first child ( temp 2-component vector of int)
+0:85        vector swizzle ( temp 2-component vector of int)
+0:85          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:85            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'invocation' ( temp uint)
+0:85            Constant:
+0:85              1 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85        subgroupClusteredMax ( global 2-component vector of int)
+0:85          vector swizzle ( temp 2-component vector of int)
+0:85            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                Constant:
+0:85                  1 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85          Constant:
+0:85            1 (const uint)
+0:86      move second child to first child ( temp 3-component vector of int)
+0:86        vector swizzle ( temp 3-component vector of int)
+0:86          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:86            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'invocation' ( temp uint)
+0:86            Constant:
+0:86              1 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86        subgroupClusteredMax ( global 3-component vector of int)
+0:86          vector swizzle ( temp 3-component vector of int)
+0:86            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                Constant:
+0:86                  2 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86              Constant:
+0:86                2 (const int)
+0:86          Constant:
+0:86            1 (const uint)
+0:87      move second child to first child ( temp 4-component vector of int)
+0:87        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:87          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'invocation' ( temp uint)
+0:87          Constant:
+0:87            1 (const int)
+0:87        subgroupClusteredMax ( global 4-component vector of int)
+0:87          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:87            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              Constant:
+0:87                3 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:87          Constant:
+0:87            1 (const uint)
+0:89      move second child to first child ( temp uint)
+0:89        direct index ( temp uint)
+0:89          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:89            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'invocation' ( temp uint)
+0:89            Constant:
+0:89              2 (const int)
+0:89          Constant:
+0:89            0 (const int)
+0:89        subgroupClusteredMax ( global uint)
+0:89          direct index ( temp uint)
+0:89            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:89              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                Constant:
+0:89                  0 (const int)
+0:89              Constant:
+0:89                2 (const int)
+0:89            Constant:
+0:89              0 (const int)
+0:89          Constant:
+0:89            1 (const uint)
+0:90      move second child to first child ( temp 2-component vector of uint)
+0:90        vector swizzle ( temp 2-component vector of uint)
+0:90          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:90            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'invocation' ( temp uint)
+0:90            Constant:
+0:90              2 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90        subgroupClusteredMax ( global 2-component vector of uint)
+0:90          vector swizzle ( temp 2-component vector of uint)
+0:90            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:90              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                Constant:
+0:90                  1 (const int)
+0:90              Constant:
+0:90                2 (const int)
+0:90            Sequence
+0:90              Constant:
+0:90                0 (const int)
+0:90              Constant:
+0:90                1 (const int)
+0:90          Constant:
+0:90            1 (const uint)
+0:91      move second child to first child ( temp 3-component vector of uint)
+0:91        vector swizzle ( temp 3-component vector of uint)
+0:91          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:91            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'invocation' ( temp uint)
+0:91            Constant:
+0:91              2 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91            Constant:
+0:91              2 (const int)
+0:91        subgroupClusteredMax ( global 3-component vector of uint)
+0:91          vector swizzle ( temp 3-component vector of uint)
+0:91            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:91              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                Constant:
+0:91                  2 (const int)
+0:91              Constant:
+0:91                2 (const int)
+0:91            Sequence
+0:91              Constant:
+0:91                0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91              Constant:
+0:91                2 (const int)
+0:91          Constant:
+0:91            1 (const uint)
+0:92      move second child to first child ( temp 4-component vector of uint)
+0:92        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:92          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'invocation' ( temp uint)
+0:92          Constant:
+0:92            2 (const int)
+0:92        subgroupClusteredMax ( global 4-component vector of uint)
+0:92          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:92            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              Constant:
+0:92                3 (const int)
+0:92            Constant:
+0:92              2 (const int)
+0:92          Constant:
+0:92            1 (const uint)
+0:94      move second child to first child ( temp double)
+0:94        direct index ( temp double)
+0:94          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:94            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'invocation' ( temp uint)
+0:94            Constant:
+0:94              3 (const int)
+0:94          Constant:
+0:94            0 (const int)
+0:94        subgroupClusteredMax ( global double)
+0:94          direct index ( temp double)
+0:94            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:94              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                Constant:
+0:94                  0 (const int)
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              0 (const int)
+0:94          Constant:
+0:94            1 (const uint)
+0:95      move second child to first child ( temp 2-component vector of double)
+0:95        vector swizzle ( temp 2-component vector of double)
+0:95          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:95            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'invocation' ( temp uint)
+0:95            Constant:
+0:95              3 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95        subgroupClusteredMax ( global 2-component vector of double)
+0:95          vector swizzle ( temp 2-component vector of double)
+0:95            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                Constant:
+0:95                  1 (const int)
+0:95              Constant:
+0:95                3 (const int)
+0:95            Sequence
+0:95              Constant:
+0:95                0 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:95          Constant:
+0:95            1 (const uint)
+0:96      move second child to first child ( temp 3-component vector of double)
+0:96        vector swizzle ( temp 3-component vector of double)
+0:96          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:96            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'invocation' ( temp uint)
+0:96            Constant:
+0:96              3 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96            Constant:
+0:96              2 (const int)
+0:96        subgroupClusteredMax ( global 3-component vector of double)
+0:96          vector swizzle ( temp 3-component vector of double)
+0:96            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                Constant:
+0:96                  2 (const int)
+0:96              Constant:
+0:96                3 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:96              Constant:
+0:96                2 (const int)
+0:96          Constant:
+0:96            1 (const uint)
+0:97      move second child to first child ( temp 4-component vector of double)
+0:97        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:97          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'invocation' ( temp uint)
+0:97          Constant:
+0:97            3 (const int)
+0:97        subgroupClusteredMax ( global 4-component vector of double)
+0:97          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:97            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              Constant:
+0:97                3 (const int)
+0:97            Constant:
+0:97              3 (const int)
+0:97          Constant:
+0:97            1 (const uint)
+0:99      move second child to first child ( temp int)
+0:99        direct index ( temp int)
+0:99          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'invocation' ( temp uint)
+0:99            Constant:
+0:99              1 (const int)
+0:99          Constant:
+0:99            0 (const int)
+0:99        subgroupClusteredAnd ( global int)
+0:99          direct index ( temp int)
+0:99            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                Constant:
+0:99                  0 (const int)
+0:99              Constant:
+0:99                1 (const int)
+0:99            Constant:
+0:99              0 (const int)
+0:99          Constant:
+0:99            1 (const uint)
+0:100      move second child to first child ( temp 2-component vector of int)
+0:100        vector swizzle ( temp 2-component vector of int)
+0:100          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'invocation' ( temp uint)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Sequence
+0:100            Constant:
+0:100              0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100        subgroupClusteredAnd ( global 2-component vector of int)
+0:100          vector swizzle ( temp 2-component vector of int)
+0:100            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                Constant:
+0:100                  1 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Sequence
+0:100              Constant:
+0:100                0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100          Constant:
+0:100            1 (const uint)
+0:101      move second child to first child ( temp 3-component vector of int)
+0:101        vector swizzle ( temp 3-component vector of int)
+0:101          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'invocation' ( temp uint)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101            Constant:
+0:101              2 (const int)
+0:101        subgroupClusteredAnd ( global 3-component vector of int)
+0:101          vector swizzle ( temp 3-component vector of int)
+0:101            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                Constant:
+0:101                  2 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101              Constant:
+0:101                2 (const int)
+0:101          Constant:
+0:101            1 (const uint)
+0:102      move second child to first child ( temp 4-component vector of int)
+0:102        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'invocation' ( temp uint)
+0:102          Constant:
+0:102            1 (const int)
+0:102        subgroupClusteredAnd ( global 4-component vector of int)
+0:102          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              Constant:
+0:102                3 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102          Constant:
+0:102            1 (const uint)
+0:104      move second child to first child ( temp uint)
+0:104        direct index ( temp uint)
+0:104          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'invocation' ( temp uint)
+0:104            Constant:
+0:104              2 (const int)
+0:104          Constant:
+0:104            0 (const int)
+0:104        subgroupClusteredAnd ( global uint)
+0:104          direct index ( temp uint)
+0:104            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                Constant:
+0:104                  0 (const int)
+0:104              Constant:
+0:104                2 (const int)
+0:104            Constant:
+0:104              0 (const int)
+0:104          Constant:
+0:104            1 (const uint)
+0:105      move second child to first child ( temp 2-component vector of uint)
+0:105        vector swizzle ( temp 2-component vector of uint)
+0:105          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'invocation' ( temp uint)
+0:105            Constant:
+0:105              2 (const int)
+0:105          Sequence
+0:105            Constant:
+0:105              0 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105        subgroupClusteredAnd ( global 2-component vector of uint)
+0:105          vector swizzle ( temp 2-component vector of uint)
+0:105            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                Constant:
+0:105                  1 (const int)
+0:105              Constant:
+0:105                2 (const int)
+0:105            Sequence
+0:105              Constant:
+0:105                0 (const int)
+0:105              Constant:
+0:105                1 (const int)
+0:105          Constant:
+0:105            1 (const uint)
+0:106      move second child to first child ( temp 3-component vector of uint)
+0:106        vector swizzle ( temp 3-component vector of uint)
+0:106          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'invocation' ( temp uint)
+0:106            Constant:
+0:106              2 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106            Constant:
+0:106              2 (const int)
+0:106        subgroupClusteredAnd ( global 3-component vector of uint)
+0:106          vector swizzle ( temp 3-component vector of uint)
+0:106            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                Constant:
+0:106                  2 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106          Constant:
+0:106            1 (const uint)
+0:107      move second child to first child ( temp 4-component vector of uint)
+0:107        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'invocation' ( temp uint)
+0:107          Constant:
+0:107            2 (const int)
+0:107        subgroupClusteredAnd ( global 4-component vector of uint)
+0:107          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              Constant:
+0:107                3 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107          Constant:
+0:107            1 (const uint)
+0:109      move second child to first child ( temp int)
+0:109        direct index ( temp int)
+0:109          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:109            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'invocation' ( temp uint)
+0:109            Constant:
+0:109              1 (const int)
+0:109          Constant:
+0:109            0 (const int)
+0:109        Convert bool to int ( temp int)
+0:109          subgroupClusteredAnd ( global bool)
+0:109            Compare Less Than ( temp bool)
+0:109              direct index ( temp int)
+0:109                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:109                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                    Constant:
+0:109                      0 (const int)
+0:109                  Constant:
+0:109                    1 (const int)
+0:109                Constant:
+0:109                  0 (const int)
+0:109              Constant:
+0:109                0 (const int)
+0:109            Constant:
+0:109              1 (const uint)
+0:110      move second child to first child ( temp 2-component vector of int)
+0:110        vector swizzle ( temp 2-component vector of int)
+0:110          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:110            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'invocation' ( temp uint)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Sequence
+0:110            Constant:
+0:110              0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110        Convert bool to int ( temp 2-component vector of int)
+0:110          subgroupClusteredAnd ( global 2-component vector of bool)
+0:110            Compare Less Than ( global 2-component vector of bool)
+0:110              vector swizzle ( temp 2-component vector of int)
+0:110                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:110                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                    Constant:
+0:110                      1 (const int)
+0:110                  Constant:
+0:110                    1 (const int)
+0:110                Sequence
+0:110                  Constant:
+0:110                    0 (const int)
+0:110                  Constant:
+0:110                    1 (const int)
+0:110              Constant:
+0:110                0 (const int)
+0:110                0 (const int)
+0:110            Constant:
+0:110              1 (const uint)
+0:111      move second child to first child ( temp 3-component vector of int)
+0:111        vector swizzle ( temp 3-component vector of int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'invocation' ( temp uint)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111            Constant:
+0:111              2 (const int)
+0:111        Convert bool to int ( temp 3-component vector of int)
+0:111          subgroupClusteredAnd ( global 3-component vector of bool)
+0:111            Compare Less Than ( global 3-component vector of bool)
+0:111              vector swizzle ( temp 3-component vector of int)
+0:111                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                    Constant:
+0:111                      1 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111                Sequence
+0:111                  Constant:
+0:111                    0 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111                  Constant:
+0:111                    2 (const int)
+0:111              Constant:
+0:111                0 (const int)
+0:111                0 (const int)
+0:111                0 (const int)
+0:111            Constant:
+0:111              1 (const uint)
+0:112      move second child to first child ( temp 4-component vector of int)
+0:112        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'invocation' ( temp uint)
+0:112          Constant:
+0:112            1 (const int)
+0:112        Convert bool to int ( temp 4-component vector of int)
+0:112          subgroupClusteredAnd ( global 4-component vector of bool)
+0:112            Compare Less Than ( global 4-component vector of bool)
+0:112              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                  Constant:
+0:112                    1 (const int)
+0:112                Constant:
+0:112                  1 (const int)
+0:112              Constant:
+0:112                0 (const int)
+0:112                0 (const int)
+0:112                0 (const int)
+0:112                0 (const int)
+0:112            Constant:
+0:112              1 (const uint)
+0:114      move second child to first child ( temp int)
+0:114        direct index ( temp int)
+0:114          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'invocation' ( temp uint)
+0:114            Constant:
+0:114              1 (const int)
+0:114          Constant:
+0:114            0 (const int)
+0:114        subgroupClusteredOr ( global int)
+0:114          direct index ( temp int)
+0:114            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                Constant:
+0:114                  0 (const int)
+0:114              Constant:
+0:114                1 (const int)
+0:114            Constant:
+0:114              0 (const int)
+0:114          Constant:
+0:114            1 (const uint)
+0:115      move second child to first child ( temp 2-component vector of int)
+0:115        vector swizzle ( temp 2-component vector of int)
+0:115          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'invocation' ( temp uint)
+0:115            Constant:
+0:115              1 (const int)
+0:115          Sequence
+0:115            Constant:
+0:115              0 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115        subgroupClusteredOr ( global 2-component vector of int)
+0:115          vector swizzle ( temp 2-component vector of int)
+0:115            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                Constant:
+0:115                  1 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115            Sequence
+0:115              Constant:
+0:115                0 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115          Constant:
+0:115            1 (const uint)
+0:116      move second child to first child ( temp 3-component vector of int)
+0:116        vector swizzle ( temp 3-component vector of int)
+0:116          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'invocation' ( temp uint)
+0:116            Constant:
+0:116              1 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116            Constant:
+0:116              2 (const int)
+0:116        subgroupClusteredOr ( global 3-component vector of int)
+0:116          vector swizzle ( temp 3-component vector of int)
+0:116            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                Constant:
+0:116                  2 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116            Sequence
+0:116              Constant:
+0:116                0 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116              Constant:
+0:116                2 (const int)
+0:116          Constant:
+0:116            1 (const uint)
+0:117      move second child to first child ( temp 4-component vector of int)
+0:117        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'invocation' ( temp uint)
+0:117          Constant:
+0:117            1 (const int)
+0:117        subgroupClusteredOr ( global 4-component vector of int)
+0:117          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              Constant:
+0:117                3 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117          Constant:
+0:117            1 (const uint)
+0:119      move second child to first child ( temp uint)
+0:119        direct index ( temp uint)
+0:119          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              'invocation' ( temp uint)
+0:119            Constant:
+0:119              2 (const int)
+0:119          Constant:
+0:119            0 (const int)
+0:119        subgroupClusteredOr ( global uint)
+0:119          direct index ( temp uint)
+0:119            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119                Constant:
+0:119                  0 (const int)
+0:119              Constant:
+0:119                2 (const int)
+0:119            Constant:
+0:119              0 (const int)
+0:119          Constant:
+0:119            1 (const uint)
+0:120      move second child to first child ( temp 2-component vector of uint)
+0:120        vector swizzle ( temp 2-component vector of uint)
+0:120          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:120            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120              'invocation' ( temp uint)
+0:120            Constant:
+0:120              2 (const int)
+0:120          Sequence
+0:120            Constant:
+0:120              0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120        subgroupClusteredOr ( global 2-component vector of uint)
+0:120          vector swizzle ( temp 2-component vector of uint)
+0:120            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:120              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120                Constant:
+0:120                  1 (const int)
+0:120              Constant:
+0:120                2 (const int)
+0:120            Sequence
+0:120              Constant:
+0:120                0 (const int)
+0:120              Constant:
+0:120                1 (const int)
+0:120          Constant:
+0:120            1 (const uint)
+0:121      move second child to first child ( temp 3-component vector of uint)
+0:121        vector swizzle ( temp 3-component vector of uint)
+0:121          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:121            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'invocation' ( temp uint)
+0:121            Constant:
+0:121              2 (const int)
+0:121          Sequence
+0:121            Constant:
+0:121              0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121            Constant:
+0:121              2 (const int)
+0:121        subgroupClusteredOr ( global 3-component vector of uint)
+0:121          vector swizzle ( temp 3-component vector of uint)
+0:121            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:121              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                Constant:
+0:121                  2 (const int)
+0:121              Constant:
+0:121                2 (const int)
+0:121            Sequence
+0:121              Constant:
+0:121                0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:121              Constant:
+0:121                2 (const int)
+0:121          Constant:
+0:121            1 (const uint)
+0:122      move second child to first child ( temp 4-component vector of uint)
+0:122        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:122          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122            'invocation' ( temp uint)
+0:122          Constant:
+0:122            2 (const int)
+0:122        subgroupClusteredOr ( global 4-component vector of uint)
+0:122          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:122            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              Constant:
+0:122                3 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:122          Constant:
+0:122            1 (const uint)
+0:124      move second child to first child ( temp int)
+0:124        direct index ( temp int)
+0:124          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:124            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              'invocation' ( temp uint)
+0:124            Constant:
+0:124              1 (const int)
+0:124          Constant:
+0:124            0 (const int)
+0:124        Convert bool to int ( temp int)
+0:124          subgroupClusteredOr ( global bool)
+0:124            Compare Less Than ( temp bool)
+0:124              direct index ( temp int)
+0:124                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:124                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124                    Constant:
+0:124                      0 (const int)
+0:124                  Constant:
+0:124                    1 (const int)
+0:124                Constant:
+0:124                  0 (const int)
+0:124              Constant:
+0:124                0 (const int)
+0:124            Constant:
+0:124              1 (const uint)
+0:125      move second child to first child ( temp 2-component vector of int)
+0:125        vector swizzle ( temp 2-component vector of int)
+0:125          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:125            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125              'invocation' ( temp uint)
+0:125            Constant:
+0:125              1 (const int)
+0:125          Sequence
+0:125            Constant:
+0:125              0 (const int)
+0:125            Constant:
+0:125              1 (const int)
+0:125        Convert bool to int ( temp 2-component vector of int)
+0:125          subgroupClusteredOr ( global 2-component vector of bool)
+0:125            Compare Less Than ( global 2-component vector of bool)
+0:125              vector swizzle ( temp 2-component vector of int)
+0:125                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:125                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125                    Constant:
+0:125                      1 (const int)
+0:125                  Constant:
+0:125                    1 (const int)
+0:125                Sequence
+0:125                  Constant:
+0:125                    0 (const int)
+0:125                  Constant:
+0:125                    1 (const int)
+0:125              Constant:
+0:125                0 (const int)
+0:125                0 (const int)
+0:125            Constant:
+0:125              1 (const uint)
+0:126      move second child to first child ( temp 3-component vector of int)
+0:126        vector swizzle ( temp 3-component vector of int)
+0:126          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'invocation' ( temp uint)
+0:126            Constant:
+0:126              1 (const int)
+0:126          Sequence
+0:126            Constant:
+0:126              0 (const int)
+0:126            Constant:
+0:126              1 (const int)
+0:126            Constant:
+0:126              2 (const int)
+0:126        Convert bool to int ( temp 3-component vector of int)
+0:126          subgroupClusteredOr ( global 3-component vector of bool)
+0:126            Compare Less Than ( global 3-component vector of bool)
+0:126              vector swizzle ( temp 3-component vector of int)
+0:126                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                    Constant:
+0:126                      1 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126                Sequence
+0:126                  Constant:
+0:126                    0 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126                  Constant:
+0:126                    2 (const int)
+0:126              Constant:
+0:126                0 (const int)
+0:126                0 (const int)
+0:126                0 (const int)
+0:126            Constant:
+0:126              1 (const uint)
+0:127      move second child to first child ( temp 4-component vector of int)
+0:127        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127            'invocation' ( temp uint)
+0:127          Constant:
+0:127            1 (const int)
+0:127        Convert bool to int ( temp 4-component vector of int)
+0:127          subgroupClusteredOr ( global 4-component vector of bool)
+0:127            Compare Less Than ( global 4-component vector of bool)
+0:127              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                  Constant:
+0:127                    1 (const int)
+0:127                Constant:
+0:127                  1 (const int)
+0:127              Constant:
+0:127                0 (const int)
+0:127                0 (const int)
+0:127                0 (const int)
+0:127                0 (const int)
+0:127            Constant:
+0:127              1 (const uint)
+0:129      move second child to first child ( temp int)
+0:129        direct index ( temp int)
+0:129          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              'invocation' ( temp uint)
+0:129            Constant:
+0:129              1 (const int)
+0:129          Constant:
+0:129            0 (const int)
+0:129        subgroupClusteredXor ( global int)
+0:129          direct index ( temp int)
+0:129            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129                Constant:
+0:129                  0 (const int)
+0:129              Constant:
+0:129                1 (const int)
+0:129            Constant:
+0:129              0 (const int)
+0:129          Constant:
+0:129            1 (const uint)
+0:130      move second child to first child ( temp 2-component vector of int)
+0:130        vector swizzle ( temp 2-component vector of int)
+0:130          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:130            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130              'invocation' ( temp uint)
+0:130            Constant:
+0:130              1 (const int)
+0:130          Sequence
+0:130            Constant:
+0:130              0 (const int)
+0:130            Constant:
+0:130              1 (const int)
+0:130        subgroupClusteredXor ( global 2-component vector of int)
+0:130          vector swizzle ( temp 2-component vector of int)
+0:130            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:130              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130                Constant:
+0:130                  1 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130            Sequence
+0:130              Constant:
+0:130                0 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130          Constant:
+0:130            1 (const uint)
+0:131      move second child to first child ( temp 3-component vector of int)
+0:131        vector swizzle ( temp 3-component vector of int)
+0:131          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:131            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'invocation' ( temp uint)
+0:131            Constant:
+0:131              1 (const int)
+0:131          Sequence
+0:131            Constant:
+0:131              0 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:131            Constant:
+0:131              2 (const int)
+0:131        subgroupClusteredXor ( global 3-component vector of int)
+0:131          vector swizzle ( temp 3-component vector of int)
+0:131            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:131              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                Constant:
+0:131                  2 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131            Sequence
+0:131              Constant:
+0:131                0 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131              Constant:
+0:131                2 (const int)
+0:131          Constant:
+0:131            1 (const uint)
+0:132      move second child to first child ( temp 4-component vector of int)
+0:132        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:132          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132            'invocation' ( temp uint)
+0:132          Constant:
+0:132            1 (const int)
+0:132        subgroupClusteredXor ( global 4-component vector of int)
+0:132          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:132            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              Constant:
+0:132                3 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:132          Constant:
+0:132            1 (const uint)
+0:134      move second child to first child ( temp uint)
+0:134        direct index ( temp uint)
+0:134          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              'invocation' ( temp uint)
+0:134            Constant:
+0:134              2 (const int)
+0:134          Constant:
+0:134            0 (const int)
+0:134        subgroupClusteredXor ( global uint)
+0:134          direct index ( temp uint)
+0:134            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134                Constant:
+0:134                  0 (const int)
+0:134              Constant:
+0:134                2 (const int)
+0:134            Constant:
+0:134              0 (const int)
+0:134          Constant:
+0:134            1 (const uint)
+0:135      move second child to first child ( temp 2-component vector of uint)
+0:135        vector swizzle ( temp 2-component vector of uint)
+0:135          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:135            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135              'invocation' ( temp uint)
+0:135            Constant:
+0:135              2 (const int)
+0:135          Sequence
+0:135            Constant:
+0:135              0 (const int)
+0:135            Constant:
+0:135              1 (const int)
+0:135        subgroupClusteredXor ( global 2-component vector of uint)
+0:135          vector swizzle ( temp 2-component vector of uint)
+0:135            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:135              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135                Constant:
+0:135                  1 (const int)
+0:135              Constant:
+0:135                2 (const int)
+0:135            Sequence
+0:135              Constant:
+0:135                0 (const int)
+0:135              Constant:
+0:135                1 (const int)
+0:135          Constant:
+0:135            1 (const uint)
+0:136      move second child to first child ( temp 3-component vector of uint)
+0:136        vector swizzle ( temp 3-component vector of uint)
+0:136          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:136            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'invocation' ( temp uint)
+0:136            Constant:
+0:136              2 (const int)
+0:136          Sequence
+0:136            Constant:
+0:136              0 (const int)
+0:136            Constant:
+0:136              1 (const int)
+0:136            Constant:
+0:136              2 (const int)
+0:136        subgroupClusteredXor ( global 3-component vector of uint)
+0:136          vector swizzle ( temp 3-component vector of uint)
+0:136            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:136              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                Constant:
+0:136                  2 (const int)
+0:136              Constant:
+0:136                2 (const int)
+0:136            Sequence
+0:136              Constant:
+0:136                0 (const int)
+0:136              Constant:
+0:136                1 (const int)
+0:136              Constant:
+0:136                2 (const int)
+0:136          Constant:
+0:136            1 (const uint)
+0:137      move second child to first child ( temp 4-component vector of uint)
+0:137        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:137          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137            'invocation' ( temp uint)
+0:137          Constant:
+0:137            2 (const int)
+0:137        subgroupClusteredXor ( global 4-component vector of uint)
+0:137          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:137            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              Constant:
+0:137                3 (const int)
+0:137            Constant:
+0:137              2 (const int)
+0:137          Constant:
+0:137            1 (const uint)
+0:139      move second child to first child ( temp int)
+0:139        direct index ( temp int)
+0:139          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139              'invocation' ( temp uint)
+0:139            Constant:
+0:139              1 (const int)
+0:139          Constant:
+0:139            0 (const int)
+0:139        Convert bool to int ( temp int)
+0:139          subgroupClusteredXor ( global bool)
+0:139            Compare Less Than ( temp bool)
+0:139              direct index ( temp int)
+0:139                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                    Constant:
+0:139                      0 (const int)
+0:139                  Constant:
+0:139                    1 (const int)
+0:139                Constant:
+0:139                  0 (const int)
+0:139              Constant:
+0:139                0 (const int)
+0:139            Constant:
+0:139              1 (const uint)
+0:140      move second child to first child ( temp 2-component vector of int)
+0:140        vector swizzle ( temp 2-component vector of int)
+0:140          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:140            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140              'invocation' ( temp uint)
+0:140            Constant:
+0:140              1 (const int)
+0:140          Sequence
+0:140            Constant:
+0:140              0 (const int)
+0:140            Constant:
+0:140              1 (const int)
+0:140        Convert bool to int ( temp 2-component vector of int)
+0:140          subgroupClusteredXor ( global 2-component vector of bool)
+0:140            Compare Less Than ( global 2-component vector of bool)
+0:140              vector swizzle ( temp 2-component vector of int)
+0:140                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:140                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140                    Constant:
+0:140                      1 (const int)
+0:140                  Constant:
+0:140                    1 (const int)
+0:140                Sequence
+0:140                  Constant:
+0:140                    0 (const int)
+0:140                  Constant:
+0:140                    1 (const int)
+0:140              Constant:
+0:140                0 (const int)
+0:140                0 (const int)
+0:140            Constant:
+0:140              1 (const uint)
+0:141      move second child to first child ( temp 3-component vector of int)
+0:141        vector swizzle ( temp 3-component vector of int)
+0:141          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'invocation' ( temp uint)
+0:141            Constant:
+0:141              1 (const int)
+0:141          Sequence
+0:141            Constant:
+0:141              0 (const int)
+0:141            Constant:
+0:141              1 (const int)
+0:141            Constant:
+0:141              2 (const int)
+0:141        Convert bool to int ( temp 3-component vector of int)
+0:141          subgroupClusteredXor ( global 3-component vector of bool)
+0:141            Compare Less Than ( global 3-component vector of bool)
+0:141              vector swizzle ( temp 3-component vector of int)
+0:141                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                    Constant:
+0:141                      1 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141                Sequence
+0:141                  Constant:
+0:141                    0 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141                  Constant:
+0:141                    2 (const int)
+0:141              Constant:
+0:141                0 (const int)
+0:141                0 (const int)
+0:141                0 (const int)
+0:141            Constant:
+0:141              1 (const uint)
+0:142      move second child to first child ( temp 4-component vector of int)
+0:142        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142            'invocation' ( temp uint)
+0:142          Constant:
+0:142            1 (const int)
+0:142        Convert bool to int ( temp 4-component vector of int)
+0:142          subgroupClusteredXor ( global 4-component vector of bool)
+0:142            Compare Less Than ( global 4-component vector of bool)
+0:142              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                  Constant:
+0:142                    1 (const int)
+0:142                Constant:
+0:142                  1 (const int)
+0:142              Constant:
+0:142                0 (const int)
+0:142                0 (const int)
+0:142                0 (const int)
+0:142                0 (const int)
+0:142            Constant:
+0:142              1 (const uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_clustered
+local_size = (8, 1, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      move second child to first child ( temp float)
+0:19        direct index ( temp float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'invocation' ( temp uint)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            0 (const int)
+0:19        subgroupClusteredAdd ( global float)
+0:19          direct index ( temp float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            1 (const uint)
+0:20      move second child to first child ( temp 2-component vector of float)
+0:20        vector swizzle ( temp 2-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'invocation' ( temp uint)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20        subgroupClusteredAdd ( global 2-component vector of float)
+0:20          vector swizzle ( temp 2-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                Constant:
+0:20                  1 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20          Constant:
+0:20            1 (const uint)
+0:21      move second child to first child ( temp 3-component vector of float)
+0:21        vector swizzle ( temp 3-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'invocation' ( temp uint)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21            Constant:
+0:21              2 (const int)
+0:21        subgroupClusteredAdd ( global 3-component vector of float)
+0:21          vector swizzle ( temp 3-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  2 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21              Constant:
+0:21                2 (const int)
+0:21          Constant:
+0:21            1 (const uint)
+0:22      move second child to first child ( temp 4-component vector of float)
+0:22        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            0 (const int)
+0:22        subgroupClusteredAdd ( global 4-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              Constant:
+0:22                3 (const int)
+0:22            Constant:
+0:22              0 (const int)
+0:22          Constant:
+0:22            1 (const uint)
+0:24      move second child to first child ( temp int)
+0:24        direct index ( temp int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupClusteredAdd ( global int)
+0:24          direct index ( temp int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:24          Constant:
+0:24            1 (const uint)
+0:25      move second child to first child ( temp 2-component vector of int)
+0:25        vector swizzle ( temp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'invocation' ( temp uint)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupClusteredAdd ( global 2-component vector of int)
+0:25          vector swizzle ( temp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25          Constant:
+0:25            1 (const uint)
+0:26      move second child to first child ( temp 3-component vector of int)
+0:26        vector swizzle ( temp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupClusteredAdd ( global 3-component vector of int)
+0:26          vector swizzle ( temp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26          Constant:
+0:26            1 (const uint)
+0:27      move second child to first child ( temp 4-component vector of int)
+0:27        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            1 (const int)
+0:27        subgroupClusteredAdd ( global 4-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              Constant:
+0:27                3 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27          Constant:
+0:27            1 (const uint)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupClusteredAdd ( global uint)
+0:29          direct index ( temp uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29          Constant:
+0:29            1 (const uint)
+0:30      move second child to first child ( temp 2-component vector of uint)
+0:30        vector swizzle ( temp 2-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30        subgroupClusteredAdd ( global 2-component vector of uint)
+0:30          vector swizzle ( temp 2-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                Constant:
+0:30                  1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30          Constant:
+0:30            1 (const uint)
+0:31      move second child to first child ( temp 3-component vector of uint)
+0:31        vector swizzle ( temp 3-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'invocation' ( temp uint)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31        subgroupClusteredAdd ( global 3-component vector of uint)
+0:31          vector swizzle ( temp 3-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  2 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31          Constant:
+0:31            1 (const uint)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupClusteredAdd ( global 4-component vector of uint)
+0:32          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              Constant:
+0:32                3 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32          Constant:
+0:32            1 (const uint)
+0:34      move second child to first child ( temp double)
+0:34        direct index ( temp double)
+0:34          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              3 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupClusteredAdd ( global double)
+0:34          direct index ( temp double)
+0:34            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          Constant:
+0:34            1 (const uint)
+0:35      move second child to first child ( temp 2-component vector of double)
+0:35        vector swizzle ( temp 2-component vector of double)
+0:35          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'invocation' ( temp uint)
+0:35            Constant:
+0:35              3 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35        subgroupClusteredAdd ( global 2-component vector of double)
+0:35          vector swizzle ( temp 2-component vector of double)
+0:35            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                3 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35          Constant:
+0:35            1 (const uint)
+0:36      move second child to first child ( temp 3-component vector of double)
+0:36        vector swizzle ( temp 3-component vector of double)
+0:36          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              3 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36            Constant:
+0:36              2 (const int)
+0:36        subgroupClusteredAdd ( global 3-component vector of double)
+0:36          vector swizzle ( temp 3-component vector of double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  2 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              Constant:
+0:36                2 (const int)
+0:36          Constant:
+0:36            1 (const uint)
+0:37      move second child to first child ( temp 4-component vector of double)
+0:37        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            3 (const int)
+0:37        subgroupClusteredAdd ( global 4-component vector of double)
+0:37          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              Constant:
+0:37                3 (const int)
+0:37            Constant:
+0:37              3 (const int)
+0:37          Constant:
+0:37            1 (const uint)
+0:39      move second child to first child ( temp float)
+0:39        direct index ( temp float)
+0:39          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'invocation' ( temp uint)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Constant:
+0:39            0 (const int)
+0:39        subgroupClusteredMul ( global float)
+0:39          direct index ( temp float)
+0:39            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Constant:
+0:39            1 (const uint)
+0:40      move second child to first child ( temp 2-component vector of float)
+0:40        vector swizzle ( temp 2-component vector of float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'invocation' ( temp uint)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40        subgroupClusteredMul ( global 2-component vector of float)
+0:40          vector swizzle ( temp 2-component vector of float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                Constant:
+0:40                  1 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40          Constant:
+0:40            1 (const uint)
+0:41      move second child to first child ( temp 3-component vector of float)
+0:41        vector swizzle ( temp 3-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'invocation' ( temp uint)
+0:41            Constant:
+0:41              0 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41            Constant:
+0:41              2 (const int)
+0:41        subgroupClusteredMul ( global 3-component vector of float)
+0:41          vector swizzle ( temp 3-component vector of float)
+0:41            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                Constant:
+0:41                  2 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41              Constant:
+0:41                2 (const int)
+0:41          Constant:
+0:41            1 (const uint)
+0:42      move second child to first child ( temp 4-component vector of float)
+0:42        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            0 (const int)
+0:42        subgroupClusteredMul ( global 4-component vector of float)
+0:42          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:42            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42              Constant:
+0:42                3 (const int)
+0:42            Constant:
+0:42              0 (const int)
+0:42          Constant:
+0:42            1 (const uint)
+0:44      move second child to first child ( temp int)
+0:44        direct index ( temp int)
+0:44          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'invocation' ( temp uint)
+0:44            Constant:
+0:44              1 (const int)
+0:44          Constant:
+0:44            0 (const int)
+0:44        subgroupClusteredMul ( global int)
+0:44          direct index ( temp int)
+0:44            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44            Constant:
+0:44              0 (const int)
+0:44          Constant:
+0:44            1 (const uint)
+0:45      move second child to first child ( temp 2-component vector of int)
+0:45        vector swizzle ( temp 2-component vector of int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'invocation' ( temp uint)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45        subgroupClusteredMul ( global 2-component vector of int)
+0:45          vector swizzle ( temp 2-component vector of int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                Constant:
+0:45                  1 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45          Constant:
+0:45            1 (const uint)
+0:46      move second child to first child ( temp 3-component vector of int)
+0:46        vector swizzle ( temp 3-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              1 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46        subgroupClusteredMul ( global 3-component vector of int)
+0:46          vector swizzle ( temp 3-component vector of int)
+0:46            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46          Constant:
+0:46            1 (const uint)
+0:47      move second child to first child ( temp 4-component vector of int)
+0:47        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'invocation' ( temp uint)
+0:47          Constant:
+0:47            1 (const int)
+0:47        subgroupClusteredMul ( global 4-component vector of int)
+0:47          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              Constant:
+0:47                3 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47          Constant:
+0:47            1 (const uint)
+0:49      move second child to first child ( temp uint)
+0:49        direct index ( temp uint)
+0:49          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'invocation' ( temp uint)
+0:49            Constant:
+0:49              2 (const int)
+0:49          Constant:
+0:49            0 (const int)
+0:49        subgroupClusteredMul ( global uint)
+0:49          direct index ( temp uint)
+0:49            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                2 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          Constant:
+0:49            1 (const uint)
+0:50      move second child to first child ( temp 2-component vector of uint)
+0:50        vector swizzle ( temp 2-component vector of uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'invocation' ( temp uint)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50        subgroupClusteredMul ( global 2-component vector of uint)
+0:50          vector swizzle ( temp 2-component vector of uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50          Constant:
+0:50            1 (const uint)
+0:51      move second child to first child ( temp 3-component vector of uint)
+0:51        vector swizzle ( temp 3-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              2 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51        subgroupClusteredMul ( global 3-component vector of uint)
+0:51          vector swizzle ( temp 3-component vector of uint)
+0:51            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  2 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51          Constant:
+0:51            1 (const uint)
+0:52      move second child to first child ( temp 4-component vector of uint)
+0:52        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'invocation' ( temp uint)
+0:52          Constant:
+0:52            2 (const int)
+0:52        subgroupClusteredMul ( global 4-component vector of uint)
+0:52          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              Constant:
+0:52                3 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52          Constant:
+0:52            1 (const uint)
+0:54      move second child to first child ( temp double)
+0:54        direct index ( temp double)
+0:54          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'invocation' ( temp uint)
+0:54            Constant:
+0:54              3 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupClusteredMul ( global double)
+0:54          direct index ( temp double)
+0:54            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                Constant:
+0:54                  0 (const int)
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:54          Constant:
+0:54            1 (const uint)
+0:55      move second child to first child ( temp 2-component vector of double)
+0:55        vector swizzle ( temp 2-component vector of double)
+0:55          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'invocation' ( temp uint)
+0:55            Constant:
+0:55              3 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55        subgroupClusteredMul ( global 2-component vector of double)
+0:55          vector swizzle ( temp 2-component vector of double)
+0:55            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Constant:
+0:55                3 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55          Constant:
+0:55            1 (const uint)
+0:56      move second child to first child ( temp 3-component vector of double)
+0:56        vector swizzle ( temp 3-component vector of double)
+0:56          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              3 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56            Constant:
+0:56              2 (const int)
+0:56        subgroupClusteredMul ( global 3-component vector of double)
+0:56          vector swizzle ( temp 3-component vector of double)
+0:56            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  2 (const int)
+0:56              Constant:
+0:56                3 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56          Constant:
+0:56            1 (const uint)
+0:57      move second child to first child ( temp 4-component vector of double)
+0:57        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'invocation' ( temp uint)
+0:57          Constant:
+0:57            3 (const int)
+0:57        subgroupClusteredMul ( global 4-component vector of double)
+0:57          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              Constant:
+0:57                3 (const int)
+0:57            Constant:
+0:57              3 (const int)
+0:57          Constant:
+0:57            1 (const uint)
+0:59      move second child to first child ( temp float)
+0:59        direct index ( temp float)
+0:59          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'invocation' ( temp uint)
+0:59            Constant:
+0:59              0 (const int)
+0:59          Constant:
+0:59            0 (const int)
+0:59        subgroupClusteredMin ( global float)
+0:59          direct index ( temp float)
+0:59            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                Constant:
+0:59                  0 (const int)
+0:59              Constant:
+0:59                0 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:59          Constant:
+0:59            1 (const uint)
+0:60      move second child to first child ( temp 2-component vector of float)
+0:60        vector swizzle ( temp 2-component vector of float)
+0:60          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'invocation' ( temp uint)
+0:60            Constant:
+0:60              0 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60        subgroupClusteredMin ( global 2-component vector of float)
+0:60          vector swizzle ( temp 2-component vector of float)
+0:60            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                0 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60          Constant:
+0:60            1 (const uint)
+0:61      move second child to first child ( temp 3-component vector of float)
+0:61        vector swizzle ( temp 3-component vector of float)
+0:61          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              0 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61        subgroupClusteredMin ( global 3-component vector of float)
+0:61          vector swizzle ( temp 3-component vector of float)
+0:61            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  2 (const int)
+0:61              Constant:
+0:61                0 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61              Constant:
+0:61                2 (const int)
+0:61          Constant:
+0:61            1 (const uint)
+0:62      move second child to first child ( temp 4-component vector of float)
+0:62        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'invocation' ( temp uint)
+0:62          Constant:
+0:62            0 (const int)
+0:62        subgroupClusteredMin ( global 4-component vector of float)
+0:62          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              Constant:
+0:62                3 (const int)
+0:62            Constant:
+0:62              0 (const int)
+0:62          Constant:
+0:62            1 (const uint)
+0:64      move second child to first child ( temp int)
+0:64        direct index ( temp int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'invocation' ( temp uint)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Constant:
+0:64            0 (const int)
+0:64        subgroupClusteredMin ( global int)
+0:64          direct index ( temp int)
+0:64            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                Constant:
+0:64                  0 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:64            Constant:
+0:64              0 (const int)
+0:64          Constant:
+0:64            1 (const uint)
+0:65      move second child to first child ( temp 2-component vector of int)
+0:65        vector swizzle ( temp 2-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'invocation' ( temp uint)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65        subgroupClusteredMin ( global 2-component vector of int)
+0:65          vector swizzle ( temp 2-component vector of int)
+0:65            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                Constant:
+0:65                  1 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65            Sequence
+0:65              Constant:
+0:65                0 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65          Constant:
+0:65            1 (const uint)
+0:66      move second child to first child ( temp 3-component vector of int)
+0:66        vector swizzle ( temp 3-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              1 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66        subgroupClusteredMin ( global 3-component vector of int)
+0:66          vector swizzle ( temp 3-component vector of int)
+0:66            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                Constant:
+0:66                  2 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66            Sequence
+0:66              Constant:
+0:66                0 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66              Constant:
+0:66                2 (const int)
+0:66          Constant:
+0:66            1 (const uint)
+0:67      move second child to first child ( temp 4-component vector of int)
+0:67        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'invocation' ( temp uint)
+0:67          Constant:
+0:67            1 (const int)
+0:67        subgroupClusteredMin ( global 4-component vector of int)
+0:67          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              Constant:
+0:67                3 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:67          Constant:
+0:67            1 (const uint)
+0:69      move second child to first child ( temp uint)
+0:69        direct index ( temp uint)
+0:69          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:69            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'invocation' ( temp uint)
+0:69            Constant:
+0:69              2 (const int)
+0:69          Constant:
+0:69            0 (const int)
+0:69        subgroupClusteredMin ( global uint)
+0:69          direct index ( temp uint)
+0:69            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                Constant:
+0:69                  0 (const int)
+0:69              Constant:
+0:69                2 (const int)
+0:69            Constant:
+0:69              0 (const int)
+0:69          Constant:
+0:69            1 (const uint)
+0:70      move second child to first child ( temp 2-component vector of uint)
+0:70        vector swizzle ( temp 2-component vector of uint)
+0:70          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:70            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'invocation' ( temp uint)
+0:70            Constant:
+0:70              2 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70        subgroupClusteredMin ( global 2-component vector of uint)
+0:70          vector swizzle ( temp 2-component vector of uint)
+0:70            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                Constant:
+0:70                  1 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70          Constant:
+0:70            1 (const uint)
+0:71      move second child to first child ( temp 3-component vector of uint)
+0:71        vector swizzle ( temp 3-component vector of uint)
+0:71          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'invocation' ( temp uint)
+0:71            Constant:
+0:71              2 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71            Constant:
+0:71              2 (const int)
+0:71        subgroupClusteredMin ( global 3-component vector of uint)
+0:71          vector swizzle ( temp 3-component vector of uint)
+0:71            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                Constant:
+0:71                  2 (const int)
+0:71              Constant:
+0:71                2 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71              Constant:
+0:71                2 (const int)
+0:71          Constant:
+0:71            1 (const uint)
+0:72      move second child to first child ( temp 4-component vector of uint)
+0:72        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'invocation' ( temp uint)
+0:72          Constant:
+0:72            2 (const int)
+0:72        subgroupClusteredMin ( global 4-component vector of uint)
+0:72          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:72            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              Constant:
+0:72                3 (const int)
+0:72            Constant:
+0:72              2 (const int)
+0:72          Constant:
+0:72            1 (const uint)
+0:74      move second child to first child ( temp double)
+0:74        direct index ( temp double)
+0:74          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:74            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'invocation' ( temp uint)
+0:74            Constant:
+0:74              3 (const int)
+0:74          Constant:
+0:74            0 (const int)
+0:74        subgroupClusteredMin ( global double)
+0:74          direct index ( temp double)
+0:74            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:74              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                Constant:
+0:74                  0 (const int)
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              0 (const int)
+0:74          Constant:
+0:74            1 (const uint)
+0:75      move second child to first child ( temp 2-component vector of double)
+0:75        vector swizzle ( temp 2-component vector of double)
+0:75          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:75            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'invocation' ( temp uint)
+0:75            Constant:
+0:75              3 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75        subgroupClusteredMin ( global 2-component vector of double)
+0:75          vector swizzle ( temp 2-component vector of double)
+0:75            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                Constant:
+0:75                  1 (const int)
+0:75              Constant:
+0:75                3 (const int)
+0:75            Sequence
+0:75              Constant:
+0:75                0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:75          Constant:
+0:75            1 (const uint)
+0:76      move second child to first child ( temp 3-component vector of double)
+0:76        vector swizzle ( temp 3-component vector of double)
+0:76          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'invocation' ( temp uint)
+0:76            Constant:
+0:76              3 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76            Constant:
+0:76              2 (const int)
+0:76        subgroupClusteredMin ( global 3-component vector of double)
+0:76          vector swizzle ( temp 3-component vector of double)
+0:76            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                Constant:
+0:76                  2 (const int)
+0:76              Constant:
+0:76                3 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76              Constant:
+0:76                2 (const int)
+0:76          Constant:
+0:76            1 (const uint)
+0:77      move second child to first child ( temp 4-component vector of double)
+0:77        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'invocation' ( temp uint)
+0:77          Constant:
+0:77            3 (const int)
+0:77        subgroupClusteredMin ( global 4-component vector of double)
+0:77          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:77            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              Constant:
+0:77                3 (const int)
+0:77            Constant:
+0:77              3 (const int)
+0:77          Constant:
+0:77            1 (const uint)
+0:79      move second child to first child ( temp float)
+0:79        direct index ( temp float)
+0:79          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:79            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'invocation' ( temp uint)
+0:79            Constant:
+0:79              0 (const int)
+0:79          Constant:
+0:79            0 (const int)
+0:79        subgroupClusteredMax ( global float)
+0:79          direct index ( temp float)
+0:79            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                Constant:
+0:79                  0 (const int)
+0:79              Constant:
+0:79                0 (const int)
+0:79            Constant:
+0:79              0 (const int)
+0:79          Constant:
+0:79            1 (const uint)
+0:80      move second child to first child ( temp 2-component vector of float)
+0:80        vector swizzle ( temp 2-component vector of float)
+0:80          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:80            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'invocation' ( temp uint)
+0:80            Constant:
+0:80              0 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80        subgroupClusteredMax ( global 2-component vector of float)
+0:80          vector swizzle ( temp 2-component vector of float)
+0:80            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                Constant:
+0:80                  1 (const int)
+0:80              Constant:
+0:80                0 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80          Constant:
+0:80            1 (const uint)
+0:81      move second child to first child ( temp 3-component vector of float)
+0:81        vector swizzle ( temp 3-component vector of float)
+0:81          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:81            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'invocation' ( temp uint)
+0:81            Constant:
+0:81              0 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81            Constant:
+0:81              2 (const int)
+0:81        subgroupClusteredMax ( global 3-component vector of float)
+0:81          vector swizzle ( temp 3-component vector of float)
+0:81            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                Constant:
+0:81                  2 (const int)
+0:81              Constant:
+0:81                0 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81              Constant:
+0:81                2 (const int)
+0:81          Constant:
+0:81            1 (const uint)
+0:82      move second child to first child ( temp 4-component vector of float)
+0:82        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:82          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'invocation' ( temp uint)
+0:82          Constant:
+0:82            0 (const int)
+0:82        subgroupClusteredMax ( global 4-component vector of float)
+0:82          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:82            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              Constant:
+0:82                3 (const int)
+0:82            Constant:
+0:82              0 (const int)
+0:82          Constant:
+0:82            1 (const uint)
+0:84      move second child to first child ( temp int)
+0:84        direct index ( temp int)
+0:84          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'invocation' ( temp uint)
+0:84            Constant:
+0:84              1 (const int)
+0:84          Constant:
+0:84            0 (const int)
+0:84        subgroupClusteredMax ( global int)
+0:84          direct index ( temp int)
+0:84            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                Constant:
+0:84                  0 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:84            Constant:
+0:84              0 (const int)
+0:84          Constant:
+0:84            1 (const uint)
+0:85      move second child to first child ( temp 2-component vector of int)
+0:85        vector swizzle ( temp 2-component vector of int)
+0:85          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:85            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'invocation' ( temp uint)
+0:85            Constant:
+0:85              1 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85        subgroupClusteredMax ( global 2-component vector of int)
+0:85          vector swizzle ( temp 2-component vector of int)
+0:85            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                Constant:
+0:85                  1 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85          Constant:
+0:85            1 (const uint)
+0:86      move second child to first child ( temp 3-component vector of int)
+0:86        vector swizzle ( temp 3-component vector of int)
+0:86          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:86            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'invocation' ( temp uint)
+0:86            Constant:
+0:86              1 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86        subgroupClusteredMax ( global 3-component vector of int)
+0:86          vector swizzle ( temp 3-component vector of int)
+0:86            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                Constant:
+0:86                  2 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86              Constant:
+0:86                2 (const int)
+0:86          Constant:
+0:86            1 (const uint)
+0:87      move second child to first child ( temp 4-component vector of int)
+0:87        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:87          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'invocation' ( temp uint)
+0:87          Constant:
+0:87            1 (const int)
+0:87        subgroupClusteredMax ( global 4-component vector of int)
+0:87          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:87            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              Constant:
+0:87                3 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:87          Constant:
+0:87            1 (const uint)
+0:89      move second child to first child ( temp uint)
+0:89        direct index ( temp uint)
+0:89          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:89            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'invocation' ( temp uint)
+0:89            Constant:
+0:89              2 (const int)
+0:89          Constant:
+0:89            0 (const int)
+0:89        subgroupClusteredMax ( global uint)
+0:89          direct index ( temp uint)
+0:89            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:89              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                Constant:
+0:89                  0 (const int)
+0:89              Constant:
+0:89                2 (const int)
+0:89            Constant:
+0:89              0 (const int)
+0:89          Constant:
+0:89            1 (const uint)
+0:90      move second child to first child ( temp 2-component vector of uint)
+0:90        vector swizzle ( temp 2-component vector of uint)
+0:90          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:90            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'invocation' ( temp uint)
+0:90            Constant:
+0:90              2 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90        subgroupClusteredMax ( global 2-component vector of uint)
+0:90          vector swizzle ( temp 2-component vector of uint)
+0:90            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:90              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                Constant:
+0:90                  1 (const int)
+0:90              Constant:
+0:90                2 (const int)
+0:90            Sequence
+0:90              Constant:
+0:90                0 (const int)
+0:90              Constant:
+0:90                1 (const int)
+0:90          Constant:
+0:90            1 (const uint)
+0:91      move second child to first child ( temp 3-component vector of uint)
+0:91        vector swizzle ( temp 3-component vector of uint)
+0:91          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:91            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'invocation' ( temp uint)
+0:91            Constant:
+0:91              2 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91            Constant:
+0:91              2 (const int)
+0:91        subgroupClusteredMax ( global 3-component vector of uint)
+0:91          vector swizzle ( temp 3-component vector of uint)
+0:91            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:91              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                Constant:
+0:91                  2 (const int)
+0:91              Constant:
+0:91                2 (const int)
+0:91            Sequence
+0:91              Constant:
+0:91                0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91              Constant:
+0:91                2 (const int)
+0:91          Constant:
+0:91            1 (const uint)
+0:92      move second child to first child ( temp 4-component vector of uint)
+0:92        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:92          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'invocation' ( temp uint)
+0:92          Constant:
+0:92            2 (const int)
+0:92        subgroupClusteredMax ( global 4-component vector of uint)
+0:92          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:92            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              Constant:
+0:92                3 (const int)
+0:92            Constant:
+0:92              2 (const int)
+0:92          Constant:
+0:92            1 (const uint)
+0:94      move second child to first child ( temp double)
+0:94        direct index ( temp double)
+0:94          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:94            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'invocation' ( temp uint)
+0:94            Constant:
+0:94              3 (const int)
+0:94          Constant:
+0:94            0 (const int)
+0:94        subgroupClusteredMax ( global double)
+0:94          direct index ( temp double)
+0:94            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:94              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                Constant:
+0:94                  0 (const int)
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              0 (const int)
+0:94          Constant:
+0:94            1 (const uint)
+0:95      move second child to first child ( temp 2-component vector of double)
+0:95        vector swizzle ( temp 2-component vector of double)
+0:95          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:95            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'invocation' ( temp uint)
+0:95            Constant:
+0:95              3 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95        subgroupClusteredMax ( global 2-component vector of double)
+0:95          vector swizzle ( temp 2-component vector of double)
+0:95            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                Constant:
+0:95                  1 (const int)
+0:95              Constant:
+0:95                3 (const int)
+0:95            Sequence
+0:95              Constant:
+0:95                0 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:95          Constant:
+0:95            1 (const uint)
+0:96      move second child to first child ( temp 3-component vector of double)
+0:96        vector swizzle ( temp 3-component vector of double)
+0:96          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:96            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'invocation' ( temp uint)
+0:96            Constant:
+0:96              3 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96            Constant:
+0:96              2 (const int)
+0:96        subgroupClusteredMax ( global 3-component vector of double)
+0:96          vector swizzle ( temp 3-component vector of double)
+0:96            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                Constant:
+0:96                  2 (const int)
+0:96              Constant:
+0:96                3 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:96              Constant:
+0:96                2 (const int)
+0:96          Constant:
+0:96            1 (const uint)
+0:97      move second child to first child ( temp 4-component vector of double)
+0:97        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:97          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'invocation' ( temp uint)
+0:97          Constant:
+0:97            3 (const int)
+0:97        subgroupClusteredMax ( global 4-component vector of double)
+0:97          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:97            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              Constant:
+0:97                3 (const int)
+0:97            Constant:
+0:97              3 (const int)
+0:97          Constant:
+0:97            1 (const uint)
+0:99      move second child to first child ( temp int)
+0:99        direct index ( temp int)
+0:99          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'invocation' ( temp uint)
+0:99            Constant:
+0:99              1 (const int)
+0:99          Constant:
+0:99            0 (const int)
+0:99        subgroupClusteredAnd ( global int)
+0:99          direct index ( temp int)
+0:99            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                Constant:
+0:99                  0 (const int)
+0:99              Constant:
+0:99                1 (const int)
+0:99            Constant:
+0:99              0 (const int)
+0:99          Constant:
+0:99            1 (const uint)
+0:100      move second child to first child ( temp 2-component vector of int)
+0:100        vector swizzle ( temp 2-component vector of int)
+0:100          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'invocation' ( temp uint)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Sequence
+0:100            Constant:
+0:100              0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100        subgroupClusteredAnd ( global 2-component vector of int)
+0:100          vector swizzle ( temp 2-component vector of int)
+0:100            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                Constant:
+0:100                  1 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Sequence
+0:100              Constant:
+0:100                0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100          Constant:
+0:100            1 (const uint)
+0:101      move second child to first child ( temp 3-component vector of int)
+0:101        vector swizzle ( temp 3-component vector of int)
+0:101          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'invocation' ( temp uint)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101            Constant:
+0:101              2 (const int)
+0:101        subgroupClusteredAnd ( global 3-component vector of int)
+0:101          vector swizzle ( temp 3-component vector of int)
+0:101            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                Constant:
+0:101                  2 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101              Constant:
+0:101                2 (const int)
+0:101          Constant:
+0:101            1 (const uint)
+0:102      move second child to first child ( temp 4-component vector of int)
+0:102        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'invocation' ( temp uint)
+0:102          Constant:
+0:102            1 (const int)
+0:102        subgroupClusteredAnd ( global 4-component vector of int)
+0:102          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              Constant:
+0:102                3 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102          Constant:
+0:102            1 (const uint)
+0:104      move second child to first child ( temp uint)
+0:104        direct index ( temp uint)
+0:104          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'invocation' ( temp uint)
+0:104            Constant:
+0:104              2 (const int)
+0:104          Constant:
+0:104            0 (const int)
+0:104        subgroupClusteredAnd ( global uint)
+0:104          direct index ( temp uint)
+0:104            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                Constant:
+0:104                  0 (const int)
+0:104              Constant:
+0:104                2 (const int)
+0:104            Constant:
+0:104              0 (const int)
+0:104          Constant:
+0:104            1 (const uint)
+0:105      move second child to first child ( temp 2-component vector of uint)
+0:105        vector swizzle ( temp 2-component vector of uint)
+0:105          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'invocation' ( temp uint)
+0:105            Constant:
+0:105              2 (const int)
+0:105          Sequence
+0:105            Constant:
+0:105              0 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105        subgroupClusteredAnd ( global 2-component vector of uint)
+0:105          vector swizzle ( temp 2-component vector of uint)
+0:105            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                Constant:
+0:105                  1 (const int)
+0:105              Constant:
+0:105                2 (const int)
+0:105            Sequence
+0:105              Constant:
+0:105                0 (const int)
+0:105              Constant:
+0:105                1 (const int)
+0:105          Constant:
+0:105            1 (const uint)
+0:106      move second child to first child ( temp 3-component vector of uint)
+0:106        vector swizzle ( temp 3-component vector of uint)
+0:106          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'invocation' ( temp uint)
+0:106            Constant:
+0:106              2 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106            Constant:
+0:106              2 (const int)
+0:106        subgroupClusteredAnd ( global 3-component vector of uint)
+0:106          vector swizzle ( temp 3-component vector of uint)
+0:106            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                Constant:
+0:106                  2 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106          Constant:
+0:106            1 (const uint)
+0:107      move second child to first child ( temp 4-component vector of uint)
+0:107        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'invocation' ( temp uint)
+0:107          Constant:
+0:107            2 (const int)
+0:107        subgroupClusteredAnd ( global 4-component vector of uint)
+0:107          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              Constant:
+0:107                3 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107          Constant:
+0:107            1 (const uint)
+0:109      move second child to first child ( temp int)
+0:109        direct index ( temp int)
+0:109          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:109            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'invocation' ( temp uint)
+0:109            Constant:
+0:109              1 (const int)
+0:109          Constant:
+0:109            0 (const int)
+0:109        Convert bool to int ( temp int)
+0:109          subgroupClusteredAnd ( global bool)
+0:109            Compare Less Than ( temp bool)
+0:109              direct index ( temp int)
+0:109                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:109                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                    Constant:
+0:109                      0 (const int)
+0:109                  Constant:
+0:109                    1 (const int)
+0:109                Constant:
+0:109                  0 (const int)
+0:109              Constant:
+0:109                0 (const int)
+0:109            Constant:
+0:109              1 (const uint)
+0:110      move second child to first child ( temp 2-component vector of int)
+0:110        vector swizzle ( temp 2-component vector of int)
+0:110          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:110            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'invocation' ( temp uint)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Sequence
+0:110            Constant:
+0:110              0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110        Convert bool to int ( temp 2-component vector of int)
+0:110          subgroupClusteredAnd ( global 2-component vector of bool)
+0:110            Compare Less Than ( global 2-component vector of bool)
+0:110              vector swizzle ( temp 2-component vector of int)
+0:110                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:110                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                    Constant:
+0:110                      1 (const int)
+0:110                  Constant:
+0:110                    1 (const int)
+0:110                Sequence
+0:110                  Constant:
+0:110                    0 (const int)
+0:110                  Constant:
+0:110                    1 (const int)
+0:110              Constant:
+0:110                0 (const int)
+0:110                0 (const int)
+0:110            Constant:
+0:110              1 (const uint)
+0:111      move second child to first child ( temp 3-component vector of int)
+0:111        vector swizzle ( temp 3-component vector of int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'invocation' ( temp uint)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111            Constant:
+0:111              2 (const int)
+0:111        Convert bool to int ( temp 3-component vector of int)
+0:111          subgroupClusteredAnd ( global 3-component vector of bool)
+0:111            Compare Less Than ( global 3-component vector of bool)
+0:111              vector swizzle ( temp 3-component vector of int)
+0:111                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                    Constant:
+0:111                      1 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111                Sequence
+0:111                  Constant:
+0:111                    0 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111                  Constant:
+0:111                    2 (const int)
+0:111              Constant:
+0:111                0 (const int)
+0:111                0 (const int)
+0:111                0 (const int)
+0:111            Constant:
+0:111              1 (const uint)
+0:112      move second child to first child ( temp 4-component vector of int)
+0:112        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'invocation' ( temp uint)
+0:112          Constant:
+0:112            1 (const int)
+0:112        Convert bool to int ( temp 4-component vector of int)
+0:112          subgroupClusteredAnd ( global 4-component vector of bool)
+0:112            Compare Less Than ( global 4-component vector of bool)
+0:112              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                  Constant:
+0:112                    1 (const int)
+0:112                Constant:
+0:112                  1 (const int)
+0:112              Constant:
+0:112                0 (const int)
+0:112                0 (const int)
+0:112                0 (const int)
+0:112                0 (const int)
+0:112            Constant:
+0:112              1 (const uint)
+0:114      move second child to first child ( temp int)
+0:114        direct index ( temp int)
+0:114          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'invocation' ( temp uint)
+0:114            Constant:
+0:114              1 (const int)
+0:114          Constant:
+0:114            0 (const int)
+0:114        subgroupClusteredOr ( global int)
+0:114          direct index ( temp int)
+0:114            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                Constant:
+0:114                  0 (const int)
+0:114              Constant:
+0:114                1 (const int)
+0:114            Constant:
+0:114              0 (const int)
+0:114          Constant:
+0:114            1 (const uint)
+0:115      move second child to first child ( temp 2-component vector of int)
+0:115        vector swizzle ( temp 2-component vector of int)
+0:115          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'invocation' ( temp uint)
+0:115            Constant:
+0:115              1 (const int)
+0:115          Sequence
+0:115            Constant:
+0:115              0 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115        subgroupClusteredOr ( global 2-component vector of int)
+0:115          vector swizzle ( temp 2-component vector of int)
+0:115            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                Constant:
+0:115                  1 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115            Sequence
+0:115              Constant:
+0:115                0 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115          Constant:
+0:115            1 (const uint)
+0:116      move second child to first child ( temp 3-component vector of int)
+0:116        vector swizzle ( temp 3-component vector of int)
+0:116          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'invocation' ( temp uint)
+0:116            Constant:
+0:116              1 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116            Constant:
+0:116              2 (const int)
+0:116        subgroupClusteredOr ( global 3-component vector of int)
+0:116          vector swizzle ( temp 3-component vector of int)
+0:116            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                Constant:
+0:116                  2 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116            Sequence
+0:116              Constant:
+0:116                0 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116              Constant:
+0:116                2 (const int)
+0:116          Constant:
+0:116            1 (const uint)
+0:117      move second child to first child ( temp 4-component vector of int)
+0:117        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'invocation' ( temp uint)
+0:117          Constant:
+0:117            1 (const int)
+0:117        subgroupClusteredOr ( global 4-component vector of int)
+0:117          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              Constant:
+0:117                3 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117          Constant:
+0:117            1 (const uint)
+0:119      move second child to first child ( temp uint)
+0:119        direct index ( temp uint)
+0:119          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              'invocation' ( temp uint)
+0:119            Constant:
+0:119              2 (const int)
+0:119          Constant:
+0:119            0 (const int)
+0:119        subgroupClusteredOr ( global uint)
+0:119          direct index ( temp uint)
+0:119            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119                Constant:
+0:119                  0 (const int)
+0:119              Constant:
+0:119                2 (const int)
+0:119            Constant:
+0:119              0 (const int)
+0:119          Constant:
+0:119            1 (const uint)
+0:120      move second child to first child ( temp 2-component vector of uint)
+0:120        vector swizzle ( temp 2-component vector of uint)
+0:120          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:120            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120              'invocation' ( temp uint)
+0:120            Constant:
+0:120              2 (const int)
+0:120          Sequence
+0:120            Constant:
+0:120              0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120        subgroupClusteredOr ( global 2-component vector of uint)
+0:120          vector swizzle ( temp 2-component vector of uint)
+0:120            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:120              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:120                Constant:
+0:120                  1 (const int)
+0:120              Constant:
+0:120                2 (const int)
+0:120            Sequence
+0:120              Constant:
+0:120                0 (const int)
+0:120              Constant:
+0:120                1 (const int)
+0:120          Constant:
+0:120            1 (const uint)
+0:121      move second child to first child ( temp 3-component vector of uint)
+0:121        vector swizzle ( temp 3-component vector of uint)
+0:121          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:121            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'invocation' ( temp uint)
+0:121            Constant:
+0:121              2 (const int)
+0:121          Sequence
+0:121            Constant:
+0:121              0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121            Constant:
+0:121              2 (const int)
+0:121        subgroupClusteredOr ( global 3-component vector of uint)
+0:121          vector swizzle ( temp 3-component vector of uint)
+0:121            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:121              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                Constant:
+0:121                  2 (const int)
+0:121              Constant:
+0:121                2 (const int)
+0:121            Sequence
+0:121              Constant:
+0:121                0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:121              Constant:
+0:121                2 (const int)
+0:121          Constant:
+0:121            1 (const uint)
+0:122      move second child to first child ( temp 4-component vector of uint)
+0:122        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:122          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122            'invocation' ( temp uint)
+0:122          Constant:
+0:122            2 (const int)
+0:122        subgroupClusteredOr ( global 4-component vector of uint)
+0:122          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:122            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              Constant:
+0:122                3 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:122          Constant:
+0:122            1 (const uint)
+0:124      move second child to first child ( temp int)
+0:124        direct index ( temp int)
+0:124          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:124            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              'invocation' ( temp uint)
+0:124            Constant:
+0:124              1 (const int)
+0:124          Constant:
+0:124            0 (const int)
+0:124        Convert bool to int ( temp int)
+0:124          subgroupClusteredOr ( global bool)
+0:124            Compare Less Than ( temp bool)
+0:124              direct index ( temp int)
+0:124                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:124                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124                    Constant:
+0:124                      0 (const int)
+0:124                  Constant:
+0:124                    1 (const int)
+0:124                Constant:
+0:124                  0 (const int)
+0:124              Constant:
+0:124                0 (const int)
+0:124            Constant:
+0:124              1 (const uint)
+0:125      move second child to first child ( temp 2-component vector of int)
+0:125        vector swizzle ( temp 2-component vector of int)
+0:125          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:125            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125              'invocation' ( temp uint)
+0:125            Constant:
+0:125              1 (const int)
+0:125          Sequence
+0:125            Constant:
+0:125              0 (const int)
+0:125            Constant:
+0:125              1 (const int)
+0:125        Convert bool to int ( temp 2-component vector of int)
+0:125          subgroupClusteredOr ( global 2-component vector of bool)
+0:125            Compare Less Than ( global 2-component vector of bool)
+0:125              vector swizzle ( temp 2-component vector of int)
+0:125                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:125                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:125                    Constant:
+0:125                      1 (const int)
+0:125                  Constant:
+0:125                    1 (const int)
+0:125                Sequence
+0:125                  Constant:
+0:125                    0 (const int)
+0:125                  Constant:
+0:125                    1 (const int)
+0:125              Constant:
+0:125                0 (const int)
+0:125                0 (const int)
+0:125            Constant:
+0:125              1 (const uint)
+0:126      move second child to first child ( temp 3-component vector of int)
+0:126        vector swizzle ( temp 3-component vector of int)
+0:126          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'invocation' ( temp uint)
+0:126            Constant:
+0:126              1 (const int)
+0:126          Sequence
+0:126            Constant:
+0:126              0 (const int)
+0:126            Constant:
+0:126              1 (const int)
+0:126            Constant:
+0:126              2 (const int)
+0:126        Convert bool to int ( temp 3-component vector of int)
+0:126          subgroupClusteredOr ( global 3-component vector of bool)
+0:126            Compare Less Than ( global 3-component vector of bool)
+0:126              vector swizzle ( temp 3-component vector of int)
+0:126                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                    Constant:
+0:126                      1 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126                Sequence
+0:126                  Constant:
+0:126                    0 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126                  Constant:
+0:126                    2 (const int)
+0:126              Constant:
+0:126                0 (const int)
+0:126                0 (const int)
+0:126                0 (const int)
+0:126            Constant:
+0:126              1 (const uint)
+0:127      move second child to first child ( temp 4-component vector of int)
+0:127        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127            'invocation' ( temp uint)
+0:127          Constant:
+0:127            1 (const int)
+0:127        Convert bool to int ( temp 4-component vector of int)
+0:127          subgroupClusteredOr ( global 4-component vector of bool)
+0:127            Compare Less Than ( global 4-component vector of bool)
+0:127              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                  Constant:
+0:127                    1 (const int)
+0:127                Constant:
+0:127                  1 (const int)
+0:127              Constant:
+0:127                0 (const int)
+0:127                0 (const int)
+0:127                0 (const int)
+0:127                0 (const int)
+0:127            Constant:
+0:127              1 (const uint)
+0:129      move second child to first child ( temp int)
+0:129        direct index ( temp int)
+0:129          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              'invocation' ( temp uint)
+0:129            Constant:
+0:129              1 (const int)
+0:129          Constant:
+0:129            0 (const int)
+0:129        subgroupClusteredXor ( global int)
+0:129          direct index ( temp int)
+0:129            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129                Constant:
+0:129                  0 (const int)
+0:129              Constant:
+0:129                1 (const int)
+0:129            Constant:
+0:129              0 (const int)
+0:129          Constant:
+0:129            1 (const uint)
+0:130      move second child to first child ( temp 2-component vector of int)
+0:130        vector swizzle ( temp 2-component vector of int)
+0:130          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:130            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130              'invocation' ( temp uint)
+0:130            Constant:
+0:130              1 (const int)
+0:130          Sequence
+0:130            Constant:
+0:130              0 (const int)
+0:130            Constant:
+0:130              1 (const int)
+0:130        subgroupClusteredXor ( global 2-component vector of int)
+0:130          vector swizzle ( temp 2-component vector of int)
+0:130            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:130              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:130                Constant:
+0:130                  1 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130            Sequence
+0:130              Constant:
+0:130                0 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130          Constant:
+0:130            1 (const uint)
+0:131      move second child to first child ( temp 3-component vector of int)
+0:131        vector swizzle ( temp 3-component vector of int)
+0:131          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:131            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'invocation' ( temp uint)
+0:131            Constant:
+0:131              1 (const int)
+0:131          Sequence
+0:131            Constant:
+0:131              0 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:131            Constant:
+0:131              2 (const int)
+0:131        subgroupClusteredXor ( global 3-component vector of int)
+0:131          vector swizzle ( temp 3-component vector of int)
+0:131            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:131              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                Constant:
+0:131                  2 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131            Sequence
+0:131              Constant:
+0:131                0 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131              Constant:
+0:131                2 (const int)
+0:131          Constant:
+0:131            1 (const uint)
+0:132      move second child to first child ( temp 4-component vector of int)
+0:132        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:132          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132            'invocation' ( temp uint)
+0:132          Constant:
+0:132            1 (const int)
+0:132        subgroupClusteredXor ( global 4-component vector of int)
+0:132          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:132            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              Constant:
+0:132                3 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:132          Constant:
+0:132            1 (const uint)
+0:134      move second child to first child ( temp uint)
+0:134        direct index ( temp uint)
+0:134          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              'invocation' ( temp uint)
+0:134            Constant:
+0:134              2 (const int)
+0:134          Constant:
+0:134            0 (const int)
+0:134        subgroupClusteredXor ( global uint)
+0:134          direct index ( temp uint)
+0:134            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134                Constant:
+0:134                  0 (const int)
+0:134              Constant:
+0:134                2 (const int)
+0:134            Constant:
+0:134              0 (const int)
+0:134          Constant:
+0:134            1 (const uint)
+0:135      move second child to first child ( temp 2-component vector of uint)
+0:135        vector swizzle ( temp 2-component vector of uint)
+0:135          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:135            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135              'invocation' ( temp uint)
+0:135            Constant:
+0:135              2 (const int)
+0:135          Sequence
+0:135            Constant:
+0:135              0 (const int)
+0:135            Constant:
+0:135              1 (const int)
+0:135        subgroupClusteredXor ( global 2-component vector of uint)
+0:135          vector swizzle ( temp 2-component vector of uint)
+0:135            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:135              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:135                Constant:
+0:135                  1 (const int)
+0:135              Constant:
+0:135                2 (const int)
+0:135            Sequence
+0:135              Constant:
+0:135                0 (const int)
+0:135              Constant:
+0:135                1 (const int)
+0:135          Constant:
+0:135            1 (const uint)
+0:136      move second child to first child ( temp 3-component vector of uint)
+0:136        vector swizzle ( temp 3-component vector of uint)
+0:136          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:136            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'invocation' ( temp uint)
+0:136            Constant:
+0:136              2 (const int)
+0:136          Sequence
+0:136            Constant:
+0:136              0 (const int)
+0:136            Constant:
+0:136              1 (const int)
+0:136            Constant:
+0:136              2 (const int)
+0:136        subgroupClusteredXor ( global 3-component vector of uint)
+0:136          vector swizzle ( temp 3-component vector of uint)
+0:136            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:136              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                Constant:
+0:136                  2 (const int)
+0:136              Constant:
+0:136                2 (const int)
+0:136            Sequence
+0:136              Constant:
+0:136                0 (const int)
+0:136              Constant:
+0:136                1 (const int)
+0:136              Constant:
+0:136                2 (const int)
+0:136          Constant:
+0:136            1 (const uint)
+0:137      move second child to first child ( temp 4-component vector of uint)
+0:137        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:137          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137            'invocation' ( temp uint)
+0:137          Constant:
+0:137            2 (const int)
+0:137        subgroupClusteredXor ( global 4-component vector of uint)
+0:137          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:137            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              Constant:
+0:137                3 (const int)
+0:137            Constant:
+0:137              2 (const int)
+0:137          Constant:
+0:137            1 (const uint)
+0:139      move second child to first child ( temp int)
+0:139        direct index ( temp int)
+0:139          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139              'invocation' ( temp uint)
+0:139            Constant:
+0:139              1 (const int)
+0:139          Constant:
+0:139            0 (const int)
+0:139        Convert bool to int ( temp int)
+0:139          subgroupClusteredXor ( global bool)
+0:139            Compare Less Than ( temp bool)
+0:139              direct index ( temp int)
+0:139                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                    Constant:
+0:139                      0 (const int)
+0:139                  Constant:
+0:139                    1 (const int)
+0:139                Constant:
+0:139                  0 (const int)
+0:139              Constant:
+0:139                0 (const int)
+0:139            Constant:
+0:139              1 (const uint)
+0:140      move second child to first child ( temp 2-component vector of int)
+0:140        vector swizzle ( temp 2-component vector of int)
+0:140          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:140            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140              'invocation' ( temp uint)
+0:140            Constant:
+0:140              1 (const int)
+0:140          Sequence
+0:140            Constant:
+0:140              0 (const int)
+0:140            Constant:
+0:140              1 (const int)
+0:140        Convert bool to int ( temp 2-component vector of int)
+0:140          subgroupClusteredXor ( global 2-component vector of bool)
+0:140            Compare Less Than ( global 2-component vector of bool)
+0:140              vector swizzle ( temp 2-component vector of int)
+0:140                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:140                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:140                    Constant:
+0:140                      1 (const int)
+0:140                  Constant:
+0:140                    1 (const int)
+0:140                Sequence
+0:140                  Constant:
+0:140                    0 (const int)
+0:140                  Constant:
+0:140                    1 (const int)
+0:140              Constant:
+0:140                0 (const int)
+0:140                0 (const int)
+0:140            Constant:
+0:140              1 (const uint)
+0:141      move second child to first child ( temp 3-component vector of int)
+0:141        vector swizzle ( temp 3-component vector of int)
+0:141          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'invocation' ( temp uint)
+0:141            Constant:
+0:141              1 (const int)
+0:141          Sequence
+0:141            Constant:
+0:141              0 (const int)
+0:141            Constant:
+0:141              1 (const int)
+0:141            Constant:
+0:141              2 (const int)
+0:141        Convert bool to int ( temp 3-component vector of int)
+0:141          subgroupClusteredXor ( global 3-component vector of bool)
+0:141            Compare Less Than ( global 3-component vector of bool)
+0:141              vector swizzle ( temp 3-component vector of int)
+0:141                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                    Constant:
+0:141                      1 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141                Sequence
+0:141                  Constant:
+0:141                    0 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141                  Constant:
+0:141                    2 (const int)
+0:141              Constant:
+0:141                0 (const int)
+0:141                0 (const int)
+0:141                0 (const int)
+0:141            Constant:
+0:141              1 (const uint)
+0:142      move second child to first child ( temp 4-component vector of int)
+0:142        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142            'invocation' ( temp uint)
+0:142          Constant:
+0:142            1 (const int)
+0:142        Convert bool to int ( temp 4-component vector of int)
+0:142          subgroupClusteredXor ( global 4-component vector of bool)
+0:142            Compare Less Than ( global 4-component vector of bool)
+0:142              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                  Constant:
+0:142                    1 (const int)
+0:142                Constant:
+0:142                  1 (const int)
+0:142              Constant:
+0:142                0 (const int)
+0:142                0 (const int)
+0:142                0 (const int)
+0:142                0 (const int)
+0:142            Constant:
+0:142              1 (const uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
diff --git a/Test/baseResults/glsl.450.subgroupClusteredNeg.comp.out b/Test/baseResults/glsl.450.subgroupClusteredNeg.comp.out
new file mode 100644
index 0000000..d8aec08
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupClusteredNeg.comp.out
@@ -0,0 +1,668 @@
+glsl.450.subgroupClusteredNeg.comp
+ERROR: 0:22: 'cluster size' : argument must be at least 1 
+ERROR: 0:24: 'cluster size' : argument must be a power of 2 
+ERROR: 0:27: 'cluster size' : argument must be a power of 2 
+ERROR: 0:29: 'cluster size' : argument must be at least 1 
+ERROR: 0:31: 'cluster size' : argument must be at least 1 
+ERROR: 0:33: 'cluster size' : argument must be compile-time constant 
+ERROR: 0:36: 'cluster size' : argument must be compile-time constant 
+ERROR: 0:37: 'cluster size' : argument must be compile-time constant 
+ERROR: 8 compilation errors.  No code generated.
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_clustered
+local_size = (8, 1, 1)
+ERROR: node is still EOpNull!
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp int)
+0:17          'a' ( temp int)
+0:17          Constant:
+0:17            1 (const int)
+0:20      Sequence
+0:20        move second child to first child ( temp uint)
+0:20          'invocation' ( temp uint)
+0:20          mod ( temp uint)
+0:20            add ( temp uint)
+0:20              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:20              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:20            Constant:
+0:20              4 (const uint)
+0:22      move second child to first child ( temp 2-component vector of float)
+0:22        vector swizzle ( temp 2-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'invocation' ( temp uint)
+0:22            Constant:
+0:22              0 (const int)
+0:22          Sequence
+0:22            Constant:
+0:22              0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22        subgroupClusteredAdd ( global 2-component vector of float)
+0:22          vector swizzle ( temp 2-component vector of float)
+0:22            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22                Constant:
+0:22                  1 (const int)
+0:22              Constant:
+0:22                0 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22          Constant:
+0:22            0 (const uint)
+0:24      move second child to first child ( temp float)
+0:24        direct index ( temp float)
+0:24          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              0 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupClusteredMul ( global float)
+0:24          direct index ( temp float)
+0:24            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                0 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:24          Constant:
+0:24            3 (const uint)
+0:26      move second child to first child ( temp 2-component vector of int)
+0:26        vector swizzle ( temp 2-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26        subgroupClusteredMin ( global 2-component vector of int)
+0:26          vector swizzle ( temp 2-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  1 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26          Constant:
+0:26            8 (const uint)
+0:27      move second child to first child ( temp 3-component vector of int)
+0:27        vector swizzle ( temp 3-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'invocation' ( temp uint)
+0:27            Constant:
+0:27              1 (const int)
+0:27          Sequence
+0:27            Constant:
+0:27              0 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27        subgroupClusteredMin ( global 3-component vector of int)
+0:27          vector swizzle ( temp 3-component vector of int)
+0:27            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27                Constant:
+0:27                  2 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27          Constant:
+0:27            6 (const uint)
+0:29      move second child to first child ( temp float)
+0:29        direct index ( temp float)
+0:29          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              0 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupClusteredMax ( global float)
+0:29          direct index ( temp float)
+0:29            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                0 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29          Constant:
+0:29            4294967295 (const uint)
+0:31      move second child to first child ( temp 4-component vector of int)
+0:31        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:31          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31            'invocation' ( temp uint)
+0:31          Constant:
+0:31            1 (const int)
+0:31        subgroupClusteredAnd ( global 4-component vector of int)
+0:31          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31          Constant:
+0:31            4294967293 (const uint)
+0:33      move second child to first child ( temp int)
+0:33        direct index ( temp int)
+0:33          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:33            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33              'invocation' ( temp uint)
+0:33            Constant:
+0:33              1 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        subgroupClusteredOr ( global int)
+0:33          direct index ( temp int)
+0:33            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                1 (const int)
+0:33            Constant:
+0:33              0 (const int)
+0:33          Convert int to uint ( temp uint)
+0:33            'a' ( temp int)
+0:34      move second child to first child ( temp 2-component vector of int)
+0:34        vector swizzle ( temp 2-component vector of int)
+0:34          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              1 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        subgroupClusteredOr ( global 2-component vector of int)
+0:34          vector swizzle ( temp 2-component vector of int)
+0:34            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  1 (const int)
+0:34              Constant:
+0:34                1 (const int)
+0:34            Sequence
+0:34              Constant:
+0:34                0 (const int)
+0:34              Constant:
+0:34                1 (const int)
+0:34          Constant:
+0:34            1 (const uint)
+0:36      move second child to first child ( temp int)
+0:36        direct index ( temp int)
+0:36          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              1 (const int)
+0:36          Constant:
+0:36            0 (const int)
+0:36        subgroupClusteredXor ( global int)
+0:36          direct index ( temp int)
+0:36            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Convert int to uint ( temp uint)
+0:36            add ( temp int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              'a' ( temp int)
+0:37      move second child to first child ( temp 2-component vector of int)
+0:37        vector swizzle ( temp 2-component vector of int)
+0:37          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:37            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'invocation' ( temp uint)
+0:37            Constant:
+0:37              1 (const int)
+0:37          Sequence
+0:37            Constant:
+0:37              0 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37        subgroupClusteredXor ( global 2-component vector of int)
+0:37          vector swizzle ( temp 2-component vector of int)
+0:37            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:37              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                Constant:
+0:37                  1 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37          Convert int to uint ( temp uint)
+0:37            add ( temp int)
+0:37              Constant:
+0:37                1 (const int)
+0:37              'a' ( temp int)
+0:38      move second child to first child ( temp 3-component vector of int)
+0:38        vector swizzle ( temp 3-component vector of int)
+0:38          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:38            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38              'invocation' ( temp uint)
+0:38            Constant:
+0:38              1 (const int)
+0:38          Sequence
+0:38            Constant:
+0:38              0 (const int)
+0:38            Constant:
+0:38              1 (const int)
+0:38            Constant:
+0:38              2 (const int)
+0:38        subgroupClusteredXor ( global 3-component vector of int)
+0:38          vector swizzle ( temp 3-component vector of int)
+0:38            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38                Constant:
+0:38                  2 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:38            Sequence
+0:38              Constant:
+0:38                0 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:38              Constant:
+0:38                2 (const int)
+0:38          Constant:
+0:38            2 (const uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_clustered
+local_size = (8, 1, 1)
+ERROR: node is still EOpNull!
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp int)
+0:17          'a' ( temp int)
+0:17          Constant:
+0:17            1 (const int)
+0:20      Sequence
+0:20        move second child to first child ( temp uint)
+0:20          'invocation' ( temp uint)
+0:20          mod ( temp uint)
+0:20            add ( temp uint)
+0:20              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:20              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:20            Constant:
+0:20              4 (const uint)
+0:22      move second child to first child ( temp 2-component vector of float)
+0:22        vector swizzle ( temp 2-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'invocation' ( temp uint)
+0:22            Constant:
+0:22              0 (const int)
+0:22          Sequence
+0:22            Constant:
+0:22              0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22        subgroupClusteredAdd ( global 2-component vector of float)
+0:22          vector swizzle ( temp 2-component vector of float)
+0:22            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22                Constant:
+0:22                  1 (const int)
+0:22              Constant:
+0:22                0 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22          Constant:
+0:22            0 (const uint)
+0:24      move second child to first child ( temp float)
+0:24        direct index ( temp float)
+0:24          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              0 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupClusteredMul ( global float)
+0:24          direct index ( temp float)
+0:24            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                0 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:24          Constant:
+0:24            3 (const uint)
+0:26      move second child to first child ( temp 2-component vector of int)
+0:26        vector swizzle ( temp 2-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26        subgroupClusteredMin ( global 2-component vector of int)
+0:26          vector swizzle ( temp 2-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  1 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26          Constant:
+0:26            8 (const uint)
+0:27      move second child to first child ( temp 3-component vector of int)
+0:27        vector swizzle ( temp 3-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'invocation' ( temp uint)
+0:27            Constant:
+0:27              1 (const int)
+0:27          Sequence
+0:27            Constant:
+0:27              0 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27        subgroupClusteredMin ( global 3-component vector of int)
+0:27          vector swizzle ( temp 3-component vector of int)
+0:27            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27                Constant:
+0:27                  2 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27          Constant:
+0:27            6 (const uint)
+0:29      move second child to first child ( temp float)
+0:29        direct index ( temp float)
+0:29          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              0 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupClusteredMax ( global float)
+0:29          direct index ( temp float)
+0:29            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                0 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29          Constant:
+0:29            4294967295 (const uint)
+0:31      move second child to first child ( temp 4-component vector of int)
+0:31        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:31          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31            'invocation' ( temp uint)
+0:31          Constant:
+0:31            1 (const int)
+0:31        subgroupClusteredAnd ( global 4-component vector of int)
+0:31          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31          Constant:
+0:31            4294967293 (const uint)
+0:33      move second child to first child ( temp int)
+0:33        direct index ( temp int)
+0:33          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:33            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33              'invocation' ( temp uint)
+0:33            Constant:
+0:33              1 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        subgroupClusteredOr ( global int)
+0:33          direct index ( temp int)
+0:33            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                1 (const int)
+0:33            Constant:
+0:33              0 (const int)
+0:33          Convert int to uint ( temp uint)
+0:33            'a' ( temp int)
+0:34      move second child to first child ( temp 2-component vector of int)
+0:34        vector swizzle ( temp 2-component vector of int)
+0:34          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              1 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        subgroupClusteredOr ( global 2-component vector of int)
+0:34          vector swizzle ( temp 2-component vector of int)
+0:34            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  1 (const int)
+0:34              Constant:
+0:34                1 (const int)
+0:34            Sequence
+0:34              Constant:
+0:34                0 (const int)
+0:34              Constant:
+0:34                1 (const int)
+0:34          Constant:
+0:34            1 (const uint)
+0:36      move second child to first child ( temp int)
+0:36        direct index ( temp int)
+0:36          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              1 (const int)
+0:36          Constant:
+0:36            0 (const int)
+0:36        subgroupClusteredXor ( global int)
+0:36          direct index ( temp int)
+0:36            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Convert int to uint ( temp uint)
+0:36            add ( temp int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              'a' ( temp int)
+0:37      move second child to first child ( temp 2-component vector of int)
+0:37        vector swizzle ( temp 2-component vector of int)
+0:37          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:37            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'invocation' ( temp uint)
+0:37            Constant:
+0:37              1 (const int)
+0:37          Sequence
+0:37            Constant:
+0:37              0 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37        subgroupClusteredXor ( global 2-component vector of int)
+0:37          vector swizzle ( temp 2-component vector of int)
+0:37            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:37              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                Constant:
+0:37                  1 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37          Convert int to uint ( temp uint)
+0:37            add ( temp int)
+0:37              Constant:
+0:37                1 (const int)
+0:37              'a' ( temp int)
+0:38      move second child to first child ( temp 3-component vector of int)
+0:38        vector swizzle ( temp 3-component vector of int)
+0:38          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:38            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38              'invocation' ( temp uint)
+0:38            Constant:
+0:38              1 (const int)
+0:38          Sequence
+0:38            Constant:
+0:38              0 (const int)
+0:38            Constant:
+0:38              1 (const int)
+0:38            Constant:
+0:38              2 (const int)
+0:38        subgroupClusteredXor ( global 3-component vector of int)
+0:38          vector swizzle ( temp 3-component vector of int)
+0:38            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38                Constant:
+0:38                  2 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:38            Sequence
+0:38              Constant:
+0:38                0 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:38              Constant:
+0:38                2 (const int)
+0:38          Constant:
+0:38            2 (const uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
diff --git a/Test/baseResults/glsl.450.subgroupPartitioned.comp.out b/Test/baseResults/glsl.450.subgroupPartitioned.comp.out
new file mode 100644
index 0000000..1f6a83d
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupPartitioned.comp.out
@@ -0,0 +1,16537 @@
+glsl.450.subgroupPartitioned.comp
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_NV_shader_subgroup_partitioned
+local_size = (8, 1, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      Sequence
+0:19        move second child to first child ( temp 4-component vector of uint)
+0:19          'ballot' ( temp 4-component vector of uint)
+0:19          subgroupPartitionNV ( global 4-component vector of uint)
+0:19            'invocation' ( temp uint)
+0:21      move second child to first child ( temp 4-component vector of uint)
+0:21        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:21          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21            'invocation' ( temp uint)
+0:21          Constant:
+0:21            2 (const int)
+0:21        subgroupPartitionNV ( global 4-component vector of uint)
+0:21          direct index ( temp float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  0 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:22      move second child to first child ( temp 4-component vector of uint)
+0:22        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            2 (const int)
+0:22        subgroupPartitionNV ( global 4-component vector of uint)
+0:22          vector swizzle ( temp 2-component vector of float)
+0:22            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22                Constant:
+0:22                  0 (const int)
+0:22              Constant:
+0:22                0 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:23      move second child to first child ( temp 4-component vector of uint)
+0:23        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:23          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:23            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:23            'invocation' ( temp uint)
+0:23          Constant:
+0:23            2 (const int)
+0:23        subgroupPartitionNV ( global 4-component vector of uint)
+0:23          vector swizzle ( temp 3-component vector of float)
+0:23            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                0 (const int)
+0:23            Sequence
+0:23              Constant:
+0:23                0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23              Constant:
+0:23                2 (const int)
+0:24      move second child to first child ( temp 4-component vector of uint)
+0:24        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:24          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24            'invocation' ( temp uint)
+0:24          Constant:
+0:24            2 (const int)
+0:24        subgroupPartitionNV ( global 4-component vector of uint)
+0:24          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              Constant:
+0:24                0 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:26      move second child to first child ( temp 4-component vector of uint)
+0:26        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:26          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26            'invocation' ( temp uint)
+0:26          Constant:
+0:26            2 (const int)
+0:26        subgroupPartitionNV ( global 4-component vector of uint)
+0:26          direct index ( temp int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Constant:
+0:26              0 (const int)
+0:27      move second child to first child ( temp 4-component vector of uint)
+0:27        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            2 (const int)
+0:27        subgroupPartitionNV ( global 4-component vector of uint)
+0:27          vector swizzle ( temp 2-component vector of int)
+0:27            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27                Constant:
+0:27                  0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:28      move second child to first child ( temp 4-component vector of uint)
+0:28        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:28          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28            'invocation' ( temp uint)
+0:28          Constant:
+0:28            2 (const int)
+0:28        subgroupPartitionNV ( global 4-component vector of uint)
+0:28          vector swizzle ( temp 3-component vector of int)
+0:28            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                1 (const int)
+0:28            Sequence
+0:28              Constant:
+0:28                0 (const int)
+0:28              Constant:
+0:28                1 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:29      move second child to first child ( temp 4-component vector of uint)
+0:29        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29            'invocation' ( temp uint)
+0:29          Constant:
+0:29            2 (const int)
+0:29        subgroupPartitionNV ( global 4-component vector of uint)
+0:29          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              Constant:
+0:29                0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:31      move second child to first child ( temp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31            'invocation' ( temp uint)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupPartitionNV ( global 4-component vector of uint)
+0:31          direct index ( temp uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Constant:
+0:31              0 (const int)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupPartitionNV ( global 4-component vector of uint)
+0:32          vector swizzle ( temp 2-component vector of uint)
+0:32            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                Constant:
+0:32                  0 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:33      move second child to first child ( temp 4-component vector of uint)
+0:33        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:33          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33            'invocation' ( temp uint)
+0:33          Constant:
+0:33            2 (const int)
+0:33        subgroupPartitionNV ( global 4-component vector of uint)
+0:33          vector swizzle ( temp 3-component vector of uint)
+0:33            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                2 (const int)
+0:33            Sequence
+0:33              Constant:
+0:33                0 (const int)
+0:33              Constant:
+0:33                1 (const int)
+0:33              Constant:
+0:33                2 (const int)
+0:34      move second child to first child ( temp 4-component vector of uint)
+0:34        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:34          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34            'invocation' ( temp uint)
+0:34          Constant:
+0:34            2 (const int)
+0:34        subgroupPartitionNV ( global 4-component vector of uint)
+0:34          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              Constant:
+0:34                0 (const int)
+0:34            Constant:
+0:34              2 (const int)
+0:36      move second child to first child ( temp 4-component vector of uint)
+0:36        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:36          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36            'invocation' ( temp uint)
+0:36          Constant:
+0:36            2 (const int)
+0:36        subgroupPartitionNV ( global 4-component vector of uint)
+0:36          direct index ( temp double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  0 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:37      move second child to first child ( temp 4-component vector of uint)
+0:37        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            2 (const int)
+0:37        subgroupPartitionNV ( global 4-component vector of uint)
+0:37          vector swizzle ( temp 2-component vector of double)
+0:37            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                Constant:
+0:37                  0 (const int)
+0:37              Constant:
+0:37                3 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:38      move second child to first child ( temp 4-component vector of uint)
+0:38        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:38          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38            'invocation' ( temp uint)
+0:38          Constant:
+0:38            2 (const int)
+0:38        subgroupPartitionNV ( global 4-component vector of uint)
+0:38          vector swizzle ( temp 3-component vector of double)
+0:38            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                3 (const int)
+0:38            Sequence
+0:38              Constant:
+0:38                0 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:38              Constant:
+0:38                2 (const int)
+0:39      move second child to first child ( temp 4-component vector of uint)
+0:39        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:39          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39            'invocation' ( temp uint)
+0:39          Constant:
+0:39            2 (const int)
+0:39        subgroupPartitionNV ( global 4-component vector of uint)
+0:39          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              3 (const int)
+0:41      move second child to first child ( temp 4-component vector of uint)
+0:41        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:41          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41            'invocation' ( temp uint)
+0:41          Constant:
+0:41            2 (const int)
+0:41        subgroupPartitionNV ( global 4-component vector of uint)
+0:41          Convert int to bool ( temp bool)
+0:41            direct index ( temp int)
+0:41              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                  Constant:
+0:41                    0 (const int)
+0:41                Constant:
+0:41                  1 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:42      move second child to first child ( temp 4-component vector of uint)
+0:42        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            2 (const int)
+0:42        subgroupPartitionNV ( global 4-component vector of uint)
+0:42          Convert int to bool ( temp 2-component vector of bool)
+0:42            vector swizzle ( temp 2-component vector of int)
+0:42              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  Constant:
+0:42                    0 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:42              Sequence
+0:42                Constant:
+0:42                  0 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:43      move second child to first child ( temp 4-component vector of uint)
+0:43        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:43          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:43            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:43            'invocation' ( temp uint)
+0:43          Constant:
+0:43            2 (const int)
+0:43        subgroupPartitionNV ( global 4-component vector of uint)
+0:43          Convert int to bool ( temp 3-component vector of bool)
+0:43            vector swizzle ( temp 3-component vector of int)
+0:43              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:43                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:43                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:43                  Constant:
+0:43                    0 (const int)
+0:43                Constant:
+0:43                  1 (const int)
+0:43              Sequence
+0:43                Constant:
+0:43                  0 (const int)
+0:43                Constant:
+0:43                  1 (const int)
+0:43                Constant:
+0:43                  2 (const int)
+0:44      move second child to first child ( temp 4-component vector of uint)
+0:44        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:44          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44            'invocation' ( temp uint)
+0:44          Constant:
+0:44            2 (const int)
+0:44        subgroupPartitionNV ( global 4-component vector of uint)
+0:44          Convert int to bool ( temp 4-component vector of bool)
+0:44            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:46      move second child to first child ( temp float)
+0:46        direct index ( temp float)
+0:46          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              0 (const int)
+0:46          Constant:
+0:46            0 (const int)
+0:46        ERROR: Bad aggregation op
+ ( global float)
+0:46          direct index ( temp float)
+0:46            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  0 (const int)
+0:46              Constant:
+0:46                0 (const int)
+0:46            Constant:
+0:46              0 (const int)
+0:46          'ballot' ( temp 4-component vector of uint)
+0:47      move second child to first child ( temp 2-component vector of float)
+0:47        vector swizzle ( temp 2-component vector of float)
+0:47          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'invocation' ( temp uint)
+0:47            Constant:
+0:47              0 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:47          vector swizzle ( temp 2-component vector of float)
+0:47            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                Constant:
+0:47                  1 (const int)
+0:47              Constant:
+0:47                0 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47          'ballot' ( temp 4-component vector of uint)
+0:48      move second child to first child ( temp 3-component vector of float)
+0:48        vector swizzle ( temp 3-component vector of float)
+0:48          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:48            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:48              'invocation' ( temp uint)
+0:48            Constant:
+0:48              0 (const int)
+0:48          Sequence
+0:48            Constant:
+0:48              0 (const int)
+0:48            Constant:
+0:48              1 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:48          vector swizzle ( temp 3-component vector of float)
+0:48            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:48                Constant:
+0:48                  2 (const int)
+0:48              Constant:
+0:48                0 (const int)
+0:48            Sequence
+0:48              Constant:
+0:48                0 (const int)
+0:48              Constant:
+0:48                1 (const int)
+0:48              Constant:
+0:48                2 (const int)
+0:48          'ballot' ( temp 4-component vector of uint)
+0:49      move second child to first child ( temp 4-component vector of float)
+0:49        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:49          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49            'invocation' ( temp uint)
+0:49          Constant:
+0:49            0 (const int)
+0:49        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:49          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              Constant:
+0:49                3 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          'ballot' ( temp 4-component vector of uint)
+0:51      move second child to first child ( temp int)
+0:51        direct index ( temp int)
+0:51          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              1 (const int)
+0:51          Constant:
+0:51            0 (const int)
+0:51        ERROR: Bad aggregation op
+ ( global int)
+0:51          direct index ( temp int)
+0:51            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51            Constant:
+0:51              0 (const int)
+0:51          'ballot' ( temp 4-component vector of uint)
+0:52      move second child to first child ( temp 2-component vector of int)
+0:52        vector swizzle ( temp 2-component vector of int)
+0:52          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'invocation' ( temp uint)
+0:52            Constant:
+0:52              1 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:52          vector swizzle ( temp 2-component vector of int)
+0:52            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                Constant:
+0:52                  1 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52          'ballot' ( temp 4-component vector of uint)
+0:53      move second child to first child ( temp 3-component vector of int)
+0:53        vector swizzle ( temp 3-component vector of int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:53            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:53              'invocation' ( temp uint)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Sequence
+0:53            Constant:
+0:53              0 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53            Constant:
+0:53              2 (const int)
+0:53        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:53          vector swizzle ( temp 3-component vector of int)
+0:53            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:53              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:53                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:53                Constant:
+0:53                  2 (const int)
+0:53              Constant:
+0:53                1 (const int)
+0:53            Sequence
+0:53              Constant:
+0:53                0 (const int)
+0:53              Constant:
+0:53                1 (const int)
+0:53              Constant:
+0:53                2 (const int)
+0:53          'ballot' ( temp 4-component vector of uint)
+0:54      move second child to first child ( temp 4-component vector of int)
+0:54        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:54          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54            'invocation' ( temp uint)
+0:54          Constant:
+0:54            1 (const int)
+0:54        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          'ballot' ( temp 4-component vector of uint)
+0:56      move second child to first child ( temp uint)
+0:56        direct index ( temp uint)
+0:56          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              2 (const int)
+0:56          Constant:
+0:56            0 (const int)
+0:56        ERROR: Bad aggregation op
+ ( global uint)
+0:56          direct index ( temp uint)
+0:56            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  0 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56            Constant:
+0:56              0 (const int)
+0:56          'ballot' ( temp 4-component vector of uint)
+0:57      move second child to first child ( temp 2-component vector of uint)
+0:57        vector swizzle ( temp 2-component vector of uint)
+0:57          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'invocation' ( temp uint)
+0:57            Constant:
+0:57              2 (const int)
+0:57          Sequence
+0:57            Constant:
+0:57              0 (const int)
+0:57            Constant:
+0:57              1 (const int)
+0:57        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:57          vector swizzle ( temp 2-component vector of uint)
+0:57            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                Constant:
+0:57                  1 (const int)
+0:57              Constant:
+0:57                2 (const int)
+0:57            Sequence
+0:57              Constant:
+0:57                0 (const int)
+0:57              Constant:
+0:57                1 (const int)
+0:57          'ballot' ( temp 4-component vector of uint)
+0:58      move second child to first child ( temp 3-component vector of uint)
+0:58        vector swizzle ( temp 3-component vector of uint)
+0:58          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:58            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:58              'invocation' ( temp uint)
+0:58            Constant:
+0:58              2 (const int)
+0:58          Sequence
+0:58            Constant:
+0:58              0 (const int)
+0:58            Constant:
+0:58              1 (const int)
+0:58            Constant:
+0:58              2 (const int)
+0:58        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:58          vector swizzle ( temp 3-component vector of uint)
+0:58            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:58              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:58                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:58                Constant:
+0:58                  2 (const int)
+0:58              Constant:
+0:58                2 (const int)
+0:58            Sequence
+0:58              Constant:
+0:58                0 (const int)
+0:58              Constant:
+0:58                1 (const int)
+0:58              Constant:
+0:58                2 (const int)
+0:58          'ballot' ( temp 4-component vector of uint)
+0:59      move second child to first child ( temp 4-component vector of uint)
+0:59        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:59          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59            'invocation' ( temp uint)
+0:59          Constant:
+0:59            2 (const int)
+0:59        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:59          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:59            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              Constant:
+0:59                3 (const int)
+0:59            Constant:
+0:59              2 (const int)
+0:59          'ballot' ( temp 4-component vector of uint)
+0:61      move second child to first child ( temp double)
+0:61        direct index ( temp double)
+0:61          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              3 (const int)
+0:61          Constant:
+0:61            0 (const int)
+0:61        ERROR: Bad aggregation op
+ ( global double)
+0:61          direct index ( temp double)
+0:61            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  0 (const int)
+0:61              Constant:
+0:61                3 (const int)
+0:61            Constant:
+0:61              0 (const int)
+0:61          'ballot' ( temp 4-component vector of uint)
+0:62      move second child to first child ( temp 2-component vector of double)
+0:62        vector swizzle ( temp 2-component vector of double)
+0:62          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'invocation' ( temp uint)
+0:62            Constant:
+0:62              3 (const int)
+0:62          Sequence
+0:62            Constant:
+0:62              0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:62          vector swizzle ( temp 2-component vector of double)
+0:62            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                Constant:
+0:62                  1 (const int)
+0:62              Constant:
+0:62                3 (const int)
+0:62            Sequence
+0:62              Constant:
+0:62                0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62          'ballot' ( temp 4-component vector of uint)
+0:63      move second child to first child ( temp 3-component vector of double)
+0:63        vector swizzle ( temp 3-component vector of double)
+0:63          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:63            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63              'invocation' ( temp uint)
+0:63            Constant:
+0:63              3 (const int)
+0:63          Sequence
+0:63            Constant:
+0:63              0 (const int)
+0:63            Constant:
+0:63              1 (const int)
+0:63            Constant:
+0:63              2 (const int)
+0:63        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:63          vector swizzle ( temp 3-component vector of double)
+0:63            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:63              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                Constant:
+0:63                  2 (const int)
+0:63              Constant:
+0:63                3 (const int)
+0:63            Sequence
+0:63              Constant:
+0:63                0 (const int)
+0:63              Constant:
+0:63                1 (const int)
+0:63              Constant:
+0:63                2 (const int)
+0:63          'ballot' ( temp 4-component vector of uint)
+0:64      move second child to first child ( temp 4-component vector of double)
+0:64        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:64          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64            'invocation' ( temp uint)
+0:64          Constant:
+0:64            3 (const int)
+0:64        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:64          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:64            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              Constant:
+0:64                3 (const int)
+0:64            Constant:
+0:64              3 (const int)
+0:64          'ballot' ( temp 4-component vector of uint)
+0:66      move second child to first child ( temp float)
+0:66        direct index ( temp float)
+0:66          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              0 (const int)
+0:66          Constant:
+0:66            0 (const int)
+0:66        ERROR: Bad aggregation op
+ ( global float)
+0:66          direct index ( temp float)
+0:66            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                Constant:
+0:66                  0 (const int)
+0:66              Constant:
+0:66                0 (const int)
+0:66            Constant:
+0:66              0 (const int)
+0:66          'ballot' ( temp 4-component vector of uint)
+0:67      move second child to first child ( temp 2-component vector of float)
+0:67        vector swizzle ( temp 2-component vector of float)
+0:67          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:67            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              'invocation' ( temp uint)
+0:67            Constant:
+0:67              0 (const int)
+0:67          Sequence
+0:67            Constant:
+0:67              0 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:67        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:67          vector swizzle ( temp 2-component vector of float)
+0:67            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:67              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                Constant:
+0:67                  1 (const int)
+0:67              Constant:
+0:67                0 (const int)
+0:67            Sequence
+0:67              Constant:
+0:67                0 (const int)
+0:67              Constant:
+0:67                1 (const int)
+0:67          'ballot' ( temp 4-component vector of uint)
+0:68      move second child to first child ( temp 3-component vector of float)
+0:68        vector swizzle ( temp 3-component vector of float)
+0:68          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:68            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68              'invocation' ( temp uint)
+0:68            Constant:
+0:68              0 (const int)
+0:68          Sequence
+0:68            Constant:
+0:68              0 (const int)
+0:68            Constant:
+0:68              1 (const int)
+0:68            Constant:
+0:68              2 (const int)
+0:68        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:68          vector swizzle ( temp 3-component vector of float)
+0:68            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:68              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                Constant:
+0:68                  2 (const int)
+0:68              Constant:
+0:68                0 (const int)
+0:68            Sequence
+0:68              Constant:
+0:68                0 (const int)
+0:68              Constant:
+0:68                1 (const int)
+0:68              Constant:
+0:68                2 (const int)
+0:68          'ballot' ( temp 4-component vector of uint)
+0:69      move second child to first child ( temp 4-component vector of float)
+0:69        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:69          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69            'invocation' ( temp uint)
+0:69          Constant:
+0:69            0 (const int)
+0:69        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:69          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:69            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              Constant:
+0:69                3 (const int)
+0:69            Constant:
+0:69              0 (const int)
+0:69          'ballot' ( temp 4-component vector of uint)
+0:71      move second child to first child ( temp int)
+0:71        direct index ( temp int)
+0:71          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:71            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'invocation' ( temp uint)
+0:71            Constant:
+0:71              1 (const int)
+0:71          Constant:
+0:71            0 (const int)
+0:71        ERROR: Bad aggregation op
+ ( global int)
+0:71          direct index ( temp int)
+0:71            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                Constant:
+0:71                  0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71            Constant:
+0:71              0 (const int)
+0:71          'ballot' ( temp 4-component vector of uint)
+0:72      move second child to first child ( temp 2-component vector of int)
+0:72        vector swizzle ( temp 2-component vector of int)
+0:72          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:72            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              'invocation' ( temp uint)
+0:72            Constant:
+0:72              1 (const int)
+0:72          Sequence
+0:72            Constant:
+0:72              0 (const int)
+0:72            Constant:
+0:72              1 (const int)
+0:72        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:72          vector swizzle ( temp 2-component vector of int)
+0:72            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:72              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                Constant:
+0:72                  1 (const int)
+0:72              Constant:
+0:72                1 (const int)
+0:72            Sequence
+0:72              Constant:
+0:72                0 (const int)
+0:72              Constant:
+0:72                1 (const int)
+0:72          'ballot' ( temp 4-component vector of uint)
+0:73      move second child to first child ( temp 3-component vector of int)
+0:73        vector swizzle ( temp 3-component vector of int)
+0:73          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:73            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73              'invocation' ( temp uint)
+0:73            Constant:
+0:73              1 (const int)
+0:73          Sequence
+0:73            Constant:
+0:73              0 (const int)
+0:73            Constant:
+0:73              1 (const int)
+0:73            Constant:
+0:73              2 (const int)
+0:73        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:73          vector swizzle ( temp 3-component vector of int)
+0:73            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:73              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                Constant:
+0:73                  2 (const int)
+0:73              Constant:
+0:73                1 (const int)
+0:73            Sequence
+0:73              Constant:
+0:73                0 (const int)
+0:73              Constant:
+0:73                1 (const int)
+0:73              Constant:
+0:73                2 (const int)
+0:73          'ballot' ( temp 4-component vector of uint)
+0:74      move second child to first child ( temp 4-component vector of int)
+0:74        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:74          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74            'invocation' ( temp uint)
+0:74          Constant:
+0:74            1 (const int)
+0:74        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:74          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:74            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              1 (const int)
+0:74          'ballot' ( temp 4-component vector of uint)
+0:76      move second child to first child ( temp uint)
+0:76        direct index ( temp uint)
+0:76          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:76            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'invocation' ( temp uint)
+0:76            Constant:
+0:76              2 (const int)
+0:76          Constant:
+0:76            0 (const int)
+0:76        ERROR: Bad aggregation op
+ ( global uint)
+0:76          direct index ( temp uint)
+0:76            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                Constant:
+0:76                  0 (const int)
+0:76              Constant:
+0:76                2 (const int)
+0:76            Constant:
+0:76              0 (const int)
+0:76          'ballot' ( temp 4-component vector of uint)
+0:77      move second child to first child ( temp 2-component vector of uint)
+0:77        vector swizzle ( temp 2-component vector of uint)
+0:77          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:77            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              'invocation' ( temp uint)
+0:77            Constant:
+0:77              2 (const int)
+0:77          Sequence
+0:77            Constant:
+0:77              0 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:77        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:77          vector swizzle ( temp 2-component vector of uint)
+0:77            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:77              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                Constant:
+0:77                  1 (const int)
+0:77              Constant:
+0:77                2 (const int)
+0:77            Sequence
+0:77              Constant:
+0:77                0 (const int)
+0:77              Constant:
+0:77                1 (const int)
+0:77          'ballot' ( temp 4-component vector of uint)
+0:78      move second child to first child ( temp 3-component vector of uint)
+0:78        vector swizzle ( temp 3-component vector of uint)
+0:78          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:78            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78              'invocation' ( temp uint)
+0:78            Constant:
+0:78              2 (const int)
+0:78          Sequence
+0:78            Constant:
+0:78              0 (const int)
+0:78            Constant:
+0:78              1 (const int)
+0:78            Constant:
+0:78              2 (const int)
+0:78        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:78          vector swizzle ( temp 3-component vector of uint)
+0:78            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:78              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                Constant:
+0:78                  2 (const int)
+0:78              Constant:
+0:78                2 (const int)
+0:78            Sequence
+0:78              Constant:
+0:78                0 (const int)
+0:78              Constant:
+0:78                1 (const int)
+0:78              Constant:
+0:78                2 (const int)
+0:78          'ballot' ( temp 4-component vector of uint)
+0:79      move second child to first child ( temp 4-component vector of uint)
+0:79        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:79          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79            'invocation' ( temp uint)
+0:79          Constant:
+0:79            2 (const int)
+0:79        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:79          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:79            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              Constant:
+0:79                3 (const int)
+0:79            Constant:
+0:79              2 (const int)
+0:79          'ballot' ( temp 4-component vector of uint)
+0:81      move second child to first child ( temp double)
+0:81        direct index ( temp double)
+0:81          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:81            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'invocation' ( temp uint)
+0:81            Constant:
+0:81              3 (const int)
+0:81          Constant:
+0:81            0 (const int)
+0:81        ERROR: Bad aggregation op
+ ( global double)
+0:81          direct index ( temp double)
+0:81            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                Constant:
+0:81                  0 (const int)
+0:81              Constant:
+0:81                3 (const int)
+0:81            Constant:
+0:81              0 (const int)
+0:81          'ballot' ( temp 4-component vector of uint)
+0:82      move second child to first child ( temp 2-component vector of double)
+0:82        vector swizzle ( temp 2-component vector of double)
+0:82          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:82            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              'invocation' ( temp uint)
+0:82            Constant:
+0:82              3 (const int)
+0:82          Sequence
+0:82            Constant:
+0:82              0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:82          vector swizzle ( temp 2-component vector of double)
+0:82            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:82              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                Constant:
+0:82                  1 (const int)
+0:82              Constant:
+0:82                3 (const int)
+0:82            Sequence
+0:82              Constant:
+0:82                0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82          'ballot' ( temp 4-component vector of uint)
+0:83      move second child to first child ( temp 3-component vector of double)
+0:83        vector swizzle ( temp 3-component vector of double)
+0:83          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:83            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83              'invocation' ( temp uint)
+0:83            Constant:
+0:83              3 (const int)
+0:83          Sequence
+0:83            Constant:
+0:83              0 (const int)
+0:83            Constant:
+0:83              1 (const int)
+0:83            Constant:
+0:83              2 (const int)
+0:83        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:83          vector swizzle ( temp 3-component vector of double)
+0:83            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:83              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                Constant:
+0:83                  2 (const int)
+0:83              Constant:
+0:83                3 (const int)
+0:83            Sequence
+0:83              Constant:
+0:83                0 (const int)
+0:83              Constant:
+0:83                1 (const int)
+0:83              Constant:
+0:83                2 (const int)
+0:83          'ballot' ( temp 4-component vector of uint)
+0:84      move second child to first child ( temp 4-component vector of double)
+0:84        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:84          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84            'invocation' ( temp uint)
+0:84          Constant:
+0:84            3 (const int)
+0:84        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:84          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:84            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              Constant:
+0:84                3 (const int)
+0:84            Constant:
+0:84              3 (const int)
+0:84          'ballot' ( temp 4-component vector of uint)
+0:86      move second child to first child ( temp float)
+0:86        direct index ( temp float)
+0:86          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:86            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'invocation' ( temp uint)
+0:86            Constant:
+0:86              0 (const int)
+0:86          Constant:
+0:86            0 (const int)
+0:86        ERROR: Bad aggregation op
+ ( global float)
+0:86          direct index ( temp float)
+0:86            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                Constant:
+0:86                  0 (const int)
+0:86              Constant:
+0:86                0 (const int)
+0:86            Constant:
+0:86              0 (const int)
+0:86          'ballot' ( temp 4-component vector of uint)
+0:87      move second child to first child ( temp 2-component vector of float)
+0:87        vector swizzle ( temp 2-component vector of float)
+0:87          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:87            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              'invocation' ( temp uint)
+0:87            Constant:
+0:87              0 (const int)
+0:87          Sequence
+0:87            Constant:
+0:87              0 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:87        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:87          vector swizzle ( temp 2-component vector of float)
+0:87            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:87              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87                Constant:
+0:87                  1 (const int)
+0:87              Constant:
+0:87                0 (const int)
+0:87            Sequence
+0:87              Constant:
+0:87                0 (const int)
+0:87              Constant:
+0:87                1 (const int)
+0:87          'ballot' ( temp 4-component vector of uint)
+0:88      move second child to first child ( temp 3-component vector of float)
+0:88        vector swizzle ( temp 3-component vector of float)
+0:88          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:88            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:88              'invocation' ( temp uint)
+0:88            Constant:
+0:88              0 (const int)
+0:88          Sequence
+0:88            Constant:
+0:88              0 (const int)
+0:88            Constant:
+0:88              1 (const int)
+0:88            Constant:
+0:88              2 (const int)
+0:88        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:88          vector swizzle ( temp 3-component vector of float)
+0:88            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:88              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:88                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:88                Constant:
+0:88                  2 (const int)
+0:88              Constant:
+0:88                0 (const int)
+0:88            Sequence
+0:88              Constant:
+0:88                0 (const int)
+0:88              Constant:
+0:88                1 (const int)
+0:88              Constant:
+0:88                2 (const int)
+0:88          'ballot' ( temp 4-component vector of uint)
+0:89      move second child to first child ( temp 4-component vector of float)
+0:89        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:89          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89            'invocation' ( temp uint)
+0:89          Constant:
+0:89            0 (const int)
+0:89        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:89          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:89            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              Constant:
+0:89                3 (const int)
+0:89            Constant:
+0:89              0 (const int)
+0:89          'ballot' ( temp 4-component vector of uint)
+0:91      move second child to first child ( temp int)
+0:91        direct index ( temp int)
+0:91          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:91            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'invocation' ( temp uint)
+0:91            Constant:
+0:91              1 (const int)
+0:91          Constant:
+0:91            0 (const int)
+0:91        ERROR: Bad aggregation op
+ ( global int)
+0:91          direct index ( temp int)
+0:91            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:91              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                Constant:
+0:91                  0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91            Constant:
+0:91              0 (const int)
+0:91          'ballot' ( temp 4-component vector of uint)
+0:92      move second child to first child ( temp 2-component vector of int)
+0:92        vector swizzle ( temp 2-component vector of int)
+0:92          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:92            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              'invocation' ( temp uint)
+0:92            Constant:
+0:92              1 (const int)
+0:92          Sequence
+0:92            Constant:
+0:92              0 (const int)
+0:92            Constant:
+0:92              1 (const int)
+0:92        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:92          vector swizzle ( temp 2-component vector of int)
+0:92            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:92              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92                Constant:
+0:92                  1 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92            Sequence
+0:92              Constant:
+0:92                0 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92          'ballot' ( temp 4-component vector of uint)
+0:93      move second child to first child ( temp 3-component vector of int)
+0:93        vector swizzle ( temp 3-component vector of int)
+0:93          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:93            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:93              'invocation' ( temp uint)
+0:93            Constant:
+0:93              1 (const int)
+0:93          Sequence
+0:93            Constant:
+0:93              0 (const int)
+0:93            Constant:
+0:93              1 (const int)
+0:93            Constant:
+0:93              2 (const int)
+0:93        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:93          vector swizzle ( temp 3-component vector of int)
+0:93            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:93              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:93                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:93                Constant:
+0:93                  2 (const int)
+0:93              Constant:
+0:93                1 (const int)
+0:93            Sequence
+0:93              Constant:
+0:93                0 (const int)
+0:93              Constant:
+0:93                1 (const int)
+0:93              Constant:
+0:93                2 (const int)
+0:93          'ballot' ( temp 4-component vector of uint)
+0:94      move second child to first child ( temp 4-component vector of int)
+0:94        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:94          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94            'invocation' ( temp uint)
+0:94          Constant:
+0:94            1 (const int)
+0:94        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:94          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:94            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94          'ballot' ( temp 4-component vector of uint)
+0:96      move second child to first child ( temp uint)
+0:96        direct index ( temp uint)
+0:96          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:96            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'invocation' ( temp uint)
+0:96            Constant:
+0:96              2 (const int)
+0:96          Constant:
+0:96            0 (const int)
+0:96        ERROR: Bad aggregation op
+ ( global uint)
+0:96          direct index ( temp uint)
+0:96            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                Constant:
+0:96                  0 (const int)
+0:96              Constant:
+0:96                2 (const int)
+0:96            Constant:
+0:96              0 (const int)
+0:96          'ballot' ( temp 4-component vector of uint)
+0:97      move second child to first child ( temp 2-component vector of uint)
+0:97        vector swizzle ( temp 2-component vector of uint)
+0:97          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:97            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              'invocation' ( temp uint)
+0:97            Constant:
+0:97              2 (const int)
+0:97          Sequence
+0:97            Constant:
+0:97              0 (const int)
+0:97            Constant:
+0:97              1 (const int)
+0:97        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:97          vector swizzle ( temp 2-component vector of uint)
+0:97            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:97              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97                Constant:
+0:97                  1 (const int)
+0:97              Constant:
+0:97                2 (const int)
+0:97            Sequence
+0:97              Constant:
+0:97                0 (const int)
+0:97              Constant:
+0:97                1 (const int)
+0:97          'ballot' ( temp 4-component vector of uint)
+0:98      move second child to first child ( temp 3-component vector of uint)
+0:98        vector swizzle ( temp 3-component vector of uint)
+0:98          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:98            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:98              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:98              'invocation' ( temp uint)
+0:98            Constant:
+0:98              2 (const int)
+0:98          Sequence
+0:98            Constant:
+0:98              0 (const int)
+0:98            Constant:
+0:98              1 (const int)
+0:98            Constant:
+0:98              2 (const int)
+0:98        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:98          vector swizzle ( temp 3-component vector of uint)
+0:98            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:98              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:98                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:98                Constant:
+0:98                  2 (const int)
+0:98              Constant:
+0:98                2 (const int)
+0:98            Sequence
+0:98              Constant:
+0:98                0 (const int)
+0:98              Constant:
+0:98                1 (const int)
+0:98              Constant:
+0:98                2 (const int)
+0:98          'ballot' ( temp 4-component vector of uint)
+0:99      move second child to first child ( temp 4-component vector of uint)
+0:99        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:99          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99            'invocation' ( temp uint)
+0:99          Constant:
+0:99            2 (const int)
+0:99        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:99          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:99            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              Constant:
+0:99                3 (const int)
+0:99            Constant:
+0:99              2 (const int)
+0:99          'ballot' ( temp 4-component vector of uint)
+0:101      move second child to first child ( temp double)
+0:101        direct index ( temp double)
+0:101          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:101            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'invocation' ( temp uint)
+0:101            Constant:
+0:101              3 (const int)
+0:101          Constant:
+0:101            0 (const int)
+0:101        ERROR: Bad aggregation op
+ ( global double)
+0:101          direct index ( temp double)
+0:101            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                Constant:
+0:101                  0 (const int)
+0:101              Constant:
+0:101                3 (const int)
+0:101            Constant:
+0:101              0 (const int)
+0:101          'ballot' ( temp 4-component vector of uint)
+0:102      move second child to first child ( temp 2-component vector of double)
+0:102        vector swizzle ( temp 2-component vector of double)
+0:102          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:102            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              'invocation' ( temp uint)
+0:102            Constant:
+0:102              3 (const int)
+0:102          Sequence
+0:102            Constant:
+0:102              0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:102          vector swizzle ( temp 2-component vector of double)
+0:102            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:102              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102                Constant:
+0:102                  1 (const int)
+0:102              Constant:
+0:102                3 (const int)
+0:102            Sequence
+0:102              Constant:
+0:102                0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102          'ballot' ( temp 4-component vector of uint)
+0:103      move second child to first child ( temp 3-component vector of double)
+0:103        vector swizzle ( temp 3-component vector of double)
+0:103          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:103            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:103              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:103              'invocation' ( temp uint)
+0:103            Constant:
+0:103              3 (const int)
+0:103          Sequence
+0:103            Constant:
+0:103              0 (const int)
+0:103            Constant:
+0:103              1 (const int)
+0:103            Constant:
+0:103              2 (const int)
+0:103        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:103          vector swizzle ( temp 3-component vector of double)
+0:103            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:103              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:103                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:103                Constant:
+0:103                  2 (const int)
+0:103              Constant:
+0:103                3 (const int)
+0:103            Sequence
+0:103              Constant:
+0:103                0 (const int)
+0:103              Constant:
+0:103                1 (const int)
+0:103              Constant:
+0:103                2 (const int)
+0:103          'ballot' ( temp 4-component vector of uint)
+0:104      move second child to first child ( temp 4-component vector of double)
+0:104        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:104          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104            'invocation' ( temp uint)
+0:104          Constant:
+0:104            3 (const int)
+0:104        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:104          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:104            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              Constant:
+0:104                3 (const int)
+0:104            Constant:
+0:104              3 (const int)
+0:104          'ballot' ( temp 4-component vector of uint)
+0:106      move second child to first child ( temp float)
+0:106        direct index ( temp float)
+0:106          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:106            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'invocation' ( temp uint)
+0:106            Constant:
+0:106              0 (const int)
+0:106          Constant:
+0:106            0 (const int)
+0:106        ERROR: Bad aggregation op
+ ( global float)
+0:106          direct index ( temp float)
+0:106            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                Constant:
+0:106                  0 (const int)
+0:106              Constant:
+0:106                0 (const int)
+0:106            Constant:
+0:106              0 (const int)
+0:106          'ballot' ( temp 4-component vector of uint)
+0:107      move second child to first child ( temp 2-component vector of float)
+0:107        vector swizzle ( temp 2-component vector of float)
+0:107          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:107            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              'invocation' ( temp uint)
+0:107            Constant:
+0:107              0 (const int)
+0:107          Sequence
+0:107            Constant:
+0:107              0 (const int)
+0:107            Constant:
+0:107              1 (const int)
+0:107        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:107          vector swizzle ( temp 2-component vector of float)
+0:107            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:107              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107                Constant:
+0:107                  1 (const int)
+0:107              Constant:
+0:107                0 (const int)
+0:107            Sequence
+0:107              Constant:
+0:107                0 (const int)
+0:107              Constant:
+0:107                1 (const int)
+0:107          'ballot' ( temp 4-component vector of uint)
+0:108      move second child to first child ( temp 3-component vector of float)
+0:108        vector swizzle ( temp 3-component vector of float)
+0:108          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:108            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:108              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:108              'invocation' ( temp uint)
+0:108            Constant:
+0:108              0 (const int)
+0:108          Sequence
+0:108            Constant:
+0:108              0 (const int)
+0:108            Constant:
+0:108              1 (const int)
+0:108            Constant:
+0:108              2 (const int)
+0:108        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:108          vector swizzle ( temp 3-component vector of float)
+0:108            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:108              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:108                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:108                Constant:
+0:108                  2 (const int)
+0:108              Constant:
+0:108                0 (const int)
+0:108            Sequence
+0:108              Constant:
+0:108                0 (const int)
+0:108              Constant:
+0:108                1 (const int)
+0:108              Constant:
+0:108                2 (const int)
+0:108          'ballot' ( temp 4-component vector of uint)
+0:109      move second child to first child ( temp 4-component vector of float)
+0:109        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:109          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109            'invocation' ( temp uint)
+0:109          Constant:
+0:109            0 (const int)
+0:109        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:109          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:109            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              Constant:
+0:109                3 (const int)
+0:109            Constant:
+0:109              0 (const int)
+0:109          'ballot' ( temp 4-component vector of uint)
+0:111      move second child to first child ( temp int)
+0:111        direct index ( temp int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'invocation' ( temp uint)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Constant:
+0:111            0 (const int)
+0:111        ERROR: Bad aggregation op
+ ( global int)
+0:111          direct index ( temp int)
+0:111            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                Constant:
+0:111                  0 (const int)
+0:111              Constant:
+0:111                1 (const int)
+0:111            Constant:
+0:111              0 (const int)
+0:111          'ballot' ( temp 4-component vector of uint)
+0:112      move second child to first child ( temp 2-component vector of int)
+0:112        vector swizzle ( temp 2-component vector of int)
+0:112          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112              'invocation' ( temp uint)
+0:112            Constant:
+0:112              1 (const int)
+0:112          Sequence
+0:112            Constant:
+0:112              0 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:112          vector swizzle ( temp 2-component vector of int)
+0:112            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                Constant:
+0:112                  1 (const int)
+0:112              Constant:
+0:112                1 (const int)
+0:112            Sequence
+0:112              Constant:
+0:112                0 (const int)
+0:112              Constant:
+0:112                1 (const int)
+0:112          'ballot' ( temp 4-component vector of uint)
+0:113      move second child to first child ( temp 3-component vector of int)
+0:113        vector swizzle ( temp 3-component vector of int)
+0:113          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:113            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:113              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:113              'invocation' ( temp uint)
+0:113            Constant:
+0:113              1 (const int)
+0:113          Sequence
+0:113            Constant:
+0:113              0 (const int)
+0:113            Constant:
+0:113              1 (const int)
+0:113            Constant:
+0:113              2 (const int)
+0:113        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:113          vector swizzle ( temp 3-component vector of int)
+0:113            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:113              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:113                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:113                Constant:
+0:113                  2 (const int)
+0:113              Constant:
+0:113                1 (const int)
+0:113            Sequence
+0:113              Constant:
+0:113                0 (const int)
+0:113              Constant:
+0:113                1 (const int)
+0:113              Constant:
+0:113                2 (const int)
+0:113          'ballot' ( temp 4-component vector of uint)
+0:114      move second child to first child ( temp 4-component vector of int)
+0:114        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114            'invocation' ( temp uint)
+0:114          Constant:
+0:114            1 (const int)
+0:114        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:114          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              Constant:
+0:114                3 (const int)
+0:114            Constant:
+0:114              1 (const int)
+0:114          'ballot' ( temp 4-component vector of uint)
+0:116      move second child to first child ( temp uint)
+0:116        direct index ( temp uint)
+0:116          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:116            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'invocation' ( temp uint)
+0:116            Constant:
+0:116              2 (const int)
+0:116          Constant:
+0:116            0 (const int)
+0:116        ERROR: Bad aggregation op
+ ( global uint)
+0:116          direct index ( temp uint)
+0:116            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:116              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                Constant:
+0:116                  0 (const int)
+0:116              Constant:
+0:116                2 (const int)
+0:116            Constant:
+0:116              0 (const int)
+0:116          'ballot' ( temp 4-component vector of uint)
+0:117      move second child to first child ( temp 2-component vector of uint)
+0:117        vector swizzle ( temp 2-component vector of uint)
+0:117          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:117            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              'invocation' ( temp uint)
+0:117            Constant:
+0:117              2 (const int)
+0:117          Sequence
+0:117            Constant:
+0:117              0 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:117          vector swizzle ( temp 2-component vector of uint)
+0:117            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:117              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117                Constant:
+0:117                  1 (const int)
+0:117              Constant:
+0:117                2 (const int)
+0:117            Sequence
+0:117              Constant:
+0:117                0 (const int)
+0:117              Constant:
+0:117                1 (const int)
+0:117          'ballot' ( temp 4-component vector of uint)
+0:118      move second child to first child ( temp 3-component vector of uint)
+0:118        vector swizzle ( temp 3-component vector of uint)
+0:118          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:118            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:118              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:118              'invocation' ( temp uint)
+0:118            Constant:
+0:118              2 (const int)
+0:118          Sequence
+0:118            Constant:
+0:118              0 (const int)
+0:118            Constant:
+0:118              1 (const int)
+0:118            Constant:
+0:118              2 (const int)
+0:118        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:118          vector swizzle ( temp 3-component vector of uint)
+0:118            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:118              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:118                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:118                Constant:
+0:118                  2 (const int)
+0:118              Constant:
+0:118                2 (const int)
+0:118            Sequence
+0:118              Constant:
+0:118                0 (const int)
+0:118              Constant:
+0:118                1 (const int)
+0:118              Constant:
+0:118                2 (const int)
+0:118          'ballot' ( temp 4-component vector of uint)
+0:119      move second child to first child ( temp 4-component vector of uint)
+0:119        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119            'invocation' ( temp uint)
+0:119          Constant:
+0:119            2 (const int)
+0:119        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:119          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              Constant:
+0:119                3 (const int)
+0:119            Constant:
+0:119              2 (const int)
+0:119          'ballot' ( temp 4-component vector of uint)
+0:121      move second child to first child ( temp double)
+0:121        direct index ( temp double)
+0:121          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:121            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'invocation' ( temp uint)
+0:121            Constant:
+0:121              3 (const int)
+0:121          Constant:
+0:121            0 (const int)
+0:121        ERROR: Bad aggregation op
+ ( global double)
+0:121          direct index ( temp double)
+0:121            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:121              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                Constant:
+0:121                  0 (const int)
+0:121              Constant:
+0:121                3 (const int)
+0:121            Constant:
+0:121              0 (const int)
+0:121          'ballot' ( temp 4-component vector of uint)
+0:122      move second child to first child ( temp 2-component vector of double)
+0:122        vector swizzle ( temp 2-component vector of double)
+0:122          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:122            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              'invocation' ( temp uint)
+0:122            Constant:
+0:122              3 (const int)
+0:122          Sequence
+0:122            Constant:
+0:122              0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:122          vector swizzle ( temp 2-component vector of double)
+0:122            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:122              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122                Constant:
+0:122                  1 (const int)
+0:122              Constant:
+0:122                3 (const int)
+0:122            Sequence
+0:122              Constant:
+0:122                0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122          'ballot' ( temp 4-component vector of uint)
+0:123      move second child to first child ( temp 3-component vector of double)
+0:123        vector swizzle ( temp 3-component vector of double)
+0:123          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:123            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:123              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:123              'invocation' ( temp uint)
+0:123            Constant:
+0:123              3 (const int)
+0:123          Sequence
+0:123            Constant:
+0:123              0 (const int)
+0:123            Constant:
+0:123              1 (const int)
+0:123            Constant:
+0:123              2 (const int)
+0:123        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:123          vector swizzle ( temp 3-component vector of double)
+0:123            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:123              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:123                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:123                Constant:
+0:123                  2 (const int)
+0:123              Constant:
+0:123                3 (const int)
+0:123            Sequence
+0:123              Constant:
+0:123                0 (const int)
+0:123              Constant:
+0:123                1 (const int)
+0:123              Constant:
+0:123                2 (const int)
+0:123          'ballot' ( temp 4-component vector of uint)
+0:124      move second child to first child ( temp 4-component vector of double)
+0:124        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:124          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124            'invocation' ( temp uint)
+0:124          Constant:
+0:124            3 (const int)
+0:124        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:124          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:124            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              Constant:
+0:124                3 (const int)
+0:124            Constant:
+0:124              3 (const int)
+0:124          'ballot' ( temp 4-component vector of uint)
+0:126      move second child to first child ( temp int)
+0:126        direct index ( temp int)
+0:126          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'invocation' ( temp uint)
+0:126            Constant:
+0:126              1 (const int)
+0:126          Constant:
+0:126            0 (const int)
+0:126        ERROR: Bad aggregation op
+ ( global int)
+0:126          direct index ( temp int)
+0:126            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                Constant:
+0:126                  0 (const int)
+0:126              Constant:
+0:126                1 (const int)
+0:126            Constant:
+0:126              0 (const int)
+0:126          'ballot' ( temp 4-component vector of uint)
+0:127      move second child to first child ( temp 2-component vector of int)
+0:127        vector swizzle ( temp 2-component vector of int)
+0:127          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127              'invocation' ( temp uint)
+0:127            Constant:
+0:127              1 (const int)
+0:127          Sequence
+0:127            Constant:
+0:127              0 (const int)
+0:127            Constant:
+0:127              1 (const int)
+0:127        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:127          vector swizzle ( temp 2-component vector of int)
+0:127            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                Constant:
+0:127                  1 (const int)
+0:127              Constant:
+0:127                1 (const int)
+0:127            Sequence
+0:127              Constant:
+0:127                0 (const int)
+0:127              Constant:
+0:127                1 (const int)
+0:127          'ballot' ( temp 4-component vector of uint)
+0:128      move second child to first child ( temp 3-component vector of int)
+0:128        vector swizzle ( temp 3-component vector of int)
+0:128          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:128            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:128              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:128              'invocation' ( temp uint)
+0:128            Constant:
+0:128              1 (const int)
+0:128          Sequence
+0:128            Constant:
+0:128              0 (const int)
+0:128            Constant:
+0:128              1 (const int)
+0:128            Constant:
+0:128              2 (const int)
+0:128        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:128          vector swizzle ( temp 3-component vector of int)
+0:128            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:128              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:128                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:128                Constant:
+0:128                  2 (const int)
+0:128              Constant:
+0:128                1 (const int)
+0:128            Sequence
+0:128              Constant:
+0:128                0 (const int)
+0:128              Constant:
+0:128                1 (const int)
+0:128              Constant:
+0:128                2 (const int)
+0:128          'ballot' ( temp 4-component vector of uint)
+0:129      move second child to first child ( temp 4-component vector of int)
+0:129        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129            'invocation' ( temp uint)
+0:129          Constant:
+0:129            1 (const int)
+0:129        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:129          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              Constant:
+0:129                3 (const int)
+0:129            Constant:
+0:129              1 (const int)
+0:129          'ballot' ( temp 4-component vector of uint)
+0:131      move second child to first child ( temp uint)
+0:131        direct index ( temp uint)
+0:131          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:131            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'invocation' ( temp uint)
+0:131            Constant:
+0:131              2 (const int)
+0:131          Constant:
+0:131            0 (const int)
+0:131        ERROR: Bad aggregation op
+ ( global uint)
+0:131          direct index ( temp uint)
+0:131            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:131              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                Constant:
+0:131                  0 (const int)
+0:131              Constant:
+0:131                2 (const int)
+0:131            Constant:
+0:131              0 (const int)
+0:131          'ballot' ( temp 4-component vector of uint)
+0:132      move second child to first child ( temp 2-component vector of uint)
+0:132        vector swizzle ( temp 2-component vector of uint)
+0:132          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:132            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              'invocation' ( temp uint)
+0:132            Constant:
+0:132              2 (const int)
+0:132          Sequence
+0:132            Constant:
+0:132              0 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:132        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:132          vector swizzle ( temp 2-component vector of uint)
+0:132            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:132              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132                Constant:
+0:132                  1 (const int)
+0:132              Constant:
+0:132                2 (const int)
+0:132            Sequence
+0:132              Constant:
+0:132                0 (const int)
+0:132              Constant:
+0:132                1 (const int)
+0:132          'ballot' ( temp 4-component vector of uint)
+0:133      move second child to first child ( temp 3-component vector of uint)
+0:133        vector swizzle ( temp 3-component vector of uint)
+0:133          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:133            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:133              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:133              'invocation' ( temp uint)
+0:133            Constant:
+0:133              2 (const int)
+0:133          Sequence
+0:133            Constant:
+0:133              0 (const int)
+0:133            Constant:
+0:133              1 (const int)
+0:133            Constant:
+0:133              2 (const int)
+0:133        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:133          vector swizzle ( temp 3-component vector of uint)
+0:133            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:133              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:133                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:133                Constant:
+0:133                  2 (const int)
+0:133              Constant:
+0:133                2 (const int)
+0:133            Sequence
+0:133              Constant:
+0:133                0 (const int)
+0:133              Constant:
+0:133                1 (const int)
+0:133              Constant:
+0:133                2 (const int)
+0:133          'ballot' ( temp 4-component vector of uint)
+0:134      move second child to first child ( temp 4-component vector of uint)
+0:134        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134            'invocation' ( temp uint)
+0:134          Constant:
+0:134            2 (const int)
+0:134        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:134          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              Constant:
+0:134                3 (const int)
+0:134            Constant:
+0:134              2 (const int)
+0:134          'ballot' ( temp 4-component vector of uint)
+0:136      move second child to first child ( temp int)
+0:136        direct index ( temp int)
+0:136          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:136            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'invocation' ( temp uint)
+0:136            Constant:
+0:136              1 (const int)
+0:136          Constant:
+0:136            0 (const int)
+0:136        Convert bool to int ( temp int)
+0:136          ERROR: Bad aggregation op
+ ( global bool)
+0:136            Compare Less Than ( temp bool)
+0:136              direct index ( temp int)
+0:136                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:136                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                    Constant:
+0:136                      0 (const int)
+0:136                  Constant:
+0:136                    1 (const int)
+0:136                Constant:
+0:136                  0 (const int)
+0:136              Constant:
+0:136                0 (const int)
+0:136            'ballot' ( temp 4-component vector of uint)
+0:137      move second child to first child ( temp 2-component vector of int)
+0:137        vector swizzle ( temp 2-component vector of int)
+0:137          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:137            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              'invocation' ( temp uint)
+0:137            Constant:
+0:137              1 (const int)
+0:137          Sequence
+0:137            Constant:
+0:137              0 (const int)
+0:137            Constant:
+0:137              1 (const int)
+0:137        Convert bool to int ( temp 2-component vector of int)
+0:137          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:137            Compare Less Than ( global 2-component vector of bool)
+0:137              vector swizzle ( temp 2-component vector of int)
+0:137                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:137                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137                    Constant:
+0:137                      1 (const int)
+0:137                  Constant:
+0:137                    1 (const int)
+0:137                Sequence
+0:137                  Constant:
+0:137                    0 (const int)
+0:137                  Constant:
+0:137                    1 (const int)
+0:137              Constant:
+0:137                0 (const int)
+0:137                0 (const int)
+0:137            'ballot' ( temp 4-component vector of uint)
+0:138      move second child to first child ( temp 3-component vector of int)
+0:138        vector swizzle ( temp 3-component vector of int)
+0:138          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:138            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:138              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:138              'invocation' ( temp uint)
+0:138            Constant:
+0:138              1 (const int)
+0:138          Sequence
+0:138            Constant:
+0:138              0 (const int)
+0:138            Constant:
+0:138              1 (const int)
+0:138            Constant:
+0:138              2 (const int)
+0:138        Convert bool to int ( temp 3-component vector of int)
+0:138          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:138            Compare Less Than ( global 3-component vector of bool)
+0:138              vector swizzle ( temp 3-component vector of int)
+0:138                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:138                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:138                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:138                    Constant:
+0:138                      1 (const int)
+0:138                  Constant:
+0:138                    1 (const int)
+0:138                Sequence
+0:138                  Constant:
+0:138                    0 (const int)
+0:138                  Constant:
+0:138                    1 (const int)
+0:138                  Constant:
+0:138                    2 (const int)
+0:138              Constant:
+0:138                0 (const int)
+0:138                0 (const int)
+0:138                0 (const int)
+0:138            'ballot' ( temp 4-component vector of uint)
+0:139      move second child to first child ( temp 4-component vector of int)
+0:139        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139            'invocation' ( temp uint)
+0:139          Constant:
+0:139            1 (const int)
+0:139        Convert bool to int ( temp 4-component vector of int)
+0:139          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:139            Compare Less Than ( global 4-component vector of bool)
+0:139              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                  Constant:
+0:139                    1 (const int)
+0:139                Constant:
+0:139                  1 (const int)
+0:139              Constant:
+0:139                0 (const int)
+0:139                0 (const int)
+0:139                0 (const int)
+0:139                0 (const int)
+0:139            'ballot' ( temp 4-component vector of uint)
+0:141      move second child to first child ( temp int)
+0:141        direct index ( temp int)
+0:141          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'invocation' ( temp uint)
+0:141            Constant:
+0:141              1 (const int)
+0:141          Constant:
+0:141            0 (const int)
+0:141        ERROR: Bad aggregation op
+ ( global int)
+0:141          direct index ( temp int)
+0:141            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                Constant:
+0:141                  0 (const int)
+0:141              Constant:
+0:141                1 (const int)
+0:141            Constant:
+0:141              0 (const int)
+0:141          'ballot' ( temp 4-component vector of uint)
+0:142      move second child to first child ( temp 2-component vector of int)
+0:142        vector swizzle ( temp 2-component vector of int)
+0:142          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142              'invocation' ( temp uint)
+0:142            Constant:
+0:142              1 (const int)
+0:142          Sequence
+0:142            Constant:
+0:142              0 (const int)
+0:142            Constant:
+0:142              1 (const int)
+0:142        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:142          vector swizzle ( temp 2-component vector of int)
+0:142            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                Constant:
+0:142                  1 (const int)
+0:142              Constant:
+0:142                1 (const int)
+0:142            Sequence
+0:142              Constant:
+0:142                0 (const int)
+0:142              Constant:
+0:142                1 (const int)
+0:142          'ballot' ( temp 4-component vector of uint)
+0:143      move second child to first child ( temp 3-component vector of int)
+0:143        vector swizzle ( temp 3-component vector of int)
+0:143          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:143            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:143              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:143              'invocation' ( temp uint)
+0:143            Constant:
+0:143              1 (const int)
+0:143          Sequence
+0:143            Constant:
+0:143              0 (const int)
+0:143            Constant:
+0:143              1 (const int)
+0:143            Constant:
+0:143              2 (const int)
+0:143        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:143          vector swizzle ( temp 3-component vector of int)
+0:143            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:143              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:143                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:143                Constant:
+0:143                  2 (const int)
+0:143              Constant:
+0:143                1 (const int)
+0:143            Sequence
+0:143              Constant:
+0:143                0 (const int)
+0:143              Constant:
+0:143                1 (const int)
+0:143              Constant:
+0:143                2 (const int)
+0:143          'ballot' ( temp 4-component vector of uint)
+0:144      move second child to first child ( temp 4-component vector of int)
+0:144        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:144          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144            'invocation' ( temp uint)
+0:144          Constant:
+0:144            1 (const int)
+0:144        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:144          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:144            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144              Constant:
+0:144                3 (const int)
+0:144            Constant:
+0:144              1 (const int)
+0:144          'ballot' ( temp 4-component vector of uint)
+0:146      move second child to first child ( temp uint)
+0:146        direct index ( temp uint)
+0:146          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:146            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146              'invocation' ( temp uint)
+0:146            Constant:
+0:146              2 (const int)
+0:146          Constant:
+0:146            0 (const int)
+0:146        ERROR: Bad aggregation op
+ ( global uint)
+0:146          direct index ( temp uint)
+0:146            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:146              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146                Constant:
+0:146                  0 (const int)
+0:146              Constant:
+0:146                2 (const int)
+0:146            Constant:
+0:146              0 (const int)
+0:146          'ballot' ( temp 4-component vector of uint)
+0:147      move second child to first child ( temp 2-component vector of uint)
+0:147        vector swizzle ( temp 2-component vector of uint)
+0:147          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:147            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147              'invocation' ( temp uint)
+0:147            Constant:
+0:147              2 (const int)
+0:147          Sequence
+0:147            Constant:
+0:147              0 (const int)
+0:147            Constant:
+0:147              1 (const int)
+0:147        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:147          vector swizzle ( temp 2-component vector of uint)
+0:147            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:147              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147                Constant:
+0:147                  1 (const int)
+0:147              Constant:
+0:147                2 (const int)
+0:147            Sequence
+0:147              Constant:
+0:147                0 (const int)
+0:147              Constant:
+0:147                1 (const int)
+0:147          'ballot' ( temp 4-component vector of uint)
+0:148      move second child to first child ( temp 3-component vector of uint)
+0:148        vector swizzle ( temp 3-component vector of uint)
+0:148          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:148            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:148              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:148              'invocation' ( temp uint)
+0:148            Constant:
+0:148              2 (const int)
+0:148          Sequence
+0:148            Constant:
+0:148              0 (const int)
+0:148            Constant:
+0:148              1 (const int)
+0:148            Constant:
+0:148              2 (const int)
+0:148        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:148          vector swizzle ( temp 3-component vector of uint)
+0:148            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:148              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:148                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:148                Constant:
+0:148                  2 (const int)
+0:148              Constant:
+0:148                2 (const int)
+0:148            Sequence
+0:148              Constant:
+0:148                0 (const int)
+0:148              Constant:
+0:148                1 (const int)
+0:148              Constant:
+0:148                2 (const int)
+0:148          'ballot' ( temp 4-component vector of uint)
+0:149      move second child to first child ( temp 4-component vector of uint)
+0:149        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:149          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149            'invocation' ( temp uint)
+0:149          Constant:
+0:149            2 (const int)
+0:149        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:149          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:149            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149              Constant:
+0:149                3 (const int)
+0:149            Constant:
+0:149              2 (const int)
+0:149          'ballot' ( temp 4-component vector of uint)
+0:151      move second child to first child ( temp int)
+0:151        direct index ( temp int)
+0:151          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:151            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151              'invocation' ( temp uint)
+0:151            Constant:
+0:151              1 (const int)
+0:151          Constant:
+0:151            0 (const int)
+0:151        Convert bool to int ( temp int)
+0:151          ERROR: Bad aggregation op
+ ( global bool)
+0:151            Compare Less Than ( temp bool)
+0:151              direct index ( temp int)
+0:151                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:151                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151                    Constant:
+0:151                      0 (const int)
+0:151                  Constant:
+0:151                    1 (const int)
+0:151                Constant:
+0:151                  0 (const int)
+0:151              Constant:
+0:151                0 (const int)
+0:151            'ballot' ( temp 4-component vector of uint)
+0:152      move second child to first child ( temp 2-component vector of int)
+0:152        vector swizzle ( temp 2-component vector of int)
+0:152          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:152            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152              'invocation' ( temp uint)
+0:152            Constant:
+0:152              1 (const int)
+0:152          Sequence
+0:152            Constant:
+0:152              0 (const int)
+0:152            Constant:
+0:152              1 (const int)
+0:152        Convert bool to int ( temp 2-component vector of int)
+0:152          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:152            Compare Less Than ( global 2-component vector of bool)
+0:152              vector swizzle ( temp 2-component vector of int)
+0:152                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:152                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152                    Constant:
+0:152                      1 (const int)
+0:152                  Constant:
+0:152                    1 (const int)
+0:152                Sequence
+0:152                  Constant:
+0:152                    0 (const int)
+0:152                  Constant:
+0:152                    1 (const int)
+0:152              Constant:
+0:152                0 (const int)
+0:152                0 (const int)
+0:152            'ballot' ( temp 4-component vector of uint)
+0:153      move second child to first child ( temp 3-component vector of int)
+0:153        vector swizzle ( temp 3-component vector of int)
+0:153          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:153            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:153              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:153              'invocation' ( temp uint)
+0:153            Constant:
+0:153              1 (const int)
+0:153          Sequence
+0:153            Constant:
+0:153              0 (const int)
+0:153            Constant:
+0:153              1 (const int)
+0:153            Constant:
+0:153              2 (const int)
+0:153        Convert bool to int ( temp 3-component vector of int)
+0:153          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:153            Compare Less Than ( global 3-component vector of bool)
+0:153              vector swizzle ( temp 3-component vector of int)
+0:153                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:153                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:153                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:153                    Constant:
+0:153                      1 (const int)
+0:153                  Constant:
+0:153                    1 (const int)
+0:153                Sequence
+0:153                  Constant:
+0:153                    0 (const int)
+0:153                  Constant:
+0:153                    1 (const int)
+0:153                  Constant:
+0:153                    2 (const int)
+0:153              Constant:
+0:153                0 (const int)
+0:153                0 (const int)
+0:153                0 (const int)
+0:153            'ballot' ( temp 4-component vector of uint)
+0:154      move second child to first child ( temp 4-component vector of int)
+0:154        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:154          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154            'invocation' ( temp uint)
+0:154          Constant:
+0:154            1 (const int)
+0:154        Convert bool to int ( temp 4-component vector of int)
+0:154          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:154            Compare Less Than ( global 4-component vector of bool)
+0:154              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:154                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154                  Constant:
+0:154                    1 (const int)
+0:154                Constant:
+0:154                  1 (const int)
+0:154              Constant:
+0:154                0 (const int)
+0:154                0 (const int)
+0:154                0 (const int)
+0:154                0 (const int)
+0:154            'ballot' ( temp 4-component vector of uint)
+0:156      move second child to first child ( temp int)
+0:156        direct index ( temp int)
+0:156          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:156            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156              'invocation' ( temp uint)
+0:156            Constant:
+0:156              1 (const int)
+0:156          Constant:
+0:156            0 (const int)
+0:156        ERROR: Bad aggregation op
+ ( global int)
+0:156          direct index ( temp int)
+0:156            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:156              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156                Constant:
+0:156                  0 (const int)
+0:156              Constant:
+0:156                1 (const int)
+0:156            Constant:
+0:156              0 (const int)
+0:156          'ballot' ( temp 4-component vector of uint)
+0:157      move second child to first child ( temp 2-component vector of int)
+0:157        vector swizzle ( temp 2-component vector of int)
+0:157          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:157            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157              'invocation' ( temp uint)
+0:157            Constant:
+0:157              1 (const int)
+0:157          Sequence
+0:157            Constant:
+0:157              0 (const int)
+0:157            Constant:
+0:157              1 (const int)
+0:157        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:157          vector swizzle ( temp 2-component vector of int)
+0:157            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:157              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157                Constant:
+0:157                  1 (const int)
+0:157              Constant:
+0:157                1 (const int)
+0:157            Sequence
+0:157              Constant:
+0:157                0 (const int)
+0:157              Constant:
+0:157                1 (const int)
+0:157          'ballot' ( temp 4-component vector of uint)
+0:158      move second child to first child ( temp 3-component vector of int)
+0:158        vector swizzle ( temp 3-component vector of int)
+0:158          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:158            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:158              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:158              'invocation' ( temp uint)
+0:158            Constant:
+0:158              1 (const int)
+0:158          Sequence
+0:158            Constant:
+0:158              0 (const int)
+0:158            Constant:
+0:158              1 (const int)
+0:158            Constant:
+0:158              2 (const int)
+0:158        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:158          vector swizzle ( temp 3-component vector of int)
+0:158            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:158              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:158                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:158                Constant:
+0:158                  2 (const int)
+0:158              Constant:
+0:158                1 (const int)
+0:158            Sequence
+0:158              Constant:
+0:158                0 (const int)
+0:158              Constant:
+0:158                1 (const int)
+0:158              Constant:
+0:158                2 (const int)
+0:158          'ballot' ( temp 4-component vector of uint)
+0:159      move second child to first child ( temp 4-component vector of int)
+0:159        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:159          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159            'invocation' ( temp uint)
+0:159          Constant:
+0:159            1 (const int)
+0:159        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:159          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:159            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159              Constant:
+0:159                3 (const int)
+0:159            Constant:
+0:159              1 (const int)
+0:159          'ballot' ( temp 4-component vector of uint)
+0:161      move second child to first child ( temp uint)
+0:161        direct index ( temp uint)
+0:161          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:161            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161              'invocation' ( temp uint)
+0:161            Constant:
+0:161              2 (const int)
+0:161          Constant:
+0:161            0 (const int)
+0:161        ERROR: Bad aggregation op
+ ( global uint)
+0:161          direct index ( temp uint)
+0:161            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:161              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161                Constant:
+0:161                  0 (const int)
+0:161              Constant:
+0:161                2 (const int)
+0:161            Constant:
+0:161              0 (const int)
+0:161          'ballot' ( temp 4-component vector of uint)
+0:162      move second child to first child ( temp 2-component vector of uint)
+0:162        vector swizzle ( temp 2-component vector of uint)
+0:162          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:162            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162              'invocation' ( temp uint)
+0:162            Constant:
+0:162              2 (const int)
+0:162          Sequence
+0:162            Constant:
+0:162              0 (const int)
+0:162            Constant:
+0:162              1 (const int)
+0:162        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:162          vector swizzle ( temp 2-component vector of uint)
+0:162            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:162              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162                Constant:
+0:162                  1 (const int)
+0:162              Constant:
+0:162                2 (const int)
+0:162            Sequence
+0:162              Constant:
+0:162                0 (const int)
+0:162              Constant:
+0:162                1 (const int)
+0:162          'ballot' ( temp 4-component vector of uint)
+0:163      move second child to first child ( temp 3-component vector of uint)
+0:163        vector swizzle ( temp 3-component vector of uint)
+0:163          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:163            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:163              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:163              'invocation' ( temp uint)
+0:163            Constant:
+0:163              2 (const int)
+0:163          Sequence
+0:163            Constant:
+0:163              0 (const int)
+0:163            Constant:
+0:163              1 (const int)
+0:163            Constant:
+0:163              2 (const int)
+0:163        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:163          vector swizzle ( temp 3-component vector of uint)
+0:163            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:163              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:163                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:163                Constant:
+0:163                  2 (const int)
+0:163              Constant:
+0:163                2 (const int)
+0:163            Sequence
+0:163              Constant:
+0:163                0 (const int)
+0:163              Constant:
+0:163                1 (const int)
+0:163              Constant:
+0:163                2 (const int)
+0:163          'ballot' ( temp 4-component vector of uint)
+0:164      move second child to first child ( temp 4-component vector of uint)
+0:164        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:164          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164            'invocation' ( temp uint)
+0:164          Constant:
+0:164            2 (const int)
+0:164        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:164          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:164            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164              Constant:
+0:164                3 (const int)
+0:164            Constant:
+0:164              2 (const int)
+0:164          'ballot' ( temp 4-component vector of uint)
+0:166      move second child to first child ( temp int)
+0:166        direct index ( temp int)
+0:166          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:166            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166              'invocation' ( temp uint)
+0:166            Constant:
+0:166              1 (const int)
+0:166          Constant:
+0:166            0 (const int)
+0:166        Convert bool to int ( temp int)
+0:166          ERROR: Bad aggregation op
+ ( global bool)
+0:166            Compare Less Than ( temp bool)
+0:166              direct index ( temp int)
+0:166                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:166                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166                    Constant:
+0:166                      0 (const int)
+0:166                  Constant:
+0:166                    1 (const int)
+0:166                Constant:
+0:166                  0 (const int)
+0:166              Constant:
+0:166                0 (const int)
+0:166            'ballot' ( temp 4-component vector of uint)
+0:167      move second child to first child ( temp 2-component vector of int)
+0:167        vector swizzle ( temp 2-component vector of int)
+0:167          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:167            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167              'invocation' ( temp uint)
+0:167            Constant:
+0:167              1 (const int)
+0:167          Sequence
+0:167            Constant:
+0:167              0 (const int)
+0:167            Constant:
+0:167              1 (const int)
+0:167        Convert bool to int ( temp 2-component vector of int)
+0:167          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:167            Compare Less Than ( global 2-component vector of bool)
+0:167              vector swizzle ( temp 2-component vector of int)
+0:167                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:167                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167                    Constant:
+0:167                      1 (const int)
+0:167                  Constant:
+0:167                    1 (const int)
+0:167                Sequence
+0:167                  Constant:
+0:167                    0 (const int)
+0:167                  Constant:
+0:167                    1 (const int)
+0:167              Constant:
+0:167                0 (const int)
+0:167                0 (const int)
+0:167            'ballot' ( temp 4-component vector of uint)
+0:168      move second child to first child ( temp 3-component vector of int)
+0:168        vector swizzle ( temp 3-component vector of int)
+0:168          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:168            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:168              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:168              'invocation' ( temp uint)
+0:168            Constant:
+0:168              1 (const int)
+0:168          Sequence
+0:168            Constant:
+0:168              0 (const int)
+0:168            Constant:
+0:168              1 (const int)
+0:168            Constant:
+0:168              2 (const int)
+0:168        Convert bool to int ( temp 3-component vector of int)
+0:168          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:168            Compare Less Than ( global 3-component vector of bool)
+0:168              vector swizzle ( temp 3-component vector of int)
+0:168                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:168                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:168                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:168                    Constant:
+0:168                      1 (const int)
+0:168                  Constant:
+0:168                    1 (const int)
+0:168                Sequence
+0:168                  Constant:
+0:168                    0 (const int)
+0:168                  Constant:
+0:168                    1 (const int)
+0:168                  Constant:
+0:168                    2 (const int)
+0:168              Constant:
+0:168                0 (const int)
+0:168                0 (const int)
+0:168                0 (const int)
+0:168            'ballot' ( temp 4-component vector of uint)
+0:169      move second child to first child ( temp 4-component vector of int)
+0:169        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:169          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169            'invocation' ( temp uint)
+0:169          Constant:
+0:169            1 (const int)
+0:169        Convert bool to int ( temp 4-component vector of int)
+0:169          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:169            Compare Less Than ( global 4-component vector of bool)
+0:169              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:169                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169                  Constant:
+0:169                    1 (const int)
+0:169                Constant:
+0:169                  1 (const int)
+0:169              Constant:
+0:169                0 (const int)
+0:169                0 (const int)
+0:169                0 (const int)
+0:169                0 (const int)
+0:169            'ballot' ( temp 4-component vector of uint)
+0:171      move second child to first child ( temp float)
+0:171        direct index ( temp float)
+0:171          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:171            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171              'invocation' ( temp uint)
+0:171            Constant:
+0:171              0 (const int)
+0:171          Constant:
+0:171            0 (const int)
+0:171        ERROR: Bad aggregation op
+ ( global float)
+0:171          direct index ( temp float)
+0:171            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:171              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171                Constant:
+0:171                  0 (const int)
+0:171              Constant:
+0:171                0 (const int)
+0:171            Constant:
+0:171              0 (const int)
+0:171          'ballot' ( temp 4-component vector of uint)
+0:172      move second child to first child ( temp 2-component vector of float)
+0:172        vector swizzle ( temp 2-component vector of float)
+0:172          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:172            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172              'invocation' ( temp uint)
+0:172            Constant:
+0:172              0 (const int)
+0:172          Sequence
+0:172            Constant:
+0:172              0 (const int)
+0:172            Constant:
+0:172              1 (const int)
+0:172        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:172          vector swizzle ( temp 2-component vector of float)
+0:172            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:172              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172                Constant:
+0:172                  1 (const int)
+0:172              Constant:
+0:172                0 (const int)
+0:172            Sequence
+0:172              Constant:
+0:172                0 (const int)
+0:172              Constant:
+0:172                1 (const int)
+0:172          'ballot' ( temp 4-component vector of uint)
+0:173      move second child to first child ( temp 3-component vector of float)
+0:173        vector swizzle ( temp 3-component vector of float)
+0:173          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:173            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:173              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:173              'invocation' ( temp uint)
+0:173            Constant:
+0:173              0 (const int)
+0:173          Sequence
+0:173            Constant:
+0:173              0 (const int)
+0:173            Constant:
+0:173              1 (const int)
+0:173            Constant:
+0:173              2 (const int)
+0:173        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:173          vector swizzle ( temp 3-component vector of float)
+0:173            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:173              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:173                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:173                Constant:
+0:173                  2 (const int)
+0:173              Constant:
+0:173                0 (const int)
+0:173            Sequence
+0:173              Constant:
+0:173                0 (const int)
+0:173              Constant:
+0:173                1 (const int)
+0:173              Constant:
+0:173                2 (const int)
+0:173          'ballot' ( temp 4-component vector of uint)
+0:174      move second child to first child ( temp 4-component vector of float)
+0:174        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:174          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174            'invocation' ( temp uint)
+0:174          Constant:
+0:174            0 (const int)
+0:174        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:174          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:174            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174              Constant:
+0:174                3 (const int)
+0:174            Constant:
+0:174              0 (const int)
+0:174          'ballot' ( temp 4-component vector of uint)
+0:176      move second child to first child ( temp int)
+0:176        direct index ( temp int)
+0:176          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:176            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176              'invocation' ( temp uint)
+0:176            Constant:
+0:176              1 (const int)
+0:176          Constant:
+0:176            0 (const int)
+0:176        ERROR: Bad aggregation op
+ ( global int)
+0:176          direct index ( temp int)
+0:176            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:176              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176                Constant:
+0:176                  0 (const int)
+0:176              Constant:
+0:176                1 (const int)
+0:176            Constant:
+0:176              0 (const int)
+0:176          'ballot' ( temp 4-component vector of uint)
+0:177      move second child to first child ( temp 2-component vector of int)
+0:177        vector swizzle ( temp 2-component vector of int)
+0:177          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:177            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177              'invocation' ( temp uint)
+0:177            Constant:
+0:177              1 (const int)
+0:177          Sequence
+0:177            Constant:
+0:177              0 (const int)
+0:177            Constant:
+0:177              1 (const int)
+0:177        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:177          vector swizzle ( temp 2-component vector of int)
+0:177            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:177              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177                Constant:
+0:177                  1 (const int)
+0:177              Constant:
+0:177                1 (const int)
+0:177            Sequence
+0:177              Constant:
+0:177                0 (const int)
+0:177              Constant:
+0:177                1 (const int)
+0:177          'ballot' ( temp 4-component vector of uint)
+0:178      move second child to first child ( temp 3-component vector of int)
+0:178        vector swizzle ( temp 3-component vector of int)
+0:178          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:178            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:178              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:178              'invocation' ( temp uint)
+0:178            Constant:
+0:178              1 (const int)
+0:178          Sequence
+0:178            Constant:
+0:178              0 (const int)
+0:178            Constant:
+0:178              1 (const int)
+0:178            Constant:
+0:178              2 (const int)
+0:178        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:178          vector swizzle ( temp 3-component vector of int)
+0:178            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:178              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:178                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:178                Constant:
+0:178                  2 (const int)
+0:178              Constant:
+0:178                1 (const int)
+0:178            Sequence
+0:178              Constant:
+0:178                0 (const int)
+0:178              Constant:
+0:178                1 (const int)
+0:178              Constant:
+0:178                2 (const int)
+0:178          'ballot' ( temp 4-component vector of uint)
+0:179      move second child to first child ( temp 4-component vector of int)
+0:179        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:179          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179            'invocation' ( temp uint)
+0:179          Constant:
+0:179            1 (const int)
+0:179        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:179          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:179            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179              Constant:
+0:179                3 (const int)
+0:179            Constant:
+0:179              1 (const int)
+0:179          'ballot' ( temp 4-component vector of uint)
+0:181      move second child to first child ( temp uint)
+0:181        direct index ( temp uint)
+0:181          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:181            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181              'invocation' ( temp uint)
+0:181            Constant:
+0:181              2 (const int)
+0:181          Constant:
+0:181            0 (const int)
+0:181        ERROR: Bad aggregation op
+ ( global uint)
+0:181          direct index ( temp uint)
+0:181            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:181              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181                Constant:
+0:181                  0 (const int)
+0:181              Constant:
+0:181                2 (const int)
+0:181            Constant:
+0:181              0 (const int)
+0:181          'ballot' ( temp 4-component vector of uint)
+0:182      move second child to first child ( temp 2-component vector of uint)
+0:182        vector swizzle ( temp 2-component vector of uint)
+0:182          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:182            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182              'invocation' ( temp uint)
+0:182            Constant:
+0:182              2 (const int)
+0:182          Sequence
+0:182            Constant:
+0:182              0 (const int)
+0:182            Constant:
+0:182              1 (const int)
+0:182        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:182          vector swizzle ( temp 2-component vector of uint)
+0:182            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:182              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182                Constant:
+0:182                  1 (const int)
+0:182              Constant:
+0:182                2 (const int)
+0:182            Sequence
+0:182              Constant:
+0:182                0 (const int)
+0:182              Constant:
+0:182                1 (const int)
+0:182          'ballot' ( temp 4-component vector of uint)
+0:183      move second child to first child ( temp 3-component vector of uint)
+0:183        vector swizzle ( temp 3-component vector of uint)
+0:183          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:183            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:183              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:183              'invocation' ( temp uint)
+0:183            Constant:
+0:183              2 (const int)
+0:183          Sequence
+0:183            Constant:
+0:183              0 (const int)
+0:183            Constant:
+0:183              1 (const int)
+0:183            Constant:
+0:183              2 (const int)
+0:183        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:183          vector swizzle ( temp 3-component vector of uint)
+0:183            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:183              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:183                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:183                Constant:
+0:183                  2 (const int)
+0:183              Constant:
+0:183                2 (const int)
+0:183            Sequence
+0:183              Constant:
+0:183                0 (const int)
+0:183              Constant:
+0:183                1 (const int)
+0:183              Constant:
+0:183                2 (const int)
+0:183          'ballot' ( temp 4-component vector of uint)
+0:184      move second child to first child ( temp 4-component vector of uint)
+0:184        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:184          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184            'invocation' ( temp uint)
+0:184          Constant:
+0:184            2 (const int)
+0:184        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:184          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:184            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184              Constant:
+0:184                3 (const int)
+0:184            Constant:
+0:184              2 (const int)
+0:184          'ballot' ( temp 4-component vector of uint)
+0:186      move second child to first child ( temp double)
+0:186        direct index ( temp double)
+0:186          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:186            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186              'invocation' ( temp uint)
+0:186            Constant:
+0:186              3 (const int)
+0:186          Constant:
+0:186            0 (const int)
+0:186        ERROR: Bad aggregation op
+ ( global double)
+0:186          direct index ( temp double)
+0:186            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:186              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186                Constant:
+0:186                  0 (const int)
+0:186              Constant:
+0:186                3 (const int)
+0:186            Constant:
+0:186              0 (const int)
+0:186          'ballot' ( temp 4-component vector of uint)
+0:187      move second child to first child ( temp 2-component vector of double)
+0:187        vector swizzle ( temp 2-component vector of double)
+0:187          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:187            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187              'invocation' ( temp uint)
+0:187            Constant:
+0:187              3 (const int)
+0:187          Sequence
+0:187            Constant:
+0:187              0 (const int)
+0:187            Constant:
+0:187              1 (const int)
+0:187        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:187          vector swizzle ( temp 2-component vector of double)
+0:187            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:187              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187                Constant:
+0:187                  1 (const int)
+0:187              Constant:
+0:187                3 (const int)
+0:187            Sequence
+0:187              Constant:
+0:187                0 (const int)
+0:187              Constant:
+0:187                1 (const int)
+0:187          'ballot' ( temp 4-component vector of uint)
+0:188      move second child to first child ( temp 3-component vector of double)
+0:188        vector swizzle ( temp 3-component vector of double)
+0:188          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:188            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:188              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:188              'invocation' ( temp uint)
+0:188            Constant:
+0:188              3 (const int)
+0:188          Sequence
+0:188            Constant:
+0:188              0 (const int)
+0:188            Constant:
+0:188              1 (const int)
+0:188            Constant:
+0:188              2 (const int)
+0:188        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:188          vector swizzle ( temp 3-component vector of double)
+0:188            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:188              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:188                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:188                Constant:
+0:188                  2 (const int)
+0:188              Constant:
+0:188                3 (const int)
+0:188            Sequence
+0:188              Constant:
+0:188                0 (const int)
+0:188              Constant:
+0:188                1 (const int)
+0:188              Constant:
+0:188                2 (const int)
+0:188          'ballot' ( temp 4-component vector of uint)
+0:189      move second child to first child ( temp 4-component vector of double)
+0:189        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:189          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189            'invocation' ( temp uint)
+0:189          Constant:
+0:189            3 (const int)
+0:189        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:189          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:189            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189              Constant:
+0:189                3 (const int)
+0:189            Constant:
+0:189              3 (const int)
+0:189          'ballot' ( temp 4-component vector of uint)
+0:191      move second child to first child ( temp float)
+0:191        direct index ( temp float)
+0:191          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:191            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191              'invocation' ( temp uint)
+0:191            Constant:
+0:191              0 (const int)
+0:191          Constant:
+0:191            0 (const int)
+0:191        ERROR: Bad aggregation op
+ ( global float)
+0:191          direct index ( temp float)
+0:191            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:191              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191                Constant:
+0:191                  0 (const int)
+0:191              Constant:
+0:191                0 (const int)
+0:191            Constant:
+0:191              0 (const int)
+0:191          'ballot' ( temp 4-component vector of uint)
+0:192      move second child to first child ( temp 2-component vector of float)
+0:192        vector swizzle ( temp 2-component vector of float)
+0:192          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:192            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192              'invocation' ( temp uint)
+0:192            Constant:
+0:192              0 (const int)
+0:192          Sequence
+0:192            Constant:
+0:192              0 (const int)
+0:192            Constant:
+0:192              1 (const int)
+0:192        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:192          vector swizzle ( temp 2-component vector of float)
+0:192            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:192              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192                Constant:
+0:192                  1 (const int)
+0:192              Constant:
+0:192                0 (const int)
+0:192            Sequence
+0:192              Constant:
+0:192                0 (const int)
+0:192              Constant:
+0:192                1 (const int)
+0:192          'ballot' ( temp 4-component vector of uint)
+0:193      move second child to first child ( temp 3-component vector of float)
+0:193        vector swizzle ( temp 3-component vector of float)
+0:193          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:193            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:193              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:193              'invocation' ( temp uint)
+0:193            Constant:
+0:193              0 (const int)
+0:193          Sequence
+0:193            Constant:
+0:193              0 (const int)
+0:193            Constant:
+0:193              1 (const int)
+0:193            Constant:
+0:193              2 (const int)
+0:193        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:193          vector swizzle ( temp 3-component vector of float)
+0:193            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:193              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:193                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:193                Constant:
+0:193                  2 (const int)
+0:193              Constant:
+0:193                0 (const int)
+0:193            Sequence
+0:193              Constant:
+0:193                0 (const int)
+0:193              Constant:
+0:193                1 (const int)
+0:193              Constant:
+0:193                2 (const int)
+0:193          'ballot' ( temp 4-component vector of uint)
+0:194      move second child to first child ( temp 4-component vector of float)
+0:194        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:194          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194            'invocation' ( temp uint)
+0:194          Constant:
+0:194            0 (const int)
+0:194        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:194          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:194            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194              Constant:
+0:194                3 (const int)
+0:194            Constant:
+0:194              0 (const int)
+0:194          'ballot' ( temp 4-component vector of uint)
+0:196      move second child to first child ( temp int)
+0:196        direct index ( temp int)
+0:196          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:196            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196              'invocation' ( temp uint)
+0:196            Constant:
+0:196              1 (const int)
+0:196          Constant:
+0:196            0 (const int)
+0:196        ERROR: Bad aggregation op
+ ( global int)
+0:196          direct index ( temp int)
+0:196            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:196              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196                Constant:
+0:196                  0 (const int)
+0:196              Constant:
+0:196                1 (const int)
+0:196            Constant:
+0:196              0 (const int)
+0:196          'ballot' ( temp 4-component vector of uint)
+0:197      move second child to first child ( temp 2-component vector of int)
+0:197        vector swizzle ( temp 2-component vector of int)
+0:197          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:197            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197              'invocation' ( temp uint)
+0:197            Constant:
+0:197              1 (const int)
+0:197          Sequence
+0:197            Constant:
+0:197              0 (const int)
+0:197            Constant:
+0:197              1 (const int)
+0:197        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:197          vector swizzle ( temp 2-component vector of int)
+0:197            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:197              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197                Constant:
+0:197                  1 (const int)
+0:197              Constant:
+0:197                1 (const int)
+0:197            Sequence
+0:197              Constant:
+0:197                0 (const int)
+0:197              Constant:
+0:197                1 (const int)
+0:197          'ballot' ( temp 4-component vector of uint)
+0:198      move second child to first child ( temp 3-component vector of int)
+0:198        vector swizzle ( temp 3-component vector of int)
+0:198          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:198            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:198              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:198              'invocation' ( temp uint)
+0:198            Constant:
+0:198              1 (const int)
+0:198          Sequence
+0:198            Constant:
+0:198              0 (const int)
+0:198            Constant:
+0:198              1 (const int)
+0:198            Constant:
+0:198              2 (const int)
+0:198        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:198          vector swizzle ( temp 3-component vector of int)
+0:198            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:198              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:198                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:198                Constant:
+0:198                  2 (const int)
+0:198              Constant:
+0:198                1 (const int)
+0:198            Sequence
+0:198              Constant:
+0:198                0 (const int)
+0:198              Constant:
+0:198                1 (const int)
+0:198              Constant:
+0:198                2 (const int)
+0:198          'ballot' ( temp 4-component vector of uint)
+0:199      move second child to first child ( temp 4-component vector of int)
+0:199        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:199          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199            'invocation' ( temp uint)
+0:199          Constant:
+0:199            1 (const int)
+0:199        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:199          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:199            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199              Constant:
+0:199                3 (const int)
+0:199            Constant:
+0:199              1 (const int)
+0:199          'ballot' ( temp 4-component vector of uint)
+0:201      move second child to first child ( temp uint)
+0:201        direct index ( temp uint)
+0:201          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:201            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201              'invocation' ( temp uint)
+0:201            Constant:
+0:201              2 (const int)
+0:201          Constant:
+0:201            0 (const int)
+0:201        ERROR: Bad aggregation op
+ ( global uint)
+0:201          direct index ( temp uint)
+0:201            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:201              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201                Constant:
+0:201                  0 (const int)
+0:201              Constant:
+0:201                2 (const int)
+0:201            Constant:
+0:201              0 (const int)
+0:201          'ballot' ( temp 4-component vector of uint)
+0:202      move second child to first child ( temp 2-component vector of uint)
+0:202        vector swizzle ( temp 2-component vector of uint)
+0:202          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:202            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202              'invocation' ( temp uint)
+0:202            Constant:
+0:202              2 (const int)
+0:202          Sequence
+0:202            Constant:
+0:202              0 (const int)
+0:202            Constant:
+0:202              1 (const int)
+0:202        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:202          vector swizzle ( temp 2-component vector of uint)
+0:202            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:202              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202                Constant:
+0:202                  1 (const int)
+0:202              Constant:
+0:202                2 (const int)
+0:202            Sequence
+0:202              Constant:
+0:202                0 (const int)
+0:202              Constant:
+0:202                1 (const int)
+0:202          'ballot' ( temp 4-component vector of uint)
+0:203      move second child to first child ( temp 3-component vector of uint)
+0:203        vector swizzle ( temp 3-component vector of uint)
+0:203          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:203            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:203              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:203              'invocation' ( temp uint)
+0:203            Constant:
+0:203              2 (const int)
+0:203          Sequence
+0:203            Constant:
+0:203              0 (const int)
+0:203            Constant:
+0:203              1 (const int)
+0:203            Constant:
+0:203              2 (const int)
+0:203        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:203          vector swizzle ( temp 3-component vector of uint)
+0:203            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:203              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:203                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:203                Constant:
+0:203                  2 (const int)
+0:203              Constant:
+0:203                2 (const int)
+0:203            Sequence
+0:203              Constant:
+0:203                0 (const int)
+0:203              Constant:
+0:203                1 (const int)
+0:203              Constant:
+0:203                2 (const int)
+0:203          'ballot' ( temp 4-component vector of uint)
+0:204      move second child to first child ( temp 4-component vector of uint)
+0:204        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:204          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204            'invocation' ( temp uint)
+0:204          Constant:
+0:204            2 (const int)
+0:204        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:204          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:204            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204              Constant:
+0:204                3 (const int)
+0:204            Constant:
+0:204              2 (const int)
+0:204          'ballot' ( temp 4-component vector of uint)
+0:206      move second child to first child ( temp double)
+0:206        direct index ( temp double)
+0:206          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:206            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206              'invocation' ( temp uint)
+0:206            Constant:
+0:206              3 (const int)
+0:206          Constant:
+0:206            0 (const int)
+0:206        ERROR: Bad aggregation op
+ ( global double)
+0:206          direct index ( temp double)
+0:206            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:206              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206                Constant:
+0:206                  0 (const int)
+0:206              Constant:
+0:206                3 (const int)
+0:206            Constant:
+0:206              0 (const int)
+0:206          'ballot' ( temp 4-component vector of uint)
+0:207      move second child to first child ( temp 2-component vector of double)
+0:207        vector swizzle ( temp 2-component vector of double)
+0:207          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:207            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207              'invocation' ( temp uint)
+0:207            Constant:
+0:207              3 (const int)
+0:207          Sequence
+0:207            Constant:
+0:207              0 (const int)
+0:207            Constant:
+0:207              1 (const int)
+0:207        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:207          vector swizzle ( temp 2-component vector of double)
+0:207            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:207              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207                Constant:
+0:207                  1 (const int)
+0:207              Constant:
+0:207                3 (const int)
+0:207            Sequence
+0:207              Constant:
+0:207                0 (const int)
+0:207              Constant:
+0:207                1 (const int)
+0:207          'ballot' ( temp 4-component vector of uint)
+0:208      move second child to first child ( temp 3-component vector of double)
+0:208        vector swizzle ( temp 3-component vector of double)
+0:208          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:208            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:208              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:208              'invocation' ( temp uint)
+0:208            Constant:
+0:208              3 (const int)
+0:208          Sequence
+0:208            Constant:
+0:208              0 (const int)
+0:208            Constant:
+0:208              1 (const int)
+0:208            Constant:
+0:208              2 (const int)
+0:208        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:208          vector swizzle ( temp 3-component vector of double)
+0:208            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:208              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:208                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:208                Constant:
+0:208                  2 (const int)
+0:208              Constant:
+0:208                3 (const int)
+0:208            Sequence
+0:208              Constant:
+0:208                0 (const int)
+0:208              Constant:
+0:208                1 (const int)
+0:208              Constant:
+0:208                2 (const int)
+0:208          'ballot' ( temp 4-component vector of uint)
+0:209      move second child to first child ( temp 4-component vector of double)
+0:209        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:209          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209            'invocation' ( temp uint)
+0:209          Constant:
+0:209            3 (const int)
+0:209        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:209          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:209            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209              Constant:
+0:209                3 (const int)
+0:209            Constant:
+0:209              3 (const int)
+0:209          'ballot' ( temp 4-component vector of uint)
+0:211      move second child to first child ( temp float)
+0:211        direct index ( temp float)
+0:211          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:211            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211              'invocation' ( temp uint)
+0:211            Constant:
+0:211              0 (const int)
+0:211          Constant:
+0:211            0 (const int)
+0:211        ERROR: Bad aggregation op
+ ( global float)
+0:211          direct index ( temp float)
+0:211            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:211              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211                Constant:
+0:211                  0 (const int)
+0:211              Constant:
+0:211                0 (const int)
+0:211            Constant:
+0:211              0 (const int)
+0:211          'ballot' ( temp 4-component vector of uint)
+0:212      move second child to first child ( temp 2-component vector of float)
+0:212        vector swizzle ( temp 2-component vector of float)
+0:212          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:212            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212              'invocation' ( temp uint)
+0:212            Constant:
+0:212              0 (const int)
+0:212          Sequence
+0:212            Constant:
+0:212              0 (const int)
+0:212            Constant:
+0:212              1 (const int)
+0:212        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:212          vector swizzle ( temp 2-component vector of float)
+0:212            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:212              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212                Constant:
+0:212                  1 (const int)
+0:212              Constant:
+0:212                0 (const int)
+0:212            Sequence
+0:212              Constant:
+0:212                0 (const int)
+0:212              Constant:
+0:212                1 (const int)
+0:212          'ballot' ( temp 4-component vector of uint)
+0:213      move second child to first child ( temp 3-component vector of float)
+0:213        vector swizzle ( temp 3-component vector of float)
+0:213          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:213            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:213              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:213              'invocation' ( temp uint)
+0:213            Constant:
+0:213              0 (const int)
+0:213          Sequence
+0:213            Constant:
+0:213              0 (const int)
+0:213            Constant:
+0:213              1 (const int)
+0:213            Constant:
+0:213              2 (const int)
+0:213        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:213          vector swizzle ( temp 3-component vector of float)
+0:213            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:213              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:213                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:213                Constant:
+0:213                  2 (const int)
+0:213              Constant:
+0:213                0 (const int)
+0:213            Sequence
+0:213              Constant:
+0:213                0 (const int)
+0:213              Constant:
+0:213                1 (const int)
+0:213              Constant:
+0:213                2 (const int)
+0:213          'ballot' ( temp 4-component vector of uint)
+0:214      move second child to first child ( temp 4-component vector of float)
+0:214        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:214          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214            'invocation' ( temp uint)
+0:214          Constant:
+0:214            0 (const int)
+0:214        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:214          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:214            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214              Constant:
+0:214                3 (const int)
+0:214            Constant:
+0:214              0 (const int)
+0:214          'ballot' ( temp 4-component vector of uint)
+0:216      move second child to first child ( temp int)
+0:216        direct index ( temp int)
+0:216          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:216            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216              'invocation' ( temp uint)
+0:216            Constant:
+0:216              1 (const int)
+0:216          Constant:
+0:216            0 (const int)
+0:216        ERROR: Bad aggregation op
+ ( global int)
+0:216          direct index ( temp int)
+0:216            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:216              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216                Constant:
+0:216                  0 (const int)
+0:216              Constant:
+0:216                1 (const int)
+0:216            Constant:
+0:216              0 (const int)
+0:216          'ballot' ( temp 4-component vector of uint)
+0:217      move second child to first child ( temp 2-component vector of int)
+0:217        vector swizzle ( temp 2-component vector of int)
+0:217          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:217            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217              'invocation' ( temp uint)
+0:217            Constant:
+0:217              1 (const int)
+0:217          Sequence
+0:217            Constant:
+0:217              0 (const int)
+0:217            Constant:
+0:217              1 (const int)
+0:217        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:217          vector swizzle ( temp 2-component vector of int)
+0:217            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:217              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217                Constant:
+0:217                  1 (const int)
+0:217              Constant:
+0:217                1 (const int)
+0:217            Sequence
+0:217              Constant:
+0:217                0 (const int)
+0:217              Constant:
+0:217                1 (const int)
+0:217          'ballot' ( temp 4-component vector of uint)
+0:218      move second child to first child ( temp 3-component vector of int)
+0:218        vector swizzle ( temp 3-component vector of int)
+0:218          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:218            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:218              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:218              'invocation' ( temp uint)
+0:218            Constant:
+0:218              1 (const int)
+0:218          Sequence
+0:218            Constant:
+0:218              0 (const int)
+0:218            Constant:
+0:218              1 (const int)
+0:218            Constant:
+0:218              2 (const int)
+0:218        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:218          vector swizzle ( temp 3-component vector of int)
+0:218            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:218              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:218                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:218                Constant:
+0:218                  2 (const int)
+0:218              Constant:
+0:218                1 (const int)
+0:218            Sequence
+0:218              Constant:
+0:218                0 (const int)
+0:218              Constant:
+0:218                1 (const int)
+0:218              Constant:
+0:218                2 (const int)
+0:218          'ballot' ( temp 4-component vector of uint)
+0:219      move second child to first child ( temp 4-component vector of int)
+0:219        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:219          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219            'invocation' ( temp uint)
+0:219          Constant:
+0:219            1 (const int)
+0:219        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:219          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:219            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219              Constant:
+0:219                3 (const int)
+0:219            Constant:
+0:219              1 (const int)
+0:219          'ballot' ( temp 4-component vector of uint)
+0:221      move second child to first child ( temp uint)
+0:221        direct index ( temp uint)
+0:221          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:221            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221              'invocation' ( temp uint)
+0:221            Constant:
+0:221              2 (const int)
+0:221          Constant:
+0:221            0 (const int)
+0:221        ERROR: Bad aggregation op
+ ( global uint)
+0:221          direct index ( temp uint)
+0:221            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:221              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221                Constant:
+0:221                  0 (const int)
+0:221              Constant:
+0:221                2 (const int)
+0:221            Constant:
+0:221              0 (const int)
+0:221          'ballot' ( temp 4-component vector of uint)
+0:222      move second child to first child ( temp 2-component vector of uint)
+0:222        vector swizzle ( temp 2-component vector of uint)
+0:222          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:222            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222              'invocation' ( temp uint)
+0:222            Constant:
+0:222              2 (const int)
+0:222          Sequence
+0:222            Constant:
+0:222              0 (const int)
+0:222            Constant:
+0:222              1 (const int)
+0:222        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:222          vector swizzle ( temp 2-component vector of uint)
+0:222            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:222              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222                Constant:
+0:222                  1 (const int)
+0:222              Constant:
+0:222                2 (const int)
+0:222            Sequence
+0:222              Constant:
+0:222                0 (const int)
+0:222              Constant:
+0:222                1 (const int)
+0:222          'ballot' ( temp 4-component vector of uint)
+0:223      move second child to first child ( temp 3-component vector of uint)
+0:223        vector swizzle ( temp 3-component vector of uint)
+0:223          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:223            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:223              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:223              'invocation' ( temp uint)
+0:223            Constant:
+0:223              2 (const int)
+0:223          Sequence
+0:223            Constant:
+0:223              0 (const int)
+0:223            Constant:
+0:223              1 (const int)
+0:223            Constant:
+0:223              2 (const int)
+0:223        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:223          vector swizzle ( temp 3-component vector of uint)
+0:223            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:223              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:223                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:223                Constant:
+0:223                  2 (const int)
+0:223              Constant:
+0:223                2 (const int)
+0:223            Sequence
+0:223              Constant:
+0:223                0 (const int)
+0:223              Constant:
+0:223                1 (const int)
+0:223              Constant:
+0:223                2 (const int)
+0:223          'ballot' ( temp 4-component vector of uint)
+0:224      move second child to first child ( temp 4-component vector of uint)
+0:224        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:224          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224            'invocation' ( temp uint)
+0:224          Constant:
+0:224            2 (const int)
+0:224        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:224          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:224            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224              Constant:
+0:224                3 (const int)
+0:224            Constant:
+0:224              2 (const int)
+0:224          'ballot' ( temp 4-component vector of uint)
+0:226      move second child to first child ( temp double)
+0:226        direct index ( temp double)
+0:226          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:226            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226              'invocation' ( temp uint)
+0:226            Constant:
+0:226              3 (const int)
+0:226          Constant:
+0:226            0 (const int)
+0:226        ERROR: Bad aggregation op
+ ( global double)
+0:226          direct index ( temp double)
+0:226            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:226              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226                Constant:
+0:226                  0 (const int)
+0:226              Constant:
+0:226                3 (const int)
+0:226            Constant:
+0:226              0 (const int)
+0:226          'ballot' ( temp 4-component vector of uint)
+0:227      move second child to first child ( temp 2-component vector of double)
+0:227        vector swizzle ( temp 2-component vector of double)
+0:227          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:227            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227              'invocation' ( temp uint)
+0:227            Constant:
+0:227              3 (const int)
+0:227          Sequence
+0:227            Constant:
+0:227              0 (const int)
+0:227            Constant:
+0:227              1 (const int)
+0:227        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:227          vector swizzle ( temp 2-component vector of double)
+0:227            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:227              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227                Constant:
+0:227                  1 (const int)
+0:227              Constant:
+0:227                3 (const int)
+0:227            Sequence
+0:227              Constant:
+0:227                0 (const int)
+0:227              Constant:
+0:227                1 (const int)
+0:227          'ballot' ( temp 4-component vector of uint)
+0:228      move second child to first child ( temp 3-component vector of double)
+0:228        vector swizzle ( temp 3-component vector of double)
+0:228          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:228            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:228              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:228              'invocation' ( temp uint)
+0:228            Constant:
+0:228              3 (const int)
+0:228          Sequence
+0:228            Constant:
+0:228              0 (const int)
+0:228            Constant:
+0:228              1 (const int)
+0:228            Constant:
+0:228              2 (const int)
+0:228        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:228          vector swizzle ( temp 3-component vector of double)
+0:228            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:228              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:228                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:228                Constant:
+0:228                  2 (const int)
+0:228              Constant:
+0:228                3 (const int)
+0:228            Sequence
+0:228              Constant:
+0:228                0 (const int)
+0:228              Constant:
+0:228                1 (const int)
+0:228              Constant:
+0:228                2 (const int)
+0:228          'ballot' ( temp 4-component vector of uint)
+0:229      move second child to first child ( temp 4-component vector of double)
+0:229        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:229          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229            'invocation' ( temp uint)
+0:229          Constant:
+0:229            3 (const int)
+0:229        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:229          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:229            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229              Constant:
+0:229                3 (const int)
+0:229            Constant:
+0:229              3 (const int)
+0:229          'ballot' ( temp 4-component vector of uint)
+0:231      move second child to first child ( temp float)
+0:231        direct index ( temp float)
+0:231          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:231            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231              'invocation' ( temp uint)
+0:231            Constant:
+0:231              0 (const int)
+0:231          Constant:
+0:231            0 (const int)
+0:231        ERROR: Bad aggregation op
+ ( global float)
+0:231          direct index ( temp float)
+0:231            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:231              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231                Constant:
+0:231                  0 (const int)
+0:231              Constant:
+0:231                0 (const int)
+0:231            Constant:
+0:231              0 (const int)
+0:231          'ballot' ( temp 4-component vector of uint)
+0:232      move second child to first child ( temp 2-component vector of float)
+0:232        vector swizzle ( temp 2-component vector of float)
+0:232          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:232            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232              'invocation' ( temp uint)
+0:232            Constant:
+0:232              0 (const int)
+0:232          Sequence
+0:232            Constant:
+0:232              0 (const int)
+0:232            Constant:
+0:232              1 (const int)
+0:232        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:232          vector swizzle ( temp 2-component vector of float)
+0:232            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:232              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232                Constant:
+0:232                  1 (const int)
+0:232              Constant:
+0:232                0 (const int)
+0:232            Sequence
+0:232              Constant:
+0:232                0 (const int)
+0:232              Constant:
+0:232                1 (const int)
+0:232          'ballot' ( temp 4-component vector of uint)
+0:233      move second child to first child ( temp 3-component vector of float)
+0:233        vector swizzle ( temp 3-component vector of float)
+0:233          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:233            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:233              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:233              'invocation' ( temp uint)
+0:233            Constant:
+0:233              0 (const int)
+0:233          Sequence
+0:233            Constant:
+0:233              0 (const int)
+0:233            Constant:
+0:233              1 (const int)
+0:233            Constant:
+0:233              2 (const int)
+0:233        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:233          vector swizzle ( temp 3-component vector of float)
+0:233            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:233              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:233                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:233                Constant:
+0:233                  2 (const int)
+0:233              Constant:
+0:233                0 (const int)
+0:233            Sequence
+0:233              Constant:
+0:233                0 (const int)
+0:233              Constant:
+0:233                1 (const int)
+0:233              Constant:
+0:233                2 (const int)
+0:233          'ballot' ( temp 4-component vector of uint)
+0:234      move second child to first child ( temp 4-component vector of float)
+0:234        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:234          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234            'invocation' ( temp uint)
+0:234          Constant:
+0:234            0 (const int)
+0:234        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:234          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:234            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234              Constant:
+0:234                3 (const int)
+0:234            Constant:
+0:234              0 (const int)
+0:234          'ballot' ( temp 4-component vector of uint)
+0:236      move second child to first child ( temp int)
+0:236        direct index ( temp int)
+0:236          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:236            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236              'invocation' ( temp uint)
+0:236            Constant:
+0:236              1 (const int)
+0:236          Constant:
+0:236            0 (const int)
+0:236        ERROR: Bad aggregation op
+ ( global int)
+0:236          direct index ( temp int)
+0:236            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:236              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236                Constant:
+0:236                  0 (const int)
+0:236              Constant:
+0:236                1 (const int)
+0:236            Constant:
+0:236              0 (const int)
+0:236          'ballot' ( temp 4-component vector of uint)
+0:237      move second child to first child ( temp 2-component vector of int)
+0:237        vector swizzle ( temp 2-component vector of int)
+0:237          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:237            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237              'invocation' ( temp uint)
+0:237            Constant:
+0:237              1 (const int)
+0:237          Sequence
+0:237            Constant:
+0:237              0 (const int)
+0:237            Constant:
+0:237              1 (const int)
+0:237        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:237          vector swizzle ( temp 2-component vector of int)
+0:237            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:237              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237                Constant:
+0:237                  1 (const int)
+0:237              Constant:
+0:237                1 (const int)
+0:237            Sequence
+0:237              Constant:
+0:237                0 (const int)
+0:237              Constant:
+0:237                1 (const int)
+0:237          'ballot' ( temp 4-component vector of uint)
+0:238      move second child to first child ( temp 3-component vector of int)
+0:238        vector swizzle ( temp 3-component vector of int)
+0:238          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:238            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:238              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:238              'invocation' ( temp uint)
+0:238            Constant:
+0:238              1 (const int)
+0:238          Sequence
+0:238            Constant:
+0:238              0 (const int)
+0:238            Constant:
+0:238              1 (const int)
+0:238            Constant:
+0:238              2 (const int)
+0:238        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:238          vector swizzle ( temp 3-component vector of int)
+0:238            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:238              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:238                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:238                Constant:
+0:238                  2 (const int)
+0:238              Constant:
+0:238                1 (const int)
+0:238            Sequence
+0:238              Constant:
+0:238                0 (const int)
+0:238              Constant:
+0:238                1 (const int)
+0:238              Constant:
+0:238                2 (const int)
+0:238          'ballot' ( temp 4-component vector of uint)
+0:239      move second child to first child ( temp 4-component vector of int)
+0:239        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:239          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239            'invocation' ( temp uint)
+0:239          Constant:
+0:239            1 (const int)
+0:239        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:239          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:239            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239              Constant:
+0:239                3 (const int)
+0:239            Constant:
+0:239              1 (const int)
+0:239          'ballot' ( temp 4-component vector of uint)
+0:241      move second child to first child ( temp uint)
+0:241        direct index ( temp uint)
+0:241          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:241            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241              'invocation' ( temp uint)
+0:241            Constant:
+0:241              2 (const int)
+0:241          Constant:
+0:241            0 (const int)
+0:241        ERROR: Bad aggregation op
+ ( global uint)
+0:241          direct index ( temp uint)
+0:241            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:241              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241                Constant:
+0:241                  0 (const int)
+0:241              Constant:
+0:241                2 (const int)
+0:241            Constant:
+0:241              0 (const int)
+0:241          'ballot' ( temp 4-component vector of uint)
+0:242      move second child to first child ( temp 2-component vector of uint)
+0:242        vector swizzle ( temp 2-component vector of uint)
+0:242          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:242            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242              'invocation' ( temp uint)
+0:242            Constant:
+0:242              2 (const int)
+0:242          Sequence
+0:242            Constant:
+0:242              0 (const int)
+0:242            Constant:
+0:242              1 (const int)
+0:242        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:242          vector swizzle ( temp 2-component vector of uint)
+0:242            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:242              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242                Constant:
+0:242                  1 (const int)
+0:242              Constant:
+0:242                2 (const int)
+0:242            Sequence
+0:242              Constant:
+0:242                0 (const int)
+0:242              Constant:
+0:242                1 (const int)
+0:242          'ballot' ( temp 4-component vector of uint)
+0:243      move second child to first child ( temp 3-component vector of uint)
+0:243        vector swizzle ( temp 3-component vector of uint)
+0:243          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:243            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:243              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:243              'invocation' ( temp uint)
+0:243            Constant:
+0:243              2 (const int)
+0:243          Sequence
+0:243            Constant:
+0:243              0 (const int)
+0:243            Constant:
+0:243              1 (const int)
+0:243            Constant:
+0:243              2 (const int)
+0:243        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:243          vector swizzle ( temp 3-component vector of uint)
+0:243            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:243              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:243                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:243                Constant:
+0:243                  2 (const int)
+0:243              Constant:
+0:243                2 (const int)
+0:243            Sequence
+0:243              Constant:
+0:243                0 (const int)
+0:243              Constant:
+0:243                1 (const int)
+0:243              Constant:
+0:243                2 (const int)
+0:243          'ballot' ( temp 4-component vector of uint)
+0:244      move second child to first child ( temp 4-component vector of uint)
+0:244        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:244          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244            'invocation' ( temp uint)
+0:244          Constant:
+0:244            2 (const int)
+0:244        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:244          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:244            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244              Constant:
+0:244                3 (const int)
+0:244            Constant:
+0:244              2 (const int)
+0:244          'ballot' ( temp 4-component vector of uint)
+0:246      move second child to first child ( temp double)
+0:246        direct index ( temp double)
+0:246          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:246            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246              'invocation' ( temp uint)
+0:246            Constant:
+0:246              3 (const int)
+0:246          Constant:
+0:246            0 (const int)
+0:246        ERROR: Bad aggregation op
+ ( global double)
+0:246          direct index ( temp double)
+0:246            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:246              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246                Constant:
+0:246                  0 (const int)
+0:246              Constant:
+0:246                3 (const int)
+0:246            Constant:
+0:246              0 (const int)
+0:246          'ballot' ( temp 4-component vector of uint)
+0:247      move second child to first child ( temp 2-component vector of double)
+0:247        vector swizzle ( temp 2-component vector of double)
+0:247          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:247            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247              'invocation' ( temp uint)
+0:247            Constant:
+0:247              3 (const int)
+0:247          Sequence
+0:247            Constant:
+0:247              0 (const int)
+0:247            Constant:
+0:247              1 (const int)
+0:247        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:247          vector swizzle ( temp 2-component vector of double)
+0:247            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:247              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247                Constant:
+0:247                  1 (const int)
+0:247              Constant:
+0:247                3 (const int)
+0:247            Sequence
+0:247              Constant:
+0:247                0 (const int)
+0:247              Constant:
+0:247                1 (const int)
+0:247          'ballot' ( temp 4-component vector of uint)
+0:248      move second child to first child ( temp 3-component vector of double)
+0:248        vector swizzle ( temp 3-component vector of double)
+0:248          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:248            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:248              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:248              'invocation' ( temp uint)
+0:248            Constant:
+0:248              3 (const int)
+0:248          Sequence
+0:248            Constant:
+0:248              0 (const int)
+0:248            Constant:
+0:248              1 (const int)
+0:248            Constant:
+0:248              2 (const int)
+0:248        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:248          vector swizzle ( temp 3-component vector of double)
+0:248            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:248              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:248                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:248                Constant:
+0:248                  2 (const int)
+0:248              Constant:
+0:248                3 (const int)
+0:248            Sequence
+0:248              Constant:
+0:248                0 (const int)
+0:248              Constant:
+0:248                1 (const int)
+0:248              Constant:
+0:248                2 (const int)
+0:248          'ballot' ( temp 4-component vector of uint)
+0:249      move second child to first child ( temp 4-component vector of double)
+0:249        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:249          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249            'invocation' ( temp uint)
+0:249          Constant:
+0:249            3 (const int)
+0:249        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:249          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:249            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249              Constant:
+0:249                3 (const int)
+0:249            Constant:
+0:249              3 (const int)
+0:249          'ballot' ( temp 4-component vector of uint)
+0:251      move second child to first child ( temp int)
+0:251        direct index ( temp int)
+0:251          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:251            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251              'invocation' ( temp uint)
+0:251            Constant:
+0:251              1 (const int)
+0:251          Constant:
+0:251            0 (const int)
+0:251        ERROR: Bad aggregation op
+ ( global int)
+0:251          direct index ( temp int)
+0:251            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:251              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251                Constant:
+0:251                  0 (const int)
+0:251              Constant:
+0:251                1 (const int)
+0:251            Constant:
+0:251              0 (const int)
+0:251          'ballot' ( temp 4-component vector of uint)
+0:252      move second child to first child ( temp 2-component vector of int)
+0:252        vector swizzle ( temp 2-component vector of int)
+0:252          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:252            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252              'invocation' ( temp uint)
+0:252            Constant:
+0:252              1 (const int)
+0:252          Sequence
+0:252            Constant:
+0:252              0 (const int)
+0:252            Constant:
+0:252              1 (const int)
+0:252        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:252          vector swizzle ( temp 2-component vector of int)
+0:252            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:252              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252                Constant:
+0:252                  1 (const int)
+0:252              Constant:
+0:252                1 (const int)
+0:252            Sequence
+0:252              Constant:
+0:252                0 (const int)
+0:252              Constant:
+0:252                1 (const int)
+0:252          'ballot' ( temp 4-component vector of uint)
+0:253      move second child to first child ( temp 3-component vector of int)
+0:253        vector swizzle ( temp 3-component vector of int)
+0:253          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:253            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:253              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:253              'invocation' ( temp uint)
+0:253            Constant:
+0:253              1 (const int)
+0:253          Sequence
+0:253            Constant:
+0:253              0 (const int)
+0:253            Constant:
+0:253              1 (const int)
+0:253            Constant:
+0:253              2 (const int)
+0:253        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:253          vector swizzle ( temp 3-component vector of int)
+0:253            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:253              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:253                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:253                Constant:
+0:253                  2 (const int)
+0:253              Constant:
+0:253                1 (const int)
+0:253            Sequence
+0:253              Constant:
+0:253                0 (const int)
+0:253              Constant:
+0:253                1 (const int)
+0:253              Constant:
+0:253                2 (const int)
+0:253          'ballot' ( temp 4-component vector of uint)
+0:254      move second child to first child ( temp 4-component vector of int)
+0:254        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:254          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254            'invocation' ( temp uint)
+0:254          Constant:
+0:254            1 (const int)
+0:254        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:254          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:254            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254              Constant:
+0:254                3 (const int)
+0:254            Constant:
+0:254              1 (const int)
+0:254          'ballot' ( temp 4-component vector of uint)
+0:256      move second child to first child ( temp uint)
+0:256        direct index ( temp uint)
+0:256          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:256            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256              'invocation' ( temp uint)
+0:256            Constant:
+0:256              2 (const int)
+0:256          Constant:
+0:256            0 (const int)
+0:256        ERROR: Bad aggregation op
+ ( global uint)
+0:256          direct index ( temp uint)
+0:256            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:256              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256                Constant:
+0:256                  0 (const int)
+0:256              Constant:
+0:256                2 (const int)
+0:256            Constant:
+0:256              0 (const int)
+0:256          'ballot' ( temp 4-component vector of uint)
+0:257      move second child to first child ( temp 2-component vector of uint)
+0:257        vector swizzle ( temp 2-component vector of uint)
+0:257          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:257            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257              'invocation' ( temp uint)
+0:257            Constant:
+0:257              2 (const int)
+0:257          Sequence
+0:257            Constant:
+0:257              0 (const int)
+0:257            Constant:
+0:257              1 (const int)
+0:257        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:257          vector swizzle ( temp 2-component vector of uint)
+0:257            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:257              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257                Constant:
+0:257                  1 (const int)
+0:257              Constant:
+0:257                2 (const int)
+0:257            Sequence
+0:257              Constant:
+0:257                0 (const int)
+0:257              Constant:
+0:257                1 (const int)
+0:257          'ballot' ( temp 4-component vector of uint)
+0:258      move second child to first child ( temp 3-component vector of uint)
+0:258        vector swizzle ( temp 3-component vector of uint)
+0:258          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:258            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:258              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:258              'invocation' ( temp uint)
+0:258            Constant:
+0:258              2 (const int)
+0:258          Sequence
+0:258            Constant:
+0:258              0 (const int)
+0:258            Constant:
+0:258              1 (const int)
+0:258            Constant:
+0:258              2 (const int)
+0:258        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:258          vector swizzle ( temp 3-component vector of uint)
+0:258            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:258              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:258                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:258                Constant:
+0:258                  2 (const int)
+0:258              Constant:
+0:258                2 (const int)
+0:258            Sequence
+0:258              Constant:
+0:258                0 (const int)
+0:258              Constant:
+0:258                1 (const int)
+0:258              Constant:
+0:258                2 (const int)
+0:258          'ballot' ( temp 4-component vector of uint)
+0:259      move second child to first child ( temp 4-component vector of uint)
+0:259        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:259          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259            'invocation' ( temp uint)
+0:259          Constant:
+0:259            2 (const int)
+0:259        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:259          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:259            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259              Constant:
+0:259                3 (const int)
+0:259            Constant:
+0:259              2 (const int)
+0:259          'ballot' ( temp 4-component vector of uint)
+0:261      move second child to first child ( temp int)
+0:261        direct index ( temp int)
+0:261          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:261            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261              'invocation' ( temp uint)
+0:261            Constant:
+0:261              1 (const int)
+0:261          Constant:
+0:261            0 (const int)
+0:261        Convert bool to int ( temp int)
+0:261          ERROR: Bad aggregation op
+ ( global bool)
+0:261            Compare Less Than ( temp bool)
+0:261              direct index ( temp int)
+0:261                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:261                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261                    Constant:
+0:261                      0 (const int)
+0:261                  Constant:
+0:261                    1 (const int)
+0:261                Constant:
+0:261                  0 (const int)
+0:261              Constant:
+0:261                0 (const int)
+0:261            'ballot' ( temp 4-component vector of uint)
+0:262      move second child to first child ( temp 2-component vector of int)
+0:262        vector swizzle ( temp 2-component vector of int)
+0:262          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:262            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262              'invocation' ( temp uint)
+0:262            Constant:
+0:262              1 (const int)
+0:262          Sequence
+0:262            Constant:
+0:262              0 (const int)
+0:262            Constant:
+0:262              1 (const int)
+0:262        Convert bool to int ( temp 2-component vector of int)
+0:262          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:262            Compare Less Than ( global 2-component vector of bool)
+0:262              vector swizzle ( temp 2-component vector of int)
+0:262                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:262                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262                    Constant:
+0:262                      1 (const int)
+0:262                  Constant:
+0:262                    1 (const int)
+0:262                Sequence
+0:262                  Constant:
+0:262                    0 (const int)
+0:262                  Constant:
+0:262                    1 (const int)
+0:262              Constant:
+0:262                0 (const int)
+0:262                0 (const int)
+0:262            'ballot' ( temp 4-component vector of uint)
+0:263      move second child to first child ( temp 3-component vector of int)
+0:263        vector swizzle ( temp 3-component vector of int)
+0:263          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:263            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:263              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:263              'invocation' ( temp uint)
+0:263            Constant:
+0:263              1 (const int)
+0:263          Sequence
+0:263            Constant:
+0:263              0 (const int)
+0:263            Constant:
+0:263              1 (const int)
+0:263            Constant:
+0:263              2 (const int)
+0:263        Convert bool to int ( temp 3-component vector of int)
+0:263          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:263            Compare Less Than ( global 3-component vector of bool)
+0:263              vector swizzle ( temp 3-component vector of int)
+0:263                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:263                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:263                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:263                    Constant:
+0:263                      1 (const int)
+0:263                  Constant:
+0:263                    1 (const int)
+0:263                Sequence
+0:263                  Constant:
+0:263                    0 (const int)
+0:263                  Constant:
+0:263                    1 (const int)
+0:263                  Constant:
+0:263                    2 (const int)
+0:263              Constant:
+0:263                0 (const int)
+0:263                0 (const int)
+0:263                0 (const int)
+0:263            'ballot' ( temp 4-component vector of uint)
+0:264      move second child to first child ( temp 4-component vector of int)
+0:264        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:264          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264            'invocation' ( temp uint)
+0:264          Constant:
+0:264            1 (const int)
+0:264        Convert bool to int ( temp 4-component vector of int)
+0:264          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:264            Compare Less Than ( global 4-component vector of bool)
+0:264              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:264                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264                  Constant:
+0:264                    1 (const int)
+0:264                Constant:
+0:264                  1 (const int)
+0:264              Constant:
+0:264                0 (const int)
+0:264                0 (const int)
+0:264                0 (const int)
+0:264                0 (const int)
+0:264            'ballot' ( temp 4-component vector of uint)
+0:266      move second child to first child ( temp int)
+0:266        direct index ( temp int)
+0:266          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:266            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266              'invocation' ( temp uint)
+0:266            Constant:
+0:266              1 (const int)
+0:266          Constant:
+0:266            0 (const int)
+0:266        ERROR: Bad aggregation op
+ ( global int)
+0:266          direct index ( temp int)
+0:266            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:266              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266                Constant:
+0:266                  0 (const int)
+0:266              Constant:
+0:266                1 (const int)
+0:266            Constant:
+0:266              0 (const int)
+0:266          'ballot' ( temp 4-component vector of uint)
+0:267      move second child to first child ( temp 2-component vector of int)
+0:267        vector swizzle ( temp 2-component vector of int)
+0:267          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:267            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267              'invocation' ( temp uint)
+0:267            Constant:
+0:267              1 (const int)
+0:267          Sequence
+0:267            Constant:
+0:267              0 (const int)
+0:267            Constant:
+0:267              1 (const int)
+0:267        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:267          vector swizzle ( temp 2-component vector of int)
+0:267            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:267              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267                Constant:
+0:267                  1 (const int)
+0:267              Constant:
+0:267                1 (const int)
+0:267            Sequence
+0:267              Constant:
+0:267                0 (const int)
+0:267              Constant:
+0:267                1 (const int)
+0:267          'ballot' ( temp 4-component vector of uint)
+0:268      move second child to first child ( temp 3-component vector of int)
+0:268        vector swizzle ( temp 3-component vector of int)
+0:268          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:268            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:268              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:268              'invocation' ( temp uint)
+0:268            Constant:
+0:268              1 (const int)
+0:268          Sequence
+0:268            Constant:
+0:268              0 (const int)
+0:268            Constant:
+0:268              1 (const int)
+0:268            Constant:
+0:268              2 (const int)
+0:268        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:268          vector swizzle ( temp 3-component vector of int)
+0:268            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:268              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:268                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:268                Constant:
+0:268                  2 (const int)
+0:268              Constant:
+0:268                1 (const int)
+0:268            Sequence
+0:268              Constant:
+0:268                0 (const int)
+0:268              Constant:
+0:268                1 (const int)
+0:268              Constant:
+0:268                2 (const int)
+0:268          'ballot' ( temp 4-component vector of uint)
+0:269      move second child to first child ( temp 4-component vector of int)
+0:269        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:269          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269            'invocation' ( temp uint)
+0:269          Constant:
+0:269            1 (const int)
+0:269        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:269          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:269            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269              Constant:
+0:269                3 (const int)
+0:269            Constant:
+0:269              1 (const int)
+0:269          'ballot' ( temp 4-component vector of uint)
+0:271      move second child to first child ( temp uint)
+0:271        direct index ( temp uint)
+0:271          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:271            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271              'invocation' ( temp uint)
+0:271            Constant:
+0:271              2 (const int)
+0:271          Constant:
+0:271            0 (const int)
+0:271        ERROR: Bad aggregation op
+ ( global uint)
+0:271          direct index ( temp uint)
+0:271            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:271              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271                Constant:
+0:271                  0 (const int)
+0:271              Constant:
+0:271                2 (const int)
+0:271            Constant:
+0:271              0 (const int)
+0:271          'ballot' ( temp 4-component vector of uint)
+0:272      move second child to first child ( temp 2-component vector of uint)
+0:272        vector swizzle ( temp 2-component vector of uint)
+0:272          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:272            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272              'invocation' ( temp uint)
+0:272            Constant:
+0:272              2 (const int)
+0:272          Sequence
+0:272            Constant:
+0:272              0 (const int)
+0:272            Constant:
+0:272              1 (const int)
+0:272        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:272          vector swizzle ( temp 2-component vector of uint)
+0:272            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:272              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272                Constant:
+0:272                  1 (const int)
+0:272              Constant:
+0:272                2 (const int)
+0:272            Sequence
+0:272              Constant:
+0:272                0 (const int)
+0:272              Constant:
+0:272                1 (const int)
+0:272          'ballot' ( temp 4-component vector of uint)
+0:273      move second child to first child ( temp 3-component vector of uint)
+0:273        vector swizzle ( temp 3-component vector of uint)
+0:273          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:273            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:273              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:273              'invocation' ( temp uint)
+0:273            Constant:
+0:273              2 (const int)
+0:273          Sequence
+0:273            Constant:
+0:273              0 (const int)
+0:273            Constant:
+0:273              1 (const int)
+0:273            Constant:
+0:273              2 (const int)
+0:273        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:273          vector swizzle ( temp 3-component vector of uint)
+0:273            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:273              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:273                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:273                Constant:
+0:273                  2 (const int)
+0:273              Constant:
+0:273                2 (const int)
+0:273            Sequence
+0:273              Constant:
+0:273                0 (const int)
+0:273              Constant:
+0:273                1 (const int)
+0:273              Constant:
+0:273                2 (const int)
+0:273          'ballot' ( temp 4-component vector of uint)
+0:274      move second child to first child ( temp 4-component vector of uint)
+0:274        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:274          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274            'invocation' ( temp uint)
+0:274          Constant:
+0:274            2 (const int)
+0:274        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:274          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:274            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274              Constant:
+0:274                3 (const int)
+0:274            Constant:
+0:274              2 (const int)
+0:274          'ballot' ( temp 4-component vector of uint)
+0:276      move second child to first child ( temp int)
+0:276        direct index ( temp int)
+0:276          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:276            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276              'invocation' ( temp uint)
+0:276            Constant:
+0:276              1 (const int)
+0:276          Constant:
+0:276            0 (const int)
+0:276        Convert bool to int ( temp int)
+0:276          ERROR: Bad aggregation op
+ ( global bool)
+0:276            Compare Less Than ( temp bool)
+0:276              direct index ( temp int)
+0:276                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:276                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276                    Constant:
+0:276                      0 (const int)
+0:276                  Constant:
+0:276                    1 (const int)
+0:276                Constant:
+0:276                  0 (const int)
+0:276              Constant:
+0:276                0 (const int)
+0:276            'ballot' ( temp 4-component vector of uint)
+0:277      move second child to first child ( temp 2-component vector of int)
+0:277        vector swizzle ( temp 2-component vector of int)
+0:277          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:277            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277              'invocation' ( temp uint)
+0:277            Constant:
+0:277              1 (const int)
+0:277          Sequence
+0:277            Constant:
+0:277              0 (const int)
+0:277            Constant:
+0:277              1 (const int)
+0:277        Convert bool to int ( temp 2-component vector of int)
+0:277          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:277            Compare Less Than ( global 2-component vector of bool)
+0:277              vector swizzle ( temp 2-component vector of int)
+0:277                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:277                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277                    Constant:
+0:277                      1 (const int)
+0:277                  Constant:
+0:277                    1 (const int)
+0:277                Sequence
+0:277                  Constant:
+0:277                    0 (const int)
+0:277                  Constant:
+0:277                    1 (const int)
+0:277              Constant:
+0:277                0 (const int)
+0:277                0 (const int)
+0:277            'ballot' ( temp 4-component vector of uint)
+0:278      move second child to first child ( temp 3-component vector of int)
+0:278        vector swizzle ( temp 3-component vector of int)
+0:278          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:278            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:278              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:278              'invocation' ( temp uint)
+0:278            Constant:
+0:278              1 (const int)
+0:278          Sequence
+0:278            Constant:
+0:278              0 (const int)
+0:278            Constant:
+0:278              1 (const int)
+0:278            Constant:
+0:278              2 (const int)
+0:278        Convert bool to int ( temp 3-component vector of int)
+0:278          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:278            Compare Less Than ( global 3-component vector of bool)
+0:278              vector swizzle ( temp 3-component vector of int)
+0:278                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:278                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:278                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:278                    Constant:
+0:278                      1 (const int)
+0:278                  Constant:
+0:278                    1 (const int)
+0:278                Sequence
+0:278                  Constant:
+0:278                    0 (const int)
+0:278                  Constant:
+0:278                    1 (const int)
+0:278                  Constant:
+0:278                    2 (const int)
+0:278              Constant:
+0:278                0 (const int)
+0:278                0 (const int)
+0:278                0 (const int)
+0:278            'ballot' ( temp 4-component vector of uint)
+0:279      move second child to first child ( temp 4-component vector of int)
+0:279        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:279          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279            'invocation' ( temp uint)
+0:279          Constant:
+0:279            1 (const int)
+0:279        Convert bool to int ( temp 4-component vector of int)
+0:279          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:279            Compare Less Than ( global 4-component vector of bool)
+0:279              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:279                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279                  Constant:
+0:279                    1 (const int)
+0:279                Constant:
+0:279                  1 (const int)
+0:279              Constant:
+0:279                0 (const int)
+0:279                0 (const int)
+0:279                0 (const int)
+0:279                0 (const int)
+0:279            'ballot' ( temp 4-component vector of uint)
+0:281      move second child to first child ( temp int)
+0:281        direct index ( temp int)
+0:281          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:281            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281              'invocation' ( temp uint)
+0:281            Constant:
+0:281              1 (const int)
+0:281          Constant:
+0:281            0 (const int)
+0:281        ERROR: Bad aggregation op
+ ( global int)
+0:281          direct index ( temp int)
+0:281            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:281              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281                Constant:
+0:281                  0 (const int)
+0:281              Constant:
+0:281                1 (const int)
+0:281            Constant:
+0:281              0 (const int)
+0:281          'ballot' ( temp 4-component vector of uint)
+0:282      move second child to first child ( temp 2-component vector of int)
+0:282        vector swizzle ( temp 2-component vector of int)
+0:282          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:282            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282              'invocation' ( temp uint)
+0:282            Constant:
+0:282              1 (const int)
+0:282          Sequence
+0:282            Constant:
+0:282              0 (const int)
+0:282            Constant:
+0:282              1 (const int)
+0:282        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:282          vector swizzle ( temp 2-component vector of int)
+0:282            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:282              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282                Constant:
+0:282                  1 (const int)
+0:282              Constant:
+0:282                1 (const int)
+0:282            Sequence
+0:282              Constant:
+0:282                0 (const int)
+0:282              Constant:
+0:282                1 (const int)
+0:282          'ballot' ( temp 4-component vector of uint)
+0:283      move second child to first child ( temp 3-component vector of int)
+0:283        vector swizzle ( temp 3-component vector of int)
+0:283          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:283            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:283              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:283              'invocation' ( temp uint)
+0:283            Constant:
+0:283              1 (const int)
+0:283          Sequence
+0:283            Constant:
+0:283              0 (const int)
+0:283            Constant:
+0:283              1 (const int)
+0:283            Constant:
+0:283              2 (const int)
+0:283        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:283          vector swizzle ( temp 3-component vector of int)
+0:283            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:283              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:283                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:283                Constant:
+0:283                  2 (const int)
+0:283              Constant:
+0:283                1 (const int)
+0:283            Sequence
+0:283              Constant:
+0:283                0 (const int)
+0:283              Constant:
+0:283                1 (const int)
+0:283              Constant:
+0:283                2 (const int)
+0:283          'ballot' ( temp 4-component vector of uint)
+0:284      move second child to first child ( temp 4-component vector of int)
+0:284        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:284          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284            'invocation' ( temp uint)
+0:284          Constant:
+0:284            1 (const int)
+0:284        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:284          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:284            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284              Constant:
+0:284                3 (const int)
+0:284            Constant:
+0:284              1 (const int)
+0:284          'ballot' ( temp 4-component vector of uint)
+0:286      move second child to first child ( temp uint)
+0:286        direct index ( temp uint)
+0:286          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:286            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286              'invocation' ( temp uint)
+0:286            Constant:
+0:286              2 (const int)
+0:286          Constant:
+0:286            0 (const int)
+0:286        ERROR: Bad aggregation op
+ ( global uint)
+0:286          direct index ( temp uint)
+0:286            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:286              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286                Constant:
+0:286                  0 (const int)
+0:286              Constant:
+0:286                2 (const int)
+0:286            Constant:
+0:286              0 (const int)
+0:286          'ballot' ( temp 4-component vector of uint)
+0:287      move second child to first child ( temp 2-component vector of uint)
+0:287        vector swizzle ( temp 2-component vector of uint)
+0:287          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:287            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287              'invocation' ( temp uint)
+0:287            Constant:
+0:287              2 (const int)
+0:287          Sequence
+0:287            Constant:
+0:287              0 (const int)
+0:287            Constant:
+0:287              1 (const int)
+0:287        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:287          vector swizzle ( temp 2-component vector of uint)
+0:287            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:287              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287                Constant:
+0:287                  1 (const int)
+0:287              Constant:
+0:287                2 (const int)
+0:287            Sequence
+0:287              Constant:
+0:287                0 (const int)
+0:287              Constant:
+0:287                1 (const int)
+0:287          'ballot' ( temp 4-component vector of uint)
+0:288      move second child to first child ( temp 3-component vector of uint)
+0:288        vector swizzle ( temp 3-component vector of uint)
+0:288          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:288            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:288              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:288              'invocation' ( temp uint)
+0:288            Constant:
+0:288              2 (const int)
+0:288          Sequence
+0:288            Constant:
+0:288              0 (const int)
+0:288            Constant:
+0:288              1 (const int)
+0:288            Constant:
+0:288              2 (const int)
+0:288        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:288          vector swizzle ( temp 3-component vector of uint)
+0:288            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:288              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:288                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:288                Constant:
+0:288                  2 (const int)
+0:288              Constant:
+0:288                2 (const int)
+0:288            Sequence
+0:288              Constant:
+0:288                0 (const int)
+0:288              Constant:
+0:288                1 (const int)
+0:288              Constant:
+0:288                2 (const int)
+0:288          'ballot' ( temp 4-component vector of uint)
+0:289      move second child to first child ( temp 4-component vector of uint)
+0:289        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:289          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289            'invocation' ( temp uint)
+0:289          Constant:
+0:289            2 (const int)
+0:289        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:289          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:289            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289              Constant:
+0:289                3 (const int)
+0:289            Constant:
+0:289              2 (const int)
+0:289          'ballot' ( temp 4-component vector of uint)
+0:291      move second child to first child ( temp int)
+0:291        direct index ( temp int)
+0:291          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:291            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291              'invocation' ( temp uint)
+0:291            Constant:
+0:291              1 (const int)
+0:291          Constant:
+0:291            0 (const int)
+0:291        Convert bool to int ( temp int)
+0:291          ERROR: Bad aggregation op
+ ( global bool)
+0:291            Compare Less Than ( temp bool)
+0:291              direct index ( temp int)
+0:291                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:291                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291                    Constant:
+0:291                      0 (const int)
+0:291                  Constant:
+0:291                    1 (const int)
+0:291                Constant:
+0:291                  0 (const int)
+0:291              Constant:
+0:291                0 (const int)
+0:291            'ballot' ( temp 4-component vector of uint)
+0:292      move second child to first child ( temp 2-component vector of int)
+0:292        vector swizzle ( temp 2-component vector of int)
+0:292          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:292            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292              'invocation' ( temp uint)
+0:292            Constant:
+0:292              1 (const int)
+0:292          Sequence
+0:292            Constant:
+0:292              0 (const int)
+0:292            Constant:
+0:292              1 (const int)
+0:292        Convert bool to int ( temp 2-component vector of int)
+0:292          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:292            Compare Less Than ( global 2-component vector of bool)
+0:292              vector swizzle ( temp 2-component vector of int)
+0:292                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:292                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292                    Constant:
+0:292                      1 (const int)
+0:292                  Constant:
+0:292                    1 (const int)
+0:292                Sequence
+0:292                  Constant:
+0:292                    0 (const int)
+0:292                  Constant:
+0:292                    1 (const int)
+0:292              Constant:
+0:292                0 (const int)
+0:292                0 (const int)
+0:292            'ballot' ( temp 4-component vector of uint)
+0:293      move second child to first child ( temp 3-component vector of int)
+0:293        vector swizzle ( temp 3-component vector of int)
+0:293          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:293            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:293              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:293              'invocation' ( temp uint)
+0:293            Constant:
+0:293              1 (const int)
+0:293          Sequence
+0:293            Constant:
+0:293              0 (const int)
+0:293            Constant:
+0:293              1 (const int)
+0:293            Constant:
+0:293              2 (const int)
+0:293        Convert bool to int ( temp 3-component vector of int)
+0:293          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:293            Compare Less Than ( global 3-component vector of bool)
+0:293              vector swizzle ( temp 3-component vector of int)
+0:293                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:293                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:293                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:293                    Constant:
+0:293                      1 (const int)
+0:293                  Constant:
+0:293                    1 (const int)
+0:293                Sequence
+0:293                  Constant:
+0:293                    0 (const int)
+0:293                  Constant:
+0:293                    1 (const int)
+0:293                  Constant:
+0:293                    2 (const int)
+0:293              Constant:
+0:293                0 (const int)
+0:293                0 (const int)
+0:293                0 (const int)
+0:293            'ballot' ( temp 4-component vector of uint)
+0:294      move second child to first child ( temp 4-component vector of int)
+0:294        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:294          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294            'invocation' ( temp uint)
+0:294          Constant:
+0:294            1 (const int)
+0:294        Convert bool to int ( temp 4-component vector of int)
+0:294          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:294            Compare Less Than ( global 4-component vector of bool)
+0:294              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:294                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294                  Constant:
+0:294                    1 (const int)
+0:294                Constant:
+0:294                  1 (const int)
+0:294              Constant:
+0:294                0 (const int)
+0:294                0 (const int)
+0:294                0 (const int)
+0:294                0 (const int)
+0:294            'ballot' ( temp 4-component vector of uint)
+0:296      move second child to first child ( temp float)
+0:296        direct index ( temp float)
+0:296          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:296            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296              'invocation' ( temp uint)
+0:296            Constant:
+0:296              0 (const int)
+0:296          Constant:
+0:296            0 (const int)
+0:296        ERROR: Bad aggregation op
+ ( global float)
+0:296          direct index ( temp float)
+0:296            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:296              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296                Constant:
+0:296                  0 (const int)
+0:296              Constant:
+0:296                0 (const int)
+0:296            Constant:
+0:296              0 (const int)
+0:296          'ballot' ( temp 4-component vector of uint)
+0:297      move second child to first child ( temp 2-component vector of float)
+0:297        vector swizzle ( temp 2-component vector of float)
+0:297          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:297            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297              'invocation' ( temp uint)
+0:297            Constant:
+0:297              0 (const int)
+0:297          Sequence
+0:297            Constant:
+0:297              0 (const int)
+0:297            Constant:
+0:297              1 (const int)
+0:297        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:297          vector swizzle ( temp 2-component vector of float)
+0:297            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:297              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297                Constant:
+0:297                  1 (const int)
+0:297              Constant:
+0:297                0 (const int)
+0:297            Sequence
+0:297              Constant:
+0:297                0 (const int)
+0:297              Constant:
+0:297                1 (const int)
+0:297          'ballot' ( temp 4-component vector of uint)
+0:298      move second child to first child ( temp 3-component vector of float)
+0:298        vector swizzle ( temp 3-component vector of float)
+0:298          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:298            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:298              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:298              'invocation' ( temp uint)
+0:298            Constant:
+0:298              0 (const int)
+0:298          Sequence
+0:298            Constant:
+0:298              0 (const int)
+0:298            Constant:
+0:298              1 (const int)
+0:298            Constant:
+0:298              2 (const int)
+0:298        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:298          vector swizzle ( temp 3-component vector of float)
+0:298            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:298              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:298                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:298                Constant:
+0:298                  2 (const int)
+0:298              Constant:
+0:298                0 (const int)
+0:298            Sequence
+0:298              Constant:
+0:298                0 (const int)
+0:298              Constant:
+0:298                1 (const int)
+0:298              Constant:
+0:298                2 (const int)
+0:298          'ballot' ( temp 4-component vector of uint)
+0:299      move second child to first child ( temp 4-component vector of float)
+0:299        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:299          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299            'invocation' ( temp uint)
+0:299          Constant:
+0:299            0 (const int)
+0:299        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:299          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:299            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299              Constant:
+0:299                3 (const int)
+0:299            Constant:
+0:299              0 (const int)
+0:299          'ballot' ( temp 4-component vector of uint)
+0:301      move second child to first child ( temp int)
+0:301        direct index ( temp int)
+0:301          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:301            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301              'invocation' ( temp uint)
+0:301            Constant:
+0:301              1 (const int)
+0:301          Constant:
+0:301            0 (const int)
+0:301        ERROR: Bad aggregation op
+ ( global int)
+0:301          direct index ( temp int)
+0:301            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:301              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301                Constant:
+0:301                  0 (const int)
+0:301              Constant:
+0:301                1 (const int)
+0:301            Constant:
+0:301              0 (const int)
+0:301          'ballot' ( temp 4-component vector of uint)
+0:302      move second child to first child ( temp 2-component vector of int)
+0:302        vector swizzle ( temp 2-component vector of int)
+0:302          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:302            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302              'invocation' ( temp uint)
+0:302            Constant:
+0:302              1 (const int)
+0:302          Sequence
+0:302            Constant:
+0:302              0 (const int)
+0:302            Constant:
+0:302              1 (const int)
+0:302        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:302          vector swizzle ( temp 2-component vector of int)
+0:302            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:302              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302                Constant:
+0:302                  1 (const int)
+0:302              Constant:
+0:302                1 (const int)
+0:302            Sequence
+0:302              Constant:
+0:302                0 (const int)
+0:302              Constant:
+0:302                1 (const int)
+0:302          'ballot' ( temp 4-component vector of uint)
+0:303      move second child to first child ( temp 3-component vector of int)
+0:303        vector swizzle ( temp 3-component vector of int)
+0:303          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:303            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:303              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:303              'invocation' ( temp uint)
+0:303            Constant:
+0:303              1 (const int)
+0:303          Sequence
+0:303            Constant:
+0:303              0 (const int)
+0:303            Constant:
+0:303              1 (const int)
+0:303            Constant:
+0:303              2 (const int)
+0:303        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:303          vector swizzle ( temp 3-component vector of int)
+0:303            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:303              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:303                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:303                Constant:
+0:303                  2 (const int)
+0:303              Constant:
+0:303                1 (const int)
+0:303            Sequence
+0:303              Constant:
+0:303                0 (const int)
+0:303              Constant:
+0:303                1 (const int)
+0:303              Constant:
+0:303                2 (const int)
+0:303          'ballot' ( temp 4-component vector of uint)
+0:304      move second child to first child ( temp 4-component vector of int)
+0:304        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:304          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304            'invocation' ( temp uint)
+0:304          Constant:
+0:304            1 (const int)
+0:304        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:304          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:304            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304              Constant:
+0:304                3 (const int)
+0:304            Constant:
+0:304              1 (const int)
+0:304          'ballot' ( temp 4-component vector of uint)
+0:306      move second child to first child ( temp uint)
+0:306        direct index ( temp uint)
+0:306          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:306            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306              'invocation' ( temp uint)
+0:306            Constant:
+0:306              2 (const int)
+0:306          Constant:
+0:306            0 (const int)
+0:306        ERROR: Bad aggregation op
+ ( global uint)
+0:306          direct index ( temp uint)
+0:306            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:306              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306                Constant:
+0:306                  0 (const int)
+0:306              Constant:
+0:306                2 (const int)
+0:306            Constant:
+0:306              0 (const int)
+0:306          'ballot' ( temp 4-component vector of uint)
+0:307      move second child to first child ( temp 2-component vector of uint)
+0:307        vector swizzle ( temp 2-component vector of uint)
+0:307          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:307            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307              'invocation' ( temp uint)
+0:307            Constant:
+0:307              2 (const int)
+0:307          Sequence
+0:307            Constant:
+0:307              0 (const int)
+0:307            Constant:
+0:307              1 (const int)
+0:307        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:307          vector swizzle ( temp 2-component vector of uint)
+0:307            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:307              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307                Constant:
+0:307                  1 (const int)
+0:307              Constant:
+0:307                2 (const int)
+0:307            Sequence
+0:307              Constant:
+0:307                0 (const int)
+0:307              Constant:
+0:307                1 (const int)
+0:307          'ballot' ( temp 4-component vector of uint)
+0:308      move second child to first child ( temp 3-component vector of uint)
+0:308        vector swizzle ( temp 3-component vector of uint)
+0:308          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:308            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:308              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:308              'invocation' ( temp uint)
+0:308            Constant:
+0:308              2 (const int)
+0:308          Sequence
+0:308            Constant:
+0:308              0 (const int)
+0:308            Constant:
+0:308              1 (const int)
+0:308            Constant:
+0:308              2 (const int)
+0:308        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:308          vector swizzle ( temp 3-component vector of uint)
+0:308            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:308              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:308                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:308                Constant:
+0:308                  2 (const int)
+0:308              Constant:
+0:308                2 (const int)
+0:308            Sequence
+0:308              Constant:
+0:308                0 (const int)
+0:308              Constant:
+0:308                1 (const int)
+0:308              Constant:
+0:308                2 (const int)
+0:308          'ballot' ( temp 4-component vector of uint)
+0:309      move second child to first child ( temp 4-component vector of uint)
+0:309        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:309          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309            'invocation' ( temp uint)
+0:309          Constant:
+0:309            2 (const int)
+0:309        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:309          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:309            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309              Constant:
+0:309                3 (const int)
+0:309            Constant:
+0:309              2 (const int)
+0:309          'ballot' ( temp 4-component vector of uint)
+0:311      move second child to first child ( temp double)
+0:311        direct index ( temp double)
+0:311          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:311            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311              'invocation' ( temp uint)
+0:311            Constant:
+0:311              3 (const int)
+0:311          Constant:
+0:311            0 (const int)
+0:311        ERROR: Bad aggregation op
+ ( global double)
+0:311          direct index ( temp double)
+0:311            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:311              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311                Constant:
+0:311                  0 (const int)
+0:311              Constant:
+0:311                3 (const int)
+0:311            Constant:
+0:311              0 (const int)
+0:311          'ballot' ( temp 4-component vector of uint)
+0:312      move second child to first child ( temp 2-component vector of double)
+0:312        vector swizzle ( temp 2-component vector of double)
+0:312          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:312            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312              'invocation' ( temp uint)
+0:312            Constant:
+0:312              3 (const int)
+0:312          Sequence
+0:312            Constant:
+0:312              0 (const int)
+0:312            Constant:
+0:312              1 (const int)
+0:312        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:312          vector swizzle ( temp 2-component vector of double)
+0:312            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:312              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312                Constant:
+0:312                  1 (const int)
+0:312              Constant:
+0:312                3 (const int)
+0:312            Sequence
+0:312              Constant:
+0:312                0 (const int)
+0:312              Constant:
+0:312                1 (const int)
+0:312          'ballot' ( temp 4-component vector of uint)
+0:313      move second child to first child ( temp 3-component vector of double)
+0:313        vector swizzle ( temp 3-component vector of double)
+0:313          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:313            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:313              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:313              'invocation' ( temp uint)
+0:313            Constant:
+0:313              3 (const int)
+0:313          Sequence
+0:313            Constant:
+0:313              0 (const int)
+0:313            Constant:
+0:313              1 (const int)
+0:313            Constant:
+0:313              2 (const int)
+0:313        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:313          vector swizzle ( temp 3-component vector of double)
+0:313            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:313              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:313                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:313                Constant:
+0:313                  2 (const int)
+0:313              Constant:
+0:313                3 (const int)
+0:313            Sequence
+0:313              Constant:
+0:313                0 (const int)
+0:313              Constant:
+0:313                1 (const int)
+0:313              Constant:
+0:313                2 (const int)
+0:313          'ballot' ( temp 4-component vector of uint)
+0:314      move second child to first child ( temp 4-component vector of double)
+0:314        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:314          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314            'invocation' ( temp uint)
+0:314          Constant:
+0:314            3 (const int)
+0:314        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:314          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:314            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314              Constant:
+0:314                3 (const int)
+0:314            Constant:
+0:314              3 (const int)
+0:314          'ballot' ( temp 4-component vector of uint)
+0:316      move second child to first child ( temp float)
+0:316        direct index ( temp float)
+0:316          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:316            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316              'invocation' ( temp uint)
+0:316            Constant:
+0:316              0 (const int)
+0:316          Constant:
+0:316            0 (const int)
+0:316        ERROR: Bad aggregation op
+ ( global float)
+0:316          direct index ( temp float)
+0:316            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:316              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316                Constant:
+0:316                  0 (const int)
+0:316              Constant:
+0:316                0 (const int)
+0:316            Constant:
+0:316              0 (const int)
+0:316          'ballot' ( temp 4-component vector of uint)
+0:317      move second child to first child ( temp 2-component vector of float)
+0:317        vector swizzle ( temp 2-component vector of float)
+0:317          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:317            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317              'invocation' ( temp uint)
+0:317            Constant:
+0:317              0 (const int)
+0:317          Sequence
+0:317            Constant:
+0:317              0 (const int)
+0:317            Constant:
+0:317              1 (const int)
+0:317        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:317          vector swizzle ( temp 2-component vector of float)
+0:317            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:317              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317                Constant:
+0:317                  1 (const int)
+0:317              Constant:
+0:317                0 (const int)
+0:317            Sequence
+0:317              Constant:
+0:317                0 (const int)
+0:317              Constant:
+0:317                1 (const int)
+0:317          'ballot' ( temp 4-component vector of uint)
+0:318      move second child to first child ( temp 3-component vector of float)
+0:318        vector swizzle ( temp 3-component vector of float)
+0:318          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:318            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:318              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:318              'invocation' ( temp uint)
+0:318            Constant:
+0:318              0 (const int)
+0:318          Sequence
+0:318            Constant:
+0:318              0 (const int)
+0:318            Constant:
+0:318              1 (const int)
+0:318            Constant:
+0:318              2 (const int)
+0:318        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:318          vector swizzle ( temp 3-component vector of float)
+0:318            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:318              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:318                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:318                Constant:
+0:318                  2 (const int)
+0:318              Constant:
+0:318                0 (const int)
+0:318            Sequence
+0:318              Constant:
+0:318                0 (const int)
+0:318              Constant:
+0:318                1 (const int)
+0:318              Constant:
+0:318                2 (const int)
+0:318          'ballot' ( temp 4-component vector of uint)
+0:319      move second child to first child ( temp 4-component vector of float)
+0:319        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:319          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319            'invocation' ( temp uint)
+0:319          Constant:
+0:319            0 (const int)
+0:319        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:319          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:319            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319              Constant:
+0:319                3 (const int)
+0:319            Constant:
+0:319              0 (const int)
+0:319          'ballot' ( temp 4-component vector of uint)
+0:321      move second child to first child ( temp int)
+0:321        direct index ( temp int)
+0:321          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:321            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321              'invocation' ( temp uint)
+0:321            Constant:
+0:321              1 (const int)
+0:321          Constant:
+0:321            0 (const int)
+0:321        ERROR: Bad aggregation op
+ ( global int)
+0:321          direct index ( temp int)
+0:321            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:321              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321                Constant:
+0:321                  0 (const int)
+0:321              Constant:
+0:321                1 (const int)
+0:321            Constant:
+0:321              0 (const int)
+0:321          'ballot' ( temp 4-component vector of uint)
+0:322      move second child to first child ( temp 2-component vector of int)
+0:322        vector swizzle ( temp 2-component vector of int)
+0:322          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:322            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322              'invocation' ( temp uint)
+0:322            Constant:
+0:322              1 (const int)
+0:322          Sequence
+0:322            Constant:
+0:322              0 (const int)
+0:322            Constant:
+0:322              1 (const int)
+0:322        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:322          vector swizzle ( temp 2-component vector of int)
+0:322            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:322              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322                Constant:
+0:322                  1 (const int)
+0:322              Constant:
+0:322                1 (const int)
+0:322            Sequence
+0:322              Constant:
+0:322                0 (const int)
+0:322              Constant:
+0:322                1 (const int)
+0:322          'ballot' ( temp 4-component vector of uint)
+0:323      move second child to first child ( temp 3-component vector of int)
+0:323        vector swizzle ( temp 3-component vector of int)
+0:323          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:323            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:323              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:323              'invocation' ( temp uint)
+0:323            Constant:
+0:323              1 (const int)
+0:323          Sequence
+0:323            Constant:
+0:323              0 (const int)
+0:323            Constant:
+0:323              1 (const int)
+0:323            Constant:
+0:323              2 (const int)
+0:323        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:323          vector swizzle ( temp 3-component vector of int)
+0:323            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:323              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:323                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:323                Constant:
+0:323                  2 (const int)
+0:323              Constant:
+0:323                1 (const int)
+0:323            Sequence
+0:323              Constant:
+0:323                0 (const int)
+0:323              Constant:
+0:323                1 (const int)
+0:323              Constant:
+0:323                2 (const int)
+0:323          'ballot' ( temp 4-component vector of uint)
+0:324      move second child to first child ( temp 4-component vector of int)
+0:324        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:324          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324            'invocation' ( temp uint)
+0:324          Constant:
+0:324            1 (const int)
+0:324        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:324          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:324            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324              Constant:
+0:324                3 (const int)
+0:324            Constant:
+0:324              1 (const int)
+0:324          'ballot' ( temp 4-component vector of uint)
+0:326      move second child to first child ( temp uint)
+0:326        direct index ( temp uint)
+0:326          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:326            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326              'invocation' ( temp uint)
+0:326            Constant:
+0:326              2 (const int)
+0:326          Constant:
+0:326            0 (const int)
+0:326        ERROR: Bad aggregation op
+ ( global uint)
+0:326          direct index ( temp uint)
+0:326            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:326              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326                Constant:
+0:326                  0 (const int)
+0:326              Constant:
+0:326                2 (const int)
+0:326            Constant:
+0:326              0 (const int)
+0:326          'ballot' ( temp 4-component vector of uint)
+0:327      move second child to first child ( temp 2-component vector of uint)
+0:327        vector swizzle ( temp 2-component vector of uint)
+0:327          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:327            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327              'invocation' ( temp uint)
+0:327            Constant:
+0:327              2 (const int)
+0:327          Sequence
+0:327            Constant:
+0:327              0 (const int)
+0:327            Constant:
+0:327              1 (const int)
+0:327        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:327          vector swizzle ( temp 2-component vector of uint)
+0:327            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:327              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327                Constant:
+0:327                  1 (const int)
+0:327              Constant:
+0:327                2 (const int)
+0:327            Sequence
+0:327              Constant:
+0:327                0 (const int)
+0:327              Constant:
+0:327                1 (const int)
+0:327          'ballot' ( temp 4-component vector of uint)
+0:328      move second child to first child ( temp 3-component vector of uint)
+0:328        vector swizzle ( temp 3-component vector of uint)
+0:328          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:328            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:328              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:328              'invocation' ( temp uint)
+0:328            Constant:
+0:328              2 (const int)
+0:328          Sequence
+0:328            Constant:
+0:328              0 (const int)
+0:328            Constant:
+0:328              1 (const int)
+0:328            Constant:
+0:328              2 (const int)
+0:328        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:328          vector swizzle ( temp 3-component vector of uint)
+0:328            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:328              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:328                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:328                Constant:
+0:328                  2 (const int)
+0:328              Constant:
+0:328                2 (const int)
+0:328            Sequence
+0:328              Constant:
+0:328                0 (const int)
+0:328              Constant:
+0:328                1 (const int)
+0:328              Constant:
+0:328                2 (const int)
+0:328          'ballot' ( temp 4-component vector of uint)
+0:329      move second child to first child ( temp 4-component vector of uint)
+0:329        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:329          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329            'invocation' ( temp uint)
+0:329          Constant:
+0:329            2 (const int)
+0:329        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:329          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:329            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329              Constant:
+0:329                3 (const int)
+0:329            Constant:
+0:329              2 (const int)
+0:329          'ballot' ( temp 4-component vector of uint)
+0:331      move second child to first child ( temp double)
+0:331        direct index ( temp double)
+0:331          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:331            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331              'invocation' ( temp uint)
+0:331            Constant:
+0:331              3 (const int)
+0:331          Constant:
+0:331            0 (const int)
+0:331        ERROR: Bad aggregation op
+ ( global double)
+0:331          direct index ( temp double)
+0:331            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:331              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331                Constant:
+0:331                  0 (const int)
+0:331              Constant:
+0:331                3 (const int)
+0:331            Constant:
+0:331              0 (const int)
+0:331          'ballot' ( temp 4-component vector of uint)
+0:332      move second child to first child ( temp 2-component vector of double)
+0:332        vector swizzle ( temp 2-component vector of double)
+0:332          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:332            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332              'invocation' ( temp uint)
+0:332            Constant:
+0:332              3 (const int)
+0:332          Sequence
+0:332            Constant:
+0:332              0 (const int)
+0:332            Constant:
+0:332              1 (const int)
+0:332        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:332          vector swizzle ( temp 2-component vector of double)
+0:332            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:332              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332                Constant:
+0:332                  1 (const int)
+0:332              Constant:
+0:332                3 (const int)
+0:332            Sequence
+0:332              Constant:
+0:332                0 (const int)
+0:332              Constant:
+0:332                1 (const int)
+0:332          'ballot' ( temp 4-component vector of uint)
+0:333      move second child to first child ( temp 3-component vector of double)
+0:333        vector swizzle ( temp 3-component vector of double)
+0:333          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:333            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:333              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:333              'invocation' ( temp uint)
+0:333            Constant:
+0:333              3 (const int)
+0:333          Sequence
+0:333            Constant:
+0:333              0 (const int)
+0:333            Constant:
+0:333              1 (const int)
+0:333            Constant:
+0:333              2 (const int)
+0:333        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:333          vector swizzle ( temp 3-component vector of double)
+0:333            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:333              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:333                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:333                Constant:
+0:333                  2 (const int)
+0:333              Constant:
+0:333                3 (const int)
+0:333            Sequence
+0:333              Constant:
+0:333                0 (const int)
+0:333              Constant:
+0:333                1 (const int)
+0:333              Constant:
+0:333                2 (const int)
+0:333          'ballot' ( temp 4-component vector of uint)
+0:334      move second child to first child ( temp 4-component vector of double)
+0:334        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:334          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334            'invocation' ( temp uint)
+0:334          Constant:
+0:334            3 (const int)
+0:334        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:334          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:334            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334              Constant:
+0:334                3 (const int)
+0:334            Constant:
+0:334              3 (const int)
+0:334          'ballot' ( temp 4-component vector of uint)
+0:336      move second child to first child ( temp float)
+0:336        direct index ( temp float)
+0:336          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:336            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336              'invocation' ( temp uint)
+0:336            Constant:
+0:336              0 (const int)
+0:336          Constant:
+0:336            0 (const int)
+0:336        ERROR: Bad aggregation op
+ ( global float)
+0:336          direct index ( temp float)
+0:336            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:336              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336                Constant:
+0:336                  0 (const int)
+0:336              Constant:
+0:336                0 (const int)
+0:336            Constant:
+0:336              0 (const int)
+0:336          'ballot' ( temp 4-component vector of uint)
+0:337      move second child to first child ( temp 2-component vector of float)
+0:337        vector swizzle ( temp 2-component vector of float)
+0:337          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:337            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337              'invocation' ( temp uint)
+0:337            Constant:
+0:337              0 (const int)
+0:337          Sequence
+0:337            Constant:
+0:337              0 (const int)
+0:337            Constant:
+0:337              1 (const int)
+0:337        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:337          vector swizzle ( temp 2-component vector of float)
+0:337            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:337              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337                Constant:
+0:337                  1 (const int)
+0:337              Constant:
+0:337                0 (const int)
+0:337            Sequence
+0:337              Constant:
+0:337                0 (const int)
+0:337              Constant:
+0:337                1 (const int)
+0:337          'ballot' ( temp 4-component vector of uint)
+0:338      move second child to first child ( temp 3-component vector of float)
+0:338        vector swizzle ( temp 3-component vector of float)
+0:338          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:338            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:338              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:338              'invocation' ( temp uint)
+0:338            Constant:
+0:338              0 (const int)
+0:338          Sequence
+0:338            Constant:
+0:338              0 (const int)
+0:338            Constant:
+0:338              1 (const int)
+0:338            Constant:
+0:338              2 (const int)
+0:338        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:338          vector swizzle ( temp 3-component vector of float)
+0:338            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:338              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:338                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:338                Constant:
+0:338                  2 (const int)
+0:338              Constant:
+0:338                0 (const int)
+0:338            Sequence
+0:338              Constant:
+0:338                0 (const int)
+0:338              Constant:
+0:338                1 (const int)
+0:338              Constant:
+0:338                2 (const int)
+0:338          'ballot' ( temp 4-component vector of uint)
+0:339      move second child to first child ( temp 4-component vector of float)
+0:339        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:339          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339            'invocation' ( temp uint)
+0:339          Constant:
+0:339            0 (const int)
+0:339        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:339          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:339            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339              Constant:
+0:339                3 (const int)
+0:339            Constant:
+0:339              0 (const int)
+0:339          'ballot' ( temp 4-component vector of uint)
+0:341      move second child to first child ( temp int)
+0:341        direct index ( temp int)
+0:341          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:341            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341              'invocation' ( temp uint)
+0:341            Constant:
+0:341              1 (const int)
+0:341          Constant:
+0:341            0 (const int)
+0:341        ERROR: Bad aggregation op
+ ( global int)
+0:341          direct index ( temp int)
+0:341            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:341              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341                Constant:
+0:341                  0 (const int)
+0:341              Constant:
+0:341                1 (const int)
+0:341            Constant:
+0:341              0 (const int)
+0:341          'ballot' ( temp 4-component vector of uint)
+0:342      move second child to first child ( temp 2-component vector of int)
+0:342        vector swizzle ( temp 2-component vector of int)
+0:342          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:342            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342              'invocation' ( temp uint)
+0:342            Constant:
+0:342              1 (const int)
+0:342          Sequence
+0:342            Constant:
+0:342              0 (const int)
+0:342            Constant:
+0:342              1 (const int)
+0:342        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:342          vector swizzle ( temp 2-component vector of int)
+0:342            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:342              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342                Constant:
+0:342                  1 (const int)
+0:342              Constant:
+0:342                1 (const int)
+0:342            Sequence
+0:342              Constant:
+0:342                0 (const int)
+0:342              Constant:
+0:342                1 (const int)
+0:342          'ballot' ( temp 4-component vector of uint)
+0:343      move second child to first child ( temp 3-component vector of int)
+0:343        vector swizzle ( temp 3-component vector of int)
+0:343          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:343            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:343              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:343              'invocation' ( temp uint)
+0:343            Constant:
+0:343              1 (const int)
+0:343          Sequence
+0:343            Constant:
+0:343              0 (const int)
+0:343            Constant:
+0:343              1 (const int)
+0:343            Constant:
+0:343              2 (const int)
+0:343        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:343          vector swizzle ( temp 3-component vector of int)
+0:343            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:343              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:343                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:343                Constant:
+0:343                  2 (const int)
+0:343              Constant:
+0:343                1 (const int)
+0:343            Sequence
+0:343              Constant:
+0:343                0 (const int)
+0:343              Constant:
+0:343                1 (const int)
+0:343              Constant:
+0:343                2 (const int)
+0:343          'ballot' ( temp 4-component vector of uint)
+0:344      move second child to first child ( temp 4-component vector of int)
+0:344        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:344          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344            'invocation' ( temp uint)
+0:344          Constant:
+0:344            1 (const int)
+0:344        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:344          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:344            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344              Constant:
+0:344                3 (const int)
+0:344            Constant:
+0:344              1 (const int)
+0:344          'ballot' ( temp 4-component vector of uint)
+0:346      move second child to first child ( temp uint)
+0:346        direct index ( temp uint)
+0:346          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:346            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346              'invocation' ( temp uint)
+0:346            Constant:
+0:346              2 (const int)
+0:346          Constant:
+0:346            0 (const int)
+0:346        ERROR: Bad aggregation op
+ ( global uint)
+0:346          direct index ( temp uint)
+0:346            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:346              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346                Constant:
+0:346                  0 (const int)
+0:346              Constant:
+0:346                2 (const int)
+0:346            Constant:
+0:346              0 (const int)
+0:346          'ballot' ( temp 4-component vector of uint)
+0:347      move second child to first child ( temp 2-component vector of uint)
+0:347        vector swizzle ( temp 2-component vector of uint)
+0:347          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:347            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347              'invocation' ( temp uint)
+0:347            Constant:
+0:347              2 (const int)
+0:347          Sequence
+0:347            Constant:
+0:347              0 (const int)
+0:347            Constant:
+0:347              1 (const int)
+0:347        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:347          vector swizzle ( temp 2-component vector of uint)
+0:347            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:347              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347                Constant:
+0:347                  1 (const int)
+0:347              Constant:
+0:347                2 (const int)
+0:347            Sequence
+0:347              Constant:
+0:347                0 (const int)
+0:347              Constant:
+0:347                1 (const int)
+0:347          'ballot' ( temp 4-component vector of uint)
+0:348      move second child to first child ( temp 3-component vector of uint)
+0:348        vector swizzle ( temp 3-component vector of uint)
+0:348          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:348            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:348              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:348              'invocation' ( temp uint)
+0:348            Constant:
+0:348              2 (const int)
+0:348          Sequence
+0:348            Constant:
+0:348              0 (const int)
+0:348            Constant:
+0:348              1 (const int)
+0:348            Constant:
+0:348              2 (const int)
+0:348        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:348          vector swizzle ( temp 3-component vector of uint)
+0:348            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:348              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:348                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:348                Constant:
+0:348                  2 (const int)
+0:348              Constant:
+0:348                2 (const int)
+0:348            Sequence
+0:348              Constant:
+0:348                0 (const int)
+0:348              Constant:
+0:348                1 (const int)
+0:348              Constant:
+0:348                2 (const int)
+0:348          'ballot' ( temp 4-component vector of uint)
+0:349      move second child to first child ( temp 4-component vector of uint)
+0:349        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:349          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349            'invocation' ( temp uint)
+0:349          Constant:
+0:349            2 (const int)
+0:349        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:349          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:349            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349              Constant:
+0:349                3 (const int)
+0:349            Constant:
+0:349              2 (const int)
+0:349          'ballot' ( temp 4-component vector of uint)
+0:351      move second child to first child ( temp double)
+0:351        direct index ( temp double)
+0:351          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:351            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351              'invocation' ( temp uint)
+0:351            Constant:
+0:351              3 (const int)
+0:351          Constant:
+0:351            0 (const int)
+0:351        ERROR: Bad aggregation op
+ ( global double)
+0:351          direct index ( temp double)
+0:351            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:351              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351                Constant:
+0:351                  0 (const int)
+0:351              Constant:
+0:351                3 (const int)
+0:351            Constant:
+0:351              0 (const int)
+0:351          'ballot' ( temp 4-component vector of uint)
+0:352      move second child to first child ( temp 2-component vector of double)
+0:352        vector swizzle ( temp 2-component vector of double)
+0:352          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:352            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352              'invocation' ( temp uint)
+0:352            Constant:
+0:352              3 (const int)
+0:352          Sequence
+0:352            Constant:
+0:352              0 (const int)
+0:352            Constant:
+0:352              1 (const int)
+0:352        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:352          vector swizzle ( temp 2-component vector of double)
+0:352            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:352              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352                Constant:
+0:352                  1 (const int)
+0:352              Constant:
+0:352                3 (const int)
+0:352            Sequence
+0:352              Constant:
+0:352                0 (const int)
+0:352              Constant:
+0:352                1 (const int)
+0:352          'ballot' ( temp 4-component vector of uint)
+0:353      move second child to first child ( temp 3-component vector of double)
+0:353        vector swizzle ( temp 3-component vector of double)
+0:353          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:353            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:353              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:353              'invocation' ( temp uint)
+0:353            Constant:
+0:353              3 (const int)
+0:353          Sequence
+0:353            Constant:
+0:353              0 (const int)
+0:353            Constant:
+0:353              1 (const int)
+0:353            Constant:
+0:353              2 (const int)
+0:353        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:353          vector swizzle ( temp 3-component vector of double)
+0:353            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:353              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:353                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:353                Constant:
+0:353                  2 (const int)
+0:353              Constant:
+0:353                3 (const int)
+0:353            Sequence
+0:353              Constant:
+0:353                0 (const int)
+0:353              Constant:
+0:353                1 (const int)
+0:353              Constant:
+0:353                2 (const int)
+0:353          'ballot' ( temp 4-component vector of uint)
+0:354      move second child to first child ( temp 4-component vector of double)
+0:354        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:354          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354            'invocation' ( temp uint)
+0:354          Constant:
+0:354            3 (const int)
+0:354        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:354          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:354            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354              Constant:
+0:354                3 (const int)
+0:354            Constant:
+0:354              3 (const int)
+0:354          'ballot' ( temp 4-component vector of uint)
+0:356      move second child to first child ( temp float)
+0:356        direct index ( temp float)
+0:356          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:356            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356              'invocation' ( temp uint)
+0:356            Constant:
+0:356              0 (const int)
+0:356          Constant:
+0:356            0 (const int)
+0:356        ERROR: Bad aggregation op
+ ( global float)
+0:356          direct index ( temp float)
+0:356            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:356              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356                Constant:
+0:356                  0 (const int)
+0:356              Constant:
+0:356                0 (const int)
+0:356            Constant:
+0:356              0 (const int)
+0:356          'ballot' ( temp 4-component vector of uint)
+0:357      move second child to first child ( temp 2-component vector of float)
+0:357        vector swizzle ( temp 2-component vector of float)
+0:357          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:357            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357              'invocation' ( temp uint)
+0:357            Constant:
+0:357              0 (const int)
+0:357          Sequence
+0:357            Constant:
+0:357              0 (const int)
+0:357            Constant:
+0:357              1 (const int)
+0:357        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:357          vector swizzle ( temp 2-component vector of float)
+0:357            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:357              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357                Constant:
+0:357                  1 (const int)
+0:357              Constant:
+0:357                0 (const int)
+0:357            Sequence
+0:357              Constant:
+0:357                0 (const int)
+0:357              Constant:
+0:357                1 (const int)
+0:357          'ballot' ( temp 4-component vector of uint)
+0:358      move second child to first child ( temp 3-component vector of float)
+0:358        vector swizzle ( temp 3-component vector of float)
+0:358          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:358            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:358              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:358              'invocation' ( temp uint)
+0:358            Constant:
+0:358              0 (const int)
+0:358          Sequence
+0:358            Constant:
+0:358              0 (const int)
+0:358            Constant:
+0:358              1 (const int)
+0:358            Constant:
+0:358              2 (const int)
+0:358        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:358          vector swizzle ( temp 3-component vector of float)
+0:358            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:358              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:358                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:358                Constant:
+0:358                  2 (const int)
+0:358              Constant:
+0:358                0 (const int)
+0:358            Sequence
+0:358              Constant:
+0:358                0 (const int)
+0:358              Constant:
+0:358                1 (const int)
+0:358              Constant:
+0:358                2 (const int)
+0:358          'ballot' ( temp 4-component vector of uint)
+0:359      move second child to first child ( temp 4-component vector of float)
+0:359        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:359          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359            'invocation' ( temp uint)
+0:359          Constant:
+0:359            0 (const int)
+0:359        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:359          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:359            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359              Constant:
+0:359                3 (const int)
+0:359            Constant:
+0:359              0 (const int)
+0:359          'ballot' ( temp 4-component vector of uint)
+0:361      move second child to first child ( temp int)
+0:361        direct index ( temp int)
+0:361          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:361            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361              'invocation' ( temp uint)
+0:361            Constant:
+0:361              1 (const int)
+0:361          Constant:
+0:361            0 (const int)
+0:361        ERROR: Bad aggregation op
+ ( global int)
+0:361          direct index ( temp int)
+0:361            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:361              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361                Constant:
+0:361                  0 (const int)
+0:361              Constant:
+0:361                1 (const int)
+0:361            Constant:
+0:361              0 (const int)
+0:361          'ballot' ( temp 4-component vector of uint)
+0:362      move second child to first child ( temp 2-component vector of int)
+0:362        vector swizzle ( temp 2-component vector of int)
+0:362          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:362            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362              'invocation' ( temp uint)
+0:362            Constant:
+0:362              1 (const int)
+0:362          Sequence
+0:362            Constant:
+0:362              0 (const int)
+0:362            Constant:
+0:362              1 (const int)
+0:362        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:362          vector swizzle ( temp 2-component vector of int)
+0:362            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:362              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362                Constant:
+0:362                  1 (const int)
+0:362              Constant:
+0:362                1 (const int)
+0:362            Sequence
+0:362              Constant:
+0:362                0 (const int)
+0:362              Constant:
+0:362                1 (const int)
+0:362          'ballot' ( temp 4-component vector of uint)
+0:363      move second child to first child ( temp 3-component vector of int)
+0:363        vector swizzle ( temp 3-component vector of int)
+0:363          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:363            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:363              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:363              'invocation' ( temp uint)
+0:363            Constant:
+0:363              1 (const int)
+0:363          Sequence
+0:363            Constant:
+0:363              0 (const int)
+0:363            Constant:
+0:363              1 (const int)
+0:363            Constant:
+0:363              2 (const int)
+0:363        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:363          vector swizzle ( temp 3-component vector of int)
+0:363            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:363              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:363                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:363                Constant:
+0:363                  2 (const int)
+0:363              Constant:
+0:363                1 (const int)
+0:363            Sequence
+0:363              Constant:
+0:363                0 (const int)
+0:363              Constant:
+0:363                1 (const int)
+0:363              Constant:
+0:363                2 (const int)
+0:363          'ballot' ( temp 4-component vector of uint)
+0:364      move second child to first child ( temp 4-component vector of int)
+0:364        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:364          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364            'invocation' ( temp uint)
+0:364          Constant:
+0:364            1 (const int)
+0:364        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:364          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:364            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364              Constant:
+0:364                3 (const int)
+0:364            Constant:
+0:364              1 (const int)
+0:364          'ballot' ( temp 4-component vector of uint)
+0:366      move second child to first child ( temp uint)
+0:366        direct index ( temp uint)
+0:366          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:366            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366              'invocation' ( temp uint)
+0:366            Constant:
+0:366              2 (const int)
+0:366          Constant:
+0:366            0 (const int)
+0:366        ERROR: Bad aggregation op
+ ( global uint)
+0:366          direct index ( temp uint)
+0:366            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:366              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366                Constant:
+0:366                  0 (const int)
+0:366              Constant:
+0:366                2 (const int)
+0:366            Constant:
+0:366              0 (const int)
+0:366          'ballot' ( temp 4-component vector of uint)
+0:367      move second child to first child ( temp 2-component vector of uint)
+0:367        vector swizzle ( temp 2-component vector of uint)
+0:367          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:367            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367              'invocation' ( temp uint)
+0:367            Constant:
+0:367              2 (const int)
+0:367          Sequence
+0:367            Constant:
+0:367              0 (const int)
+0:367            Constant:
+0:367              1 (const int)
+0:367        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:367          vector swizzle ( temp 2-component vector of uint)
+0:367            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:367              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367                Constant:
+0:367                  1 (const int)
+0:367              Constant:
+0:367                2 (const int)
+0:367            Sequence
+0:367              Constant:
+0:367                0 (const int)
+0:367              Constant:
+0:367                1 (const int)
+0:367          'ballot' ( temp 4-component vector of uint)
+0:368      move second child to first child ( temp 3-component vector of uint)
+0:368        vector swizzle ( temp 3-component vector of uint)
+0:368          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:368            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:368              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:368              'invocation' ( temp uint)
+0:368            Constant:
+0:368              2 (const int)
+0:368          Sequence
+0:368            Constant:
+0:368              0 (const int)
+0:368            Constant:
+0:368              1 (const int)
+0:368            Constant:
+0:368              2 (const int)
+0:368        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:368          vector swizzle ( temp 3-component vector of uint)
+0:368            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:368              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:368                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:368                Constant:
+0:368                  2 (const int)
+0:368              Constant:
+0:368                2 (const int)
+0:368            Sequence
+0:368              Constant:
+0:368                0 (const int)
+0:368              Constant:
+0:368                1 (const int)
+0:368              Constant:
+0:368                2 (const int)
+0:368          'ballot' ( temp 4-component vector of uint)
+0:369      move second child to first child ( temp 4-component vector of uint)
+0:369        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:369          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369            'invocation' ( temp uint)
+0:369          Constant:
+0:369            2 (const int)
+0:369        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:369          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:369            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369              Constant:
+0:369                3 (const int)
+0:369            Constant:
+0:369              2 (const int)
+0:369          'ballot' ( temp 4-component vector of uint)
+0:371      move second child to first child ( temp double)
+0:371        direct index ( temp double)
+0:371          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:371            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371              'invocation' ( temp uint)
+0:371            Constant:
+0:371              3 (const int)
+0:371          Constant:
+0:371            0 (const int)
+0:371        ERROR: Bad aggregation op
+ ( global double)
+0:371          direct index ( temp double)
+0:371            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:371              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371                Constant:
+0:371                  0 (const int)
+0:371              Constant:
+0:371                3 (const int)
+0:371            Constant:
+0:371              0 (const int)
+0:371          'ballot' ( temp 4-component vector of uint)
+0:372      move second child to first child ( temp 2-component vector of double)
+0:372        vector swizzle ( temp 2-component vector of double)
+0:372          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:372            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372              'invocation' ( temp uint)
+0:372            Constant:
+0:372              3 (const int)
+0:372          Sequence
+0:372            Constant:
+0:372              0 (const int)
+0:372            Constant:
+0:372              1 (const int)
+0:372        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:372          vector swizzle ( temp 2-component vector of double)
+0:372            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:372              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372                Constant:
+0:372                  1 (const int)
+0:372              Constant:
+0:372                3 (const int)
+0:372            Sequence
+0:372              Constant:
+0:372                0 (const int)
+0:372              Constant:
+0:372                1 (const int)
+0:372          'ballot' ( temp 4-component vector of uint)
+0:373      move second child to first child ( temp 3-component vector of double)
+0:373        vector swizzle ( temp 3-component vector of double)
+0:373          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:373            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:373              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:373              'invocation' ( temp uint)
+0:373            Constant:
+0:373              3 (const int)
+0:373          Sequence
+0:373            Constant:
+0:373              0 (const int)
+0:373            Constant:
+0:373              1 (const int)
+0:373            Constant:
+0:373              2 (const int)
+0:373        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:373          vector swizzle ( temp 3-component vector of double)
+0:373            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:373              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:373                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:373                Constant:
+0:373                  2 (const int)
+0:373              Constant:
+0:373                3 (const int)
+0:373            Sequence
+0:373              Constant:
+0:373                0 (const int)
+0:373              Constant:
+0:373                1 (const int)
+0:373              Constant:
+0:373                2 (const int)
+0:373          'ballot' ( temp 4-component vector of uint)
+0:374      move second child to first child ( temp 4-component vector of double)
+0:374        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:374          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374            'invocation' ( temp uint)
+0:374          Constant:
+0:374            3 (const int)
+0:374        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:374          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:374            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374              Constant:
+0:374                3 (const int)
+0:374            Constant:
+0:374              3 (const int)
+0:374          'ballot' ( temp 4-component vector of uint)
+0:376      move second child to first child ( temp int)
+0:376        direct index ( temp int)
+0:376          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:376            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376              'invocation' ( temp uint)
+0:376            Constant:
+0:376              1 (const int)
+0:376          Constant:
+0:376            0 (const int)
+0:376        ERROR: Bad aggregation op
+ ( global int)
+0:376          direct index ( temp int)
+0:376            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:376              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376                Constant:
+0:376                  0 (const int)
+0:376              Constant:
+0:376                1 (const int)
+0:376            Constant:
+0:376              0 (const int)
+0:376          'ballot' ( temp 4-component vector of uint)
+0:377      move second child to first child ( temp 2-component vector of int)
+0:377        vector swizzle ( temp 2-component vector of int)
+0:377          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:377            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377              'invocation' ( temp uint)
+0:377            Constant:
+0:377              1 (const int)
+0:377          Sequence
+0:377            Constant:
+0:377              0 (const int)
+0:377            Constant:
+0:377              1 (const int)
+0:377        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:377          vector swizzle ( temp 2-component vector of int)
+0:377            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:377              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377                Constant:
+0:377                  1 (const int)
+0:377              Constant:
+0:377                1 (const int)
+0:377            Sequence
+0:377              Constant:
+0:377                0 (const int)
+0:377              Constant:
+0:377                1 (const int)
+0:377          'ballot' ( temp 4-component vector of uint)
+0:378      move second child to first child ( temp 3-component vector of int)
+0:378        vector swizzle ( temp 3-component vector of int)
+0:378          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:378            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:378              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:378              'invocation' ( temp uint)
+0:378            Constant:
+0:378              1 (const int)
+0:378          Sequence
+0:378            Constant:
+0:378              0 (const int)
+0:378            Constant:
+0:378              1 (const int)
+0:378            Constant:
+0:378              2 (const int)
+0:378        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:378          vector swizzle ( temp 3-component vector of int)
+0:378            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:378              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:378                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:378                Constant:
+0:378                  2 (const int)
+0:378              Constant:
+0:378                1 (const int)
+0:378            Sequence
+0:378              Constant:
+0:378                0 (const int)
+0:378              Constant:
+0:378                1 (const int)
+0:378              Constant:
+0:378                2 (const int)
+0:378          'ballot' ( temp 4-component vector of uint)
+0:379      move second child to first child ( temp 4-component vector of int)
+0:379        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:379          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379            'invocation' ( temp uint)
+0:379          Constant:
+0:379            1 (const int)
+0:379        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:379          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:379            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379              Constant:
+0:379                3 (const int)
+0:379            Constant:
+0:379              1 (const int)
+0:379          'ballot' ( temp 4-component vector of uint)
+0:381      move second child to first child ( temp uint)
+0:381        direct index ( temp uint)
+0:381          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:381            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381              'invocation' ( temp uint)
+0:381            Constant:
+0:381              2 (const int)
+0:381          Constant:
+0:381            0 (const int)
+0:381        ERROR: Bad aggregation op
+ ( global uint)
+0:381          direct index ( temp uint)
+0:381            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:381              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381                Constant:
+0:381                  0 (const int)
+0:381              Constant:
+0:381                2 (const int)
+0:381            Constant:
+0:381              0 (const int)
+0:381          'ballot' ( temp 4-component vector of uint)
+0:382      move second child to first child ( temp 2-component vector of uint)
+0:382        vector swizzle ( temp 2-component vector of uint)
+0:382          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:382            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382              'invocation' ( temp uint)
+0:382            Constant:
+0:382              2 (const int)
+0:382          Sequence
+0:382            Constant:
+0:382              0 (const int)
+0:382            Constant:
+0:382              1 (const int)
+0:382        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:382          vector swizzle ( temp 2-component vector of uint)
+0:382            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:382              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382                Constant:
+0:382                  1 (const int)
+0:382              Constant:
+0:382                2 (const int)
+0:382            Sequence
+0:382              Constant:
+0:382                0 (const int)
+0:382              Constant:
+0:382                1 (const int)
+0:382          'ballot' ( temp 4-component vector of uint)
+0:383      move second child to first child ( temp 3-component vector of uint)
+0:383        vector swizzle ( temp 3-component vector of uint)
+0:383          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:383            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:383              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:383              'invocation' ( temp uint)
+0:383            Constant:
+0:383              2 (const int)
+0:383          Sequence
+0:383            Constant:
+0:383              0 (const int)
+0:383            Constant:
+0:383              1 (const int)
+0:383            Constant:
+0:383              2 (const int)
+0:383        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:383          vector swizzle ( temp 3-component vector of uint)
+0:383            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:383              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:383                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:383                Constant:
+0:383                  2 (const int)
+0:383              Constant:
+0:383                2 (const int)
+0:383            Sequence
+0:383              Constant:
+0:383                0 (const int)
+0:383              Constant:
+0:383                1 (const int)
+0:383              Constant:
+0:383                2 (const int)
+0:383          'ballot' ( temp 4-component vector of uint)
+0:384      move second child to first child ( temp 4-component vector of uint)
+0:384        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:384          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384            'invocation' ( temp uint)
+0:384          Constant:
+0:384            2 (const int)
+0:384        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:384          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:384            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384              Constant:
+0:384                3 (const int)
+0:384            Constant:
+0:384              2 (const int)
+0:384          'ballot' ( temp 4-component vector of uint)
+0:386      move second child to first child ( temp int)
+0:386        direct index ( temp int)
+0:386          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:386            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386              'invocation' ( temp uint)
+0:386            Constant:
+0:386              1 (const int)
+0:386          Constant:
+0:386            0 (const int)
+0:386        Convert bool to int ( temp int)
+0:386          ERROR: Bad aggregation op
+ ( global bool)
+0:386            Compare Less Than ( temp bool)
+0:386              direct index ( temp int)
+0:386                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:386                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386                    Constant:
+0:386                      0 (const int)
+0:386                  Constant:
+0:386                    1 (const int)
+0:386                Constant:
+0:386                  0 (const int)
+0:386              Constant:
+0:386                0 (const int)
+0:386            'ballot' ( temp 4-component vector of uint)
+0:387      move second child to first child ( temp 2-component vector of int)
+0:387        vector swizzle ( temp 2-component vector of int)
+0:387          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:387            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387              'invocation' ( temp uint)
+0:387            Constant:
+0:387              1 (const int)
+0:387          Sequence
+0:387            Constant:
+0:387              0 (const int)
+0:387            Constant:
+0:387              1 (const int)
+0:387        Convert bool to int ( temp 2-component vector of int)
+0:387          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:387            Compare Less Than ( global 2-component vector of bool)
+0:387              vector swizzle ( temp 2-component vector of int)
+0:387                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:387                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387                    Constant:
+0:387                      1 (const int)
+0:387                  Constant:
+0:387                    1 (const int)
+0:387                Sequence
+0:387                  Constant:
+0:387                    0 (const int)
+0:387                  Constant:
+0:387                    1 (const int)
+0:387              Constant:
+0:387                0 (const int)
+0:387                0 (const int)
+0:387            'ballot' ( temp 4-component vector of uint)
+0:388      move second child to first child ( temp 3-component vector of int)
+0:388        vector swizzle ( temp 3-component vector of int)
+0:388          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:388            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:388              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:388              'invocation' ( temp uint)
+0:388            Constant:
+0:388              1 (const int)
+0:388          Sequence
+0:388            Constant:
+0:388              0 (const int)
+0:388            Constant:
+0:388              1 (const int)
+0:388            Constant:
+0:388              2 (const int)
+0:388        Convert bool to int ( temp 3-component vector of int)
+0:388          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:388            Compare Less Than ( global 3-component vector of bool)
+0:388              vector swizzle ( temp 3-component vector of int)
+0:388                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:388                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:388                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:388                    Constant:
+0:388                      1 (const int)
+0:388                  Constant:
+0:388                    1 (const int)
+0:388                Sequence
+0:388                  Constant:
+0:388                    0 (const int)
+0:388                  Constant:
+0:388                    1 (const int)
+0:388                  Constant:
+0:388                    2 (const int)
+0:388              Constant:
+0:388                0 (const int)
+0:388                0 (const int)
+0:388                0 (const int)
+0:388            'ballot' ( temp 4-component vector of uint)
+0:389      move second child to first child ( temp 4-component vector of int)
+0:389        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:389          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389            'invocation' ( temp uint)
+0:389          Constant:
+0:389            1 (const int)
+0:389        Convert bool to int ( temp 4-component vector of int)
+0:389          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:389            Compare Less Than ( global 4-component vector of bool)
+0:389              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:389                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389                  Constant:
+0:389                    1 (const int)
+0:389                Constant:
+0:389                  1 (const int)
+0:389              Constant:
+0:389                0 (const int)
+0:389                0 (const int)
+0:389                0 (const int)
+0:389                0 (const int)
+0:389            'ballot' ( temp 4-component vector of uint)
+0:391      move second child to first child ( temp int)
+0:391        direct index ( temp int)
+0:391          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:391            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391              'invocation' ( temp uint)
+0:391            Constant:
+0:391              1 (const int)
+0:391          Constant:
+0:391            0 (const int)
+0:391        ERROR: Bad aggregation op
+ ( global int)
+0:391          direct index ( temp int)
+0:391            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:391              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391                Constant:
+0:391                  0 (const int)
+0:391              Constant:
+0:391                1 (const int)
+0:391            Constant:
+0:391              0 (const int)
+0:391          'ballot' ( temp 4-component vector of uint)
+0:392      move second child to first child ( temp 2-component vector of int)
+0:392        vector swizzle ( temp 2-component vector of int)
+0:392          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:392            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392              'invocation' ( temp uint)
+0:392            Constant:
+0:392              1 (const int)
+0:392          Sequence
+0:392            Constant:
+0:392              0 (const int)
+0:392            Constant:
+0:392              1 (const int)
+0:392        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:392          vector swizzle ( temp 2-component vector of int)
+0:392            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:392              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392                Constant:
+0:392                  1 (const int)
+0:392              Constant:
+0:392                1 (const int)
+0:392            Sequence
+0:392              Constant:
+0:392                0 (const int)
+0:392              Constant:
+0:392                1 (const int)
+0:392          'ballot' ( temp 4-component vector of uint)
+0:393      move second child to first child ( temp 3-component vector of int)
+0:393        vector swizzle ( temp 3-component vector of int)
+0:393          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:393            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:393              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:393              'invocation' ( temp uint)
+0:393            Constant:
+0:393              1 (const int)
+0:393          Sequence
+0:393            Constant:
+0:393              0 (const int)
+0:393            Constant:
+0:393              1 (const int)
+0:393            Constant:
+0:393              2 (const int)
+0:393        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:393          vector swizzle ( temp 3-component vector of int)
+0:393            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:393              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:393                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:393                Constant:
+0:393                  2 (const int)
+0:393              Constant:
+0:393                1 (const int)
+0:393            Sequence
+0:393              Constant:
+0:393                0 (const int)
+0:393              Constant:
+0:393                1 (const int)
+0:393              Constant:
+0:393                2 (const int)
+0:393          'ballot' ( temp 4-component vector of uint)
+0:394      move second child to first child ( temp 4-component vector of int)
+0:394        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:394          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:394            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:394            'invocation' ( temp uint)
+0:394          Constant:
+0:394            1 (const int)
+0:394        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:394          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:394            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:394              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:394              Constant:
+0:394                3 (const int)
+0:394            Constant:
+0:394              1 (const int)
+0:394          'ballot' ( temp 4-component vector of uint)
+0:396      move second child to first child ( temp uint)
+0:396        direct index ( temp uint)
+0:396          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:396            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:396              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:396              'invocation' ( temp uint)
+0:396            Constant:
+0:396              2 (const int)
+0:396          Constant:
+0:396            0 (const int)
+0:396        ERROR: Bad aggregation op
+ ( global uint)
+0:396          direct index ( temp uint)
+0:396            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:396              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:396                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:396                Constant:
+0:396                  0 (const int)
+0:396              Constant:
+0:396                2 (const int)
+0:396            Constant:
+0:396              0 (const int)
+0:396          'ballot' ( temp 4-component vector of uint)
+0:397      move second child to first child ( temp 2-component vector of uint)
+0:397        vector swizzle ( temp 2-component vector of uint)
+0:397          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:397            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:397              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:397              'invocation' ( temp uint)
+0:397            Constant:
+0:397              2 (const int)
+0:397          Sequence
+0:397            Constant:
+0:397              0 (const int)
+0:397            Constant:
+0:397              1 (const int)
+0:397        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:397          vector swizzle ( temp 2-component vector of uint)
+0:397            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:397              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:397                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:397                Constant:
+0:397                  1 (const int)
+0:397              Constant:
+0:397                2 (const int)
+0:397            Sequence
+0:397              Constant:
+0:397                0 (const int)
+0:397              Constant:
+0:397                1 (const int)
+0:397          'ballot' ( temp 4-component vector of uint)
+0:398      move second child to first child ( temp 3-component vector of uint)
+0:398        vector swizzle ( temp 3-component vector of uint)
+0:398          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:398            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:398              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:398              'invocation' ( temp uint)
+0:398            Constant:
+0:398              2 (const int)
+0:398          Sequence
+0:398            Constant:
+0:398              0 (const int)
+0:398            Constant:
+0:398              1 (const int)
+0:398            Constant:
+0:398              2 (const int)
+0:398        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:398          vector swizzle ( temp 3-component vector of uint)
+0:398            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:398              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:398                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:398                Constant:
+0:398                  2 (const int)
+0:398              Constant:
+0:398                2 (const int)
+0:398            Sequence
+0:398              Constant:
+0:398                0 (const int)
+0:398              Constant:
+0:398                1 (const int)
+0:398              Constant:
+0:398                2 (const int)
+0:398          'ballot' ( temp 4-component vector of uint)
+0:399      move second child to first child ( temp 4-component vector of uint)
+0:399        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:399          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:399            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:399            'invocation' ( temp uint)
+0:399          Constant:
+0:399            2 (const int)
+0:399        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:399          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:399            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:399              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:399              Constant:
+0:399                3 (const int)
+0:399            Constant:
+0:399              2 (const int)
+0:399          'ballot' ( temp 4-component vector of uint)
+0:401      move second child to first child ( temp int)
+0:401        direct index ( temp int)
+0:401          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:401            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:401              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:401              'invocation' ( temp uint)
+0:401            Constant:
+0:401              1 (const int)
+0:401          Constant:
+0:401            0 (const int)
+0:401        Convert bool to int ( temp int)
+0:401          ERROR: Bad aggregation op
+ ( global bool)
+0:401            Compare Less Than ( temp bool)
+0:401              direct index ( temp int)
+0:401                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:401                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:401                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:401                    Constant:
+0:401                      0 (const int)
+0:401                  Constant:
+0:401                    1 (const int)
+0:401                Constant:
+0:401                  0 (const int)
+0:401              Constant:
+0:401                0 (const int)
+0:401            'ballot' ( temp 4-component vector of uint)
+0:402      move second child to first child ( temp 2-component vector of int)
+0:402        vector swizzle ( temp 2-component vector of int)
+0:402          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:402            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:402              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:402              'invocation' ( temp uint)
+0:402            Constant:
+0:402              1 (const int)
+0:402          Sequence
+0:402            Constant:
+0:402              0 (const int)
+0:402            Constant:
+0:402              1 (const int)
+0:402        Convert bool to int ( temp 2-component vector of int)
+0:402          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:402            Compare Less Than ( global 2-component vector of bool)
+0:402              vector swizzle ( temp 2-component vector of int)
+0:402                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:402                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:402                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:402                    Constant:
+0:402                      1 (const int)
+0:402                  Constant:
+0:402                    1 (const int)
+0:402                Sequence
+0:402                  Constant:
+0:402                    0 (const int)
+0:402                  Constant:
+0:402                    1 (const int)
+0:402              Constant:
+0:402                0 (const int)
+0:402                0 (const int)
+0:402            'ballot' ( temp 4-component vector of uint)
+0:403      move second child to first child ( temp 3-component vector of int)
+0:403        vector swizzle ( temp 3-component vector of int)
+0:403          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:403            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:403              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:403              'invocation' ( temp uint)
+0:403            Constant:
+0:403              1 (const int)
+0:403          Sequence
+0:403            Constant:
+0:403              0 (const int)
+0:403            Constant:
+0:403              1 (const int)
+0:403            Constant:
+0:403              2 (const int)
+0:403        Convert bool to int ( temp 3-component vector of int)
+0:403          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:403            Compare Less Than ( global 3-component vector of bool)
+0:403              vector swizzle ( temp 3-component vector of int)
+0:403                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:403                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:403                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:403                    Constant:
+0:403                      1 (const int)
+0:403                  Constant:
+0:403                    1 (const int)
+0:403                Sequence
+0:403                  Constant:
+0:403                    0 (const int)
+0:403                  Constant:
+0:403                    1 (const int)
+0:403                  Constant:
+0:403                    2 (const int)
+0:403              Constant:
+0:403                0 (const int)
+0:403                0 (const int)
+0:403                0 (const int)
+0:403            'ballot' ( temp 4-component vector of uint)
+0:404      move second child to first child ( temp 4-component vector of int)
+0:404        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:404          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:404            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:404            'invocation' ( temp uint)
+0:404          Constant:
+0:404            1 (const int)
+0:404        Convert bool to int ( temp 4-component vector of int)
+0:404          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:404            Compare Less Than ( global 4-component vector of bool)
+0:404              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:404                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:404                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:404                  Constant:
+0:404                    1 (const int)
+0:404                Constant:
+0:404                  1 (const int)
+0:404              Constant:
+0:404                0 (const int)
+0:404                0 (const int)
+0:404                0 (const int)
+0:404                0 (const int)
+0:404            'ballot' ( temp 4-component vector of uint)
+0:406      move second child to first child ( temp int)
+0:406        direct index ( temp int)
+0:406          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:406            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:406              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:406              'invocation' ( temp uint)
+0:406            Constant:
+0:406              1 (const int)
+0:406          Constant:
+0:406            0 (const int)
+0:406        ERROR: Bad aggregation op
+ ( global int)
+0:406          direct index ( temp int)
+0:406            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:406              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:406                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:406                Constant:
+0:406                  0 (const int)
+0:406              Constant:
+0:406                1 (const int)
+0:406            Constant:
+0:406              0 (const int)
+0:406          'ballot' ( temp 4-component vector of uint)
+0:407      move second child to first child ( temp 2-component vector of int)
+0:407        vector swizzle ( temp 2-component vector of int)
+0:407          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:407            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:407              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:407              'invocation' ( temp uint)
+0:407            Constant:
+0:407              1 (const int)
+0:407          Sequence
+0:407            Constant:
+0:407              0 (const int)
+0:407            Constant:
+0:407              1 (const int)
+0:407        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:407          vector swizzle ( temp 2-component vector of int)
+0:407            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:407              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:407                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:407                Constant:
+0:407                  1 (const int)
+0:407              Constant:
+0:407                1 (const int)
+0:407            Sequence
+0:407              Constant:
+0:407                0 (const int)
+0:407              Constant:
+0:407                1 (const int)
+0:407          'ballot' ( temp 4-component vector of uint)
+0:408      move second child to first child ( temp 3-component vector of int)
+0:408        vector swizzle ( temp 3-component vector of int)
+0:408          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:408            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:408              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:408              'invocation' ( temp uint)
+0:408            Constant:
+0:408              1 (const int)
+0:408          Sequence
+0:408            Constant:
+0:408              0 (const int)
+0:408            Constant:
+0:408              1 (const int)
+0:408            Constant:
+0:408              2 (const int)
+0:408        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:408          vector swizzle ( temp 3-component vector of int)
+0:408            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:408              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:408                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:408                Constant:
+0:408                  2 (const int)
+0:408              Constant:
+0:408                1 (const int)
+0:408            Sequence
+0:408              Constant:
+0:408                0 (const int)
+0:408              Constant:
+0:408                1 (const int)
+0:408              Constant:
+0:408                2 (const int)
+0:408          'ballot' ( temp 4-component vector of uint)
+0:409      move second child to first child ( temp 4-component vector of int)
+0:409        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:409          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:409            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:409            'invocation' ( temp uint)
+0:409          Constant:
+0:409            1 (const int)
+0:409        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:409          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:409            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:409              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:409              Constant:
+0:409                3 (const int)
+0:409            Constant:
+0:409              1 (const int)
+0:409          'ballot' ( temp 4-component vector of uint)
+0:411      move second child to first child ( temp uint)
+0:411        direct index ( temp uint)
+0:411          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:411            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:411              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:411              'invocation' ( temp uint)
+0:411            Constant:
+0:411              2 (const int)
+0:411          Constant:
+0:411            0 (const int)
+0:411        ERROR: Bad aggregation op
+ ( global uint)
+0:411          direct index ( temp uint)
+0:411            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:411              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:411                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:411                Constant:
+0:411                  0 (const int)
+0:411              Constant:
+0:411                2 (const int)
+0:411            Constant:
+0:411              0 (const int)
+0:411          'ballot' ( temp 4-component vector of uint)
+0:412      move second child to first child ( temp 2-component vector of uint)
+0:412        vector swizzle ( temp 2-component vector of uint)
+0:412          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:412            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:412              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:412              'invocation' ( temp uint)
+0:412            Constant:
+0:412              2 (const int)
+0:412          Sequence
+0:412            Constant:
+0:412              0 (const int)
+0:412            Constant:
+0:412              1 (const int)
+0:412        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:412          vector swizzle ( temp 2-component vector of uint)
+0:412            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:412              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:412                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:412                Constant:
+0:412                  1 (const int)
+0:412              Constant:
+0:412                2 (const int)
+0:412            Sequence
+0:412              Constant:
+0:412                0 (const int)
+0:412              Constant:
+0:412                1 (const int)
+0:412          'ballot' ( temp 4-component vector of uint)
+0:413      move second child to first child ( temp 3-component vector of uint)
+0:413        vector swizzle ( temp 3-component vector of uint)
+0:413          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:413            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:413              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:413              'invocation' ( temp uint)
+0:413            Constant:
+0:413              2 (const int)
+0:413          Sequence
+0:413            Constant:
+0:413              0 (const int)
+0:413            Constant:
+0:413              1 (const int)
+0:413            Constant:
+0:413              2 (const int)
+0:413        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:413          vector swizzle ( temp 3-component vector of uint)
+0:413            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:413              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:413                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:413                Constant:
+0:413                  2 (const int)
+0:413              Constant:
+0:413                2 (const int)
+0:413            Sequence
+0:413              Constant:
+0:413                0 (const int)
+0:413              Constant:
+0:413                1 (const int)
+0:413              Constant:
+0:413                2 (const int)
+0:413          'ballot' ( temp 4-component vector of uint)
+0:414      move second child to first child ( temp 4-component vector of uint)
+0:414        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:414          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:414            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:414            'invocation' ( temp uint)
+0:414          Constant:
+0:414            2 (const int)
+0:414        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:414          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:414            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:414              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:414              Constant:
+0:414                3 (const int)
+0:414            Constant:
+0:414              2 (const int)
+0:414          'ballot' ( temp 4-component vector of uint)
+0:416      move second child to first child ( temp int)
+0:416        direct index ( temp int)
+0:416          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:416            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:416              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:416              'invocation' ( temp uint)
+0:416            Constant:
+0:416              1 (const int)
+0:416          Constant:
+0:416            0 (const int)
+0:416        Convert bool to int ( temp int)
+0:416          ERROR: Bad aggregation op
+ ( global bool)
+0:416            Compare Less Than ( temp bool)
+0:416              direct index ( temp int)
+0:416                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:416                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:416                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:416                    Constant:
+0:416                      0 (const int)
+0:416                  Constant:
+0:416                    1 (const int)
+0:416                Constant:
+0:416                  0 (const int)
+0:416              Constant:
+0:416                0 (const int)
+0:416            'ballot' ( temp 4-component vector of uint)
+0:417      move second child to first child ( temp 2-component vector of int)
+0:417        vector swizzle ( temp 2-component vector of int)
+0:417          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:417            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:417              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:417              'invocation' ( temp uint)
+0:417            Constant:
+0:417              1 (const int)
+0:417          Sequence
+0:417            Constant:
+0:417              0 (const int)
+0:417            Constant:
+0:417              1 (const int)
+0:417        Convert bool to int ( temp 2-component vector of int)
+0:417          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:417            Compare Less Than ( global 2-component vector of bool)
+0:417              vector swizzle ( temp 2-component vector of int)
+0:417                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:417                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:417                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:417                    Constant:
+0:417                      1 (const int)
+0:417                  Constant:
+0:417                    1 (const int)
+0:417                Sequence
+0:417                  Constant:
+0:417                    0 (const int)
+0:417                  Constant:
+0:417                    1 (const int)
+0:417              Constant:
+0:417                0 (const int)
+0:417                0 (const int)
+0:417            'ballot' ( temp 4-component vector of uint)
+0:418      move second child to first child ( temp 3-component vector of int)
+0:418        vector swizzle ( temp 3-component vector of int)
+0:418          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:418            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:418              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:418              'invocation' ( temp uint)
+0:418            Constant:
+0:418              1 (const int)
+0:418          Sequence
+0:418            Constant:
+0:418              0 (const int)
+0:418            Constant:
+0:418              1 (const int)
+0:418            Constant:
+0:418              2 (const int)
+0:418        Convert bool to int ( temp 3-component vector of int)
+0:418          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:418            Compare Less Than ( global 3-component vector of bool)
+0:418              vector swizzle ( temp 3-component vector of int)
+0:418                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:418                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:418                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:418                    Constant:
+0:418                      1 (const int)
+0:418                  Constant:
+0:418                    1 (const int)
+0:418                Sequence
+0:418                  Constant:
+0:418                    0 (const int)
+0:418                  Constant:
+0:418                    1 (const int)
+0:418                  Constant:
+0:418                    2 (const int)
+0:418              Constant:
+0:418                0 (const int)
+0:418                0 (const int)
+0:418                0 (const int)
+0:418            'ballot' ( temp 4-component vector of uint)
+0:419      move second child to first child ( temp 4-component vector of int)
+0:419        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:419          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:419            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:419            'invocation' ( temp uint)
+0:419          Constant:
+0:419            1 (const int)
+0:419        Convert bool to int ( temp 4-component vector of int)
+0:419          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:419            Compare Less Than ( global 4-component vector of bool)
+0:419              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:419                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:419                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:419                  Constant:
+0:419                    1 (const int)
+0:419                Constant:
+0:419                  1 (const int)
+0:419              Constant:
+0:419                0 (const int)
+0:419                0 (const int)
+0:419                0 (const int)
+0:419                0 (const int)
+0:419            'ballot' ( temp 4-component vector of uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_NV_shader_subgroup_partitioned
+local_size = (8, 1, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      Sequence
+0:19        move second child to first child ( temp 4-component vector of uint)
+0:19          'ballot' ( temp 4-component vector of uint)
+0:19          subgroupPartitionNV ( global 4-component vector of uint)
+0:19            'invocation' ( temp uint)
+0:21      move second child to first child ( temp 4-component vector of uint)
+0:21        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:21          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21            'invocation' ( temp uint)
+0:21          Constant:
+0:21            2 (const int)
+0:21        subgroupPartitionNV ( global 4-component vector of uint)
+0:21          direct index ( temp float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  0 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:22      move second child to first child ( temp 4-component vector of uint)
+0:22        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            2 (const int)
+0:22        subgroupPartitionNV ( global 4-component vector of uint)
+0:22          vector swizzle ( temp 2-component vector of float)
+0:22            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22                Constant:
+0:22                  0 (const int)
+0:22              Constant:
+0:22                0 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:23      move second child to first child ( temp 4-component vector of uint)
+0:23        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:23          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:23            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:23            'invocation' ( temp uint)
+0:23          Constant:
+0:23            2 (const int)
+0:23        subgroupPartitionNV ( global 4-component vector of uint)
+0:23          vector swizzle ( temp 3-component vector of float)
+0:23            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                0 (const int)
+0:23            Sequence
+0:23              Constant:
+0:23                0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23              Constant:
+0:23                2 (const int)
+0:24      move second child to first child ( temp 4-component vector of uint)
+0:24        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:24          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24            'invocation' ( temp uint)
+0:24          Constant:
+0:24            2 (const int)
+0:24        subgroupPartitionNV ( global 4-component vector of uint)
+0:24          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              Constant:
+0:24                0 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:26      move second child to first child ( temp 4-component vector of uint)
+0:26        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:26          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26            'invocation' ( temp uint)
+0:26          Constant:
+0:26            2 (const int)
+0:26        subgroupPartitionNV ( global 4-component vector of uint)
+0:26          direct index ( temp int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Constant:
+0:26              0 (const int)
+0:27      move second child to first child ( temp 4-component vector of uint)
+0:27        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            2 (const int)
+0:27        subgroupPartitionNV ( global 4-component vector of uint)
+0:27          vector swizzle ( temp 2-component vector of int)
+0:27            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27                Constant:
+0:27                  0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:28      move second child to first child ( temp 4-component vector of uint)
+0:28        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:28          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28            'invocation' ( temp uint)
+0:28          Constant:
+0:28            2 (const int)
+0:28        subgroupPartitionNV ( global 4-component vector of uint)
+0:28          vector swizzle ( temp 3-component vector of int)
+0:28            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                1 (const int)
+0:28            Sequence
+0:28              Constant:
+0:28                0 (const int)
+0:28              Constant:
+0:28                1 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:29      move second child to first child ( temp 4-component vector of uint)
+0:29        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29            'invocation' ( temp uint)
+0:29          Constant:
+0:29            2 (const int)
+0:29        subgroupPartitionNV ( global 4-component vector of uint)
+0:29          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              Constant:
+0:29                0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:31      move second child to first child ( temp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31            'invocation' ( temp uint)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupPartitionNV ( global 4-component vector of uint)
+0:31          direct index ( temp uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Constant:
+0:31              0 (const int)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupPartitionNV ( global 4-component vector of uint)
+0:32          vector swizzle ( temp 2-component vector of uint)
+0:32            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32                Constant:
+0:32                  0 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:33      move second child to first child ( temp 4-component vector of uint)
+0:33        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:33          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33            'invocation' ( temp uint)
+0:33          Constant:
+0:33            2 (const int)
+0:33        subgroupPartitionNV ( global 4-component vector of uint)
+0:33          vector swizzle ( temp 3-component vector of uint)
+0:33            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                2 (const int)
+0:33            Sequence
+0:33              Constant:
+0:33                0 (const int)
+0:33              Constant:
+0:33                1 (const int)
+0:33              Constant:
+0:33                2 (const int)
+0:34      move second child to first child ( temp 4-component vector of uint)
+0:34        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:34          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34            'invocation' ( temp uint)
+0:34          Constant:
+0:34            2 (const int)
+0:34        subgroupPartitionNV ( global 4-component vector of uint)
+0:34          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              Constant:
+0:34                0 (const int)
+0:34            Constant:
+0:34              2 (const int)
+0:36      move second child to first child ( temp 4-component vector of uint)
+0:36        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:36          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36            'invocation' ( temp uint)
+0:36          Constant:
+0:36            2 (const int)
+0:36        subgroupPartitionNV ( global 4-component vector of uint)
+0:36          direct index ( temp double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  0 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:37      move second child to first child ( temp 4-component vector of uint)
+0:37        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            2 (const int)
+0:37        subgroupPartitionNV ( global 4-component vector of uint)
+0:37          vector swizzle ( temp 2-component vector of double)
+0:37            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37                Constant:
+0:37                  0 (const int)
+0:37              Constant:
+0:37                3 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:38      move second child to first child ( temp 4-component vector of uint)
+0:38        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:38          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38            'invocation' ( temp uint)
+0:38          Constant:
+0:38            2 (const int)
+0:38        subgroupPartitionNV ( global 4-component vector of uint)
+0:38          vector swizzle ( temp 3-component vector of double)
+0:38            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                3 (const int)
+0:38            Sequence
+0:38              Constant:
+0:38                0 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:38              Constant:
+0:38                2 (const int)
+0:39      move second child to first child ( temp 4-component vector of uint)
+0:39        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:39          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39            'invocation' ( temp uint)
+0:39          Constant:
+0:39            2 (const int)
+0:39        subgroupPartitionNV ( global 4-component vector of uint)
+0:39          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              3 (const int)
+0:41      move second child to first child ( temp 4-component vector of uint)
+0:41        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:41          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41            'invocation' ( temp uint)
+0:41          Constant:
+0:41            2 (const int)
+0:41        subgroupPartitionNV ( global 4-component vector of uint)
+0:41          Convert int to bool ( temp bool)
+0:41            direct index ( temp int)
+0:41              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                  Constant:
+0:41                    0 (const int)
+0:41                Constant:
+0:41                  1 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:42      move second child to first child ( temp 4-component vector of uint)
+0:42        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            2 (const int)
+0:42        subgroupPartitionNV ( global 4-component vector of uint)
+0:42          Convert int to bool ( temp 2-component vector of bool)
+0:42            vector swizzle ( temp 2-component vector of int)
+0:42              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  Constant:
+0:42                    0 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:42              Sequence
+0:42                Constant:
+0:42                  0 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:43      move second child to first child ( temp 4-component vector of uint)
+0:43        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:43          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:43            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:43            'invocation' ( temp uint)
+0:43          Constant:
+0:43            2 (const int)
+0:43        subgroupPartitionNV ( global 4-component vector of uint)
+0:43          Convert int to bool ( temp 3-component vector of bool)
+0:43            vector swizzle ( temp 3-component vector of int)
+0:43              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:43                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:43                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:43                  Constant:
+0:43                    0 (const int)
+0:43                Constant:
+0:43                  1 (const int)
+0:43              Sequence
+0:43                Constant:
+0:43                  0 (const int)
+0:43                Constant:
+0:43                  1 (const int)
+0:43                Constant:
+0:43                  2 (const int)
+0:44      move second child to first child ( temp 4-component vector of uint)
+0:44        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:44          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44            'invocation' ( temp uint)
+0:44          Constant:
+0:44            2 (const int)
+0:44        subgroupPartitionNV ( global 4-component vector of uint)
+0:44          Convert int to bool ( temp 4-component vector of bool)
+0:44            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:46      move second child to first child ( temp float)
+0:46        direct index ( temp float)
+0:46          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              0 (const int)
+0:46          Constant:
+0:46            0 (const int)
+0:46        ERROR: Bad aggregation op
+ ( global float)
+0:46          direct index ( temp float)
+0:46            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  0 (const int)
+0:46              Constant:
+0:46                0 (const int)
+0:46            Constant:
+0:46              0 (const int)
+0:46          'ballot' ( temp 4-component vector of uint)
+0:47      move second child to first child ( temp 2-component vector of float)
+0:47        vector swizzle ( temp 2-component vector of float)
+0:47          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'invocation' ( temp uint)
+0:47            Constant:
+0:47              0 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:47          vector swizzle ( temp 2-component vector of float)
+0:47            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47                Constant:
+0:47                  1 (const int)
+0:47              Constant:
+0:47                0 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47          'ballot' ( temp 4-component vector of uint)
+0:48      move second child to first child ( temp 3-component vector of float)
+0:48        vector swizzle ( temp 3-component vector of float)
+0:48          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:48            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:48              'invocation' ( temp uint)
+0:48            Constant:
+0:48              0 (const int)
+0:48          Sequence
+0:48            Constant:
+0:48              0 (const int)
+0:48            Constant:
+0:48              1 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:48          vector swizzle ( temp 3-component vector of float)
+0:48            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:48                Constant:
+0:48                  2 (const int)
+0:48              Constant:
+0:48                0 (const int)
+0:48            Sequence
+0:48              Constant:
+0:48                0 (const int)
+0:48              Constant:
+0:48                1 (const int)
+0:48              Constant:
+0:48                2 (const int)
+0:48          'ballot' ( temp 4-component vector of uint)
+0:49      move second child to first child ( temp 4-component vector of float)
+0:49        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:49          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49            'invocation' ( temp uint)
+0:49          Constant:
+0:49            0 (const int)
+0:49        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:49          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              Constant:
+0:49                3 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          'ballot' ( temp 4-component vector of uint)
+0:51      move second child to first child ( temp int)
+0:51        direct index ( temp int)
+0:51          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              1 (const int)
+0:51          Constant:
+0:51            0 (const int)
+0:51        ERROR: Bad aggregation op
+ ( global int)
+0:51          direct index ( temp int)
+0:51            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51            Constant:
+0:51              0 (const int)
+0:51          'ballot' ( temp 4-component vector of uint)
+0:52      move second child to first child ( temp 2-component vector of int)
+0:52        vector swizzle ( temp 2-component vector of int)
+0:52          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'invocation' ( temp uint)
+0:52            Constant:
+0:52              1 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:52          vector swizzle ( temp 2-component vector of int)
+0:52            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52                Constant:
+0:52                  1 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52          'ballot' ( temp 4-component vector of uint)
+0:53      move second child to first child ( temp 3-component vector of int)
+0:53        vector swizzle ( temp 3-component vector of int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:53            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:53              'invocation' ( temp uint)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Sequence
+0:53            Constant:
+0:53              0 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53            Constant:
+0:53              2 (const int)
+0:53        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:53          vector swizzle ( temp 3-component vector of int)
+0:53            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:53              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:53                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:53                Constant:
+0:53                  2 (const int)
+0:53              Constant:
+0:53                1 (const int)
+0:53            Sequence
+0:53              Constant:
+0:53                0 (const int)
+0:53              Constant:
+0:53                1 (const int)
+0:53              Constant:
+0:53                2 (const int)
+0:53          'ballot' ( temp 4-component vector of uint)
+0:54      move second child to first child ( temp 4-component vector of int)
+0:54        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:54          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54            'invocation' ( temp uint)
+0:54          Constant:
+0:54            1 (const int)
+0:54        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          'ballot' ( temp 4-component vector of uint)
+0:56      move second child to first child ( temp uint)
+0:56        direct index ( temp uint)
+0:56          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              2 (const int)
+0:56          Constant:
+0:56            0 (const int)
+0:56        ERROR: Bad aggregation op
+ ( global uint)
+0:56          direct index ( temp uint)
+0:56            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  0 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56            Constant:
+0:56              0 (const int)
+0:56          'ballot' ( temp 4-component vector of uint)
+0:57      move second child to first child ( temp 2-component vector of uint)
+0:57        vector swizzle ( temp 2-component vector of uint)
+0:57          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'invocation' ( temp uint)
+0:57            Constant:
+0:57              2 (const int)
+0:57          Sequence
+0:57            Constant:
+0:57              0 (const int)
+0:57            Constant:
+0:57              1 (const int)
+0:57        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:57          vector swizzle ( temp 2-component vector of uint)
+0:57            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57                Constant:
+0:57                  1 (const int)
+0:57              Constant:
+0:57                2 (const int)
+0:57            Sequence
+0:57              Constant:
+0:57                0 (const int)
+0:57              Constant:
+0:57                1 (const int)
+0:57          'ballot' ( temp 4-component vector of uint)
+0:58      move second child to first child ( temp 3-component vector of uint)
+0:58        vector swizzle ( temp 3-component vector of uint)
+0:58          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:58            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:58              'invocation' ( temp uint)
+0:58            Constant:
+0:58              2 (const int)
+0:58          Sequence
+0:58            Constant:
+0:58              0 (const int)
+0:58            Constant:
+0:58              1 (const int)
+0:58            Constant:
+0:58              2 (const int)
+0:58        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:58          vector swizzle ( temp 3-component vector of uint)
+0:58            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:58              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:58                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:58                Constant:
+0:58                  2 (const int)
+0:58              Constant:
+0:58                2 (const int)
+0:58            Sequence
+0:58              Constant:
+0:58                0 (const int)
+0:58              Constant:
+0:58                1 (const int)
+0:58              Constant:
+0:58                2 (const int)
+0:58          'ballot' ( temp 4-component vector of uint)
+0:59      move second child to first child ( temp 4-component vector of uint)
+0:59        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:59          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59            'invocation' ( temp uint)
+0:59          Constant:
+0:59            2 (const int)
+0:59        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:59          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:59            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              Constant:
+0:59                3 (const int)
+0:59            Constant:
+0:59              2 (const int)
+0:59          'ballot' ( temp 4-component vector of uint)
+0:61      move second child to first child ( temp double)
+0:61        direct index ( temp double)
+0:61          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              3 (const int)
+0:61          Constant:
+0:61            0 (const int)
+0:61        ERROR: Bad aggregation op
+ ( global double)
+0:61          direct index ( temp double)
+0:61            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  0 (const int)
+0:61              Constant:
+0:61                3 (const int)
+0:61            Constant:
+0:61              0 (const int)
+0:61          'ballot' ( temp 4-component vector of uint)
+0:62      move second child to first child ( temp 2-component vector of double)
+0:62        vector swizzle ( temp 2-component vector of double)
+0:62          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'invocation' ( temp uint)
+0:62            Constant:
+0:62              3 (const int)
+0:62          Sequence
+0:62            Constant:
+0:62              0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:62          vector swizzle ( temp 2-component vector of double)
+0:62            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62                Constant:
+0:62                  1 (const int)
+0:62              Constant:
+0:62                3 (const int)
+0:62            Sequence
+0:62              Constant:
+0:62                0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62          'ballot' ( temp 4-component vector of uint)
+0:63      move second child to first child ( temp 3-component vector of double)
+0:63        vector swizzle ( temp 3-component vector of double)
+0:63          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:63            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63              'invocation' ( temp uint)
+0:63            Constant:
+0:63              3 (const int)
+0:63          Sequence
+0:63            Constant:
+0:63              0 (const int)
+0:63            Constant:
+0:63              1 (const int)
+0:63            Constant:
+0:63              2 (const int)
+0:63        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:63          vector swizzle ( temp 3-component vector of double)
+0:63            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:63              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:63                Constant:
+0:63                  2 (const int)
+0:63              Constant:
+0:63                3 (const int)
+0:63            Sequence
+0:63              Constant:
+0:63                0 (const int)
+0:63              Constant:
+0:63                1 (const int)
+0:63              Constant:
+0:63                2 (const int)
+0:63          'ballot' ( temp 4-component vector of uint)
+0:64      move second child to first child ( temp 4-component vector of double)
+0:64        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:64          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64            'invocation' ( temp uint)
+0:64          Constant:
+0:64            3 (const int)
+0:64        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:64          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:64            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              Constant:
+0:64                3 (const int)
+0:64            Constant:
+0:64              3 (const int)
+0:64          'ballot' ( temp 4-component vector of uint)
+0:66      move second child to first child ( temp float)
+0:66        direct index ( temp float)
+0:66          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              0 (const int)
+0:66          Constant:
+0:66            0 (const int)
+0:66        ERROR: Bad aggregation op
+ ( global float)
+0:66          direct index ( temp float)
+0:66            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                Constant:
+0:66                  0 (const int)
+0:66              Constant:
+0:66                0 (const int)
+0:66            Constant:
+0:66              0 (const int)
+0:66          'ballot' ( temp 4-component vector of uint)
+0:67      move second child to first child ( temp 2-component vector of float)
+0:67        vector swizzle ( temp 2-component vector of float)
+0:67          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:67            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67              'invocation' ( temp uint)
+0:67            Constant:
+0:67              0 (const int)
+0:67          Sequence
+0:67            Constant:
+0:67              0 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:67        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:67          vector swizzle ( temp 2-component vector of float)
+0:67            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:67              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                Constant:
+0:67                  1 (const int)
+0:67              Constant:
+0:67                0 (const int)
+0:67            Sequence
+0:67              Constant:
+0:67                0 (const int)
+0:67              Constant:
+0:67                1 (const int)
+0:67          'ballot' ( temp 4-component vector of uint)
+0:68      move second child to first child ( temp 3-component vector of float)
+0:68        vector swizzle ( temp 3-component vector of float)
+0:68          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:68            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68              'invocation' ( temp uint)
+0:68            Constant:
+0:68              0 (const int)
+0:68          Sequence
+0:68            Constant:
+0:68              0 (const int)
+0:68            Constant:
+0:68              1 (const int)
+0:68            Constant:
+0:68              2 (const int)
+0:68        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:68          vector swizzle ( temp 3-component vector of float)
+0:68            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:68              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:68                Constant:
+0:68                  2 (const int)
+0:68              Constant:
+0:68                0 (const int)
+0:68            Sequence
+0:68              Constant:
+0:68                0 (const int)
+0:68              Constant:
+0:68                1 (const int)
+0:68              Constant:
+0:68                2 (const int)
+0:68          'ballot' ( temp 4-component vector of uint)
+0:69      move second child to first child ( temp 4-component vector of float)
+0:69        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:69          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69            'invocation' ( temp uint)
+0:69          Constant:
+0:69            0 (const int)
+0:69        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:69          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:69            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              Constant:
+0:69                3 (const int)
+0:69            Constant:
+0:69              0 (const int)
+0:69          'ballot' ( temp 4-component vector of uint)
+0:71      move second child to first child ( temp int)
+0:71        direct index ( temp int)
+0:71          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:71            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'invocation' ( temp uint)
+0:71            Constant:
+0:71              1 (const int)
+0:71          Constant:
+0:71            0 (const int)
+0:71        ERROR: Bad aggregation op
+ ( global int)
+0:71          direct index ( temp int)
+0:71            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                Constant:
+0:71                  0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71            Constant:
+0:71              0 (const int)
+0:71          'ballot' ( temp 4-component vector of uint)
+0:72      move second child to first child ( temp 2-component vector of int)
+0:72        vector swizzle ( temp 2-component vector of int)
+0:72          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:72            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              'invocation' ( temp uint)
+0:72            Constant:
+0:72              1 (const int)
+0:72          Sequence
+0:72            Constant:
+0:72              0 (const int)
+0:72            Constant:
+0:72              1 (const int)
+0:72        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:72          vector swizzle ( temp 2-component vector of int)
+0:72            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:72              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72                Constant:
+0:72                  1 (const int)
+0:72              Constant:
+0:72                1 (const int)
+0:72            Sequence
+0:72              Constant:
+0:72                0 (const int)
+0:72              Constant:
+0:72                1 (const int)
+0:72          'ballot' ( temp 4-component vector of uint)
+0:73      move second child to first child ( temp 3-component vector of int)
+0:73        vector swizzle ( temp 3-component vector of int)
+0:73          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:73            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73              'invocation' ( temp uint)
+0:73            Constant:
+0:73              1 (const int)
+0:73          Sequence
+0:73            Constant:
+0:73              0 (const int)
+0:73            Constant:
+0:73              1 (const int)
+0:73            Constant:
+0:73              2 (const int)
+0:73        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:73          vector swizzle ( temp 3-component vector of int)
+0:73            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:73              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:73                Constant:
+0:73                  2 (const int)
+0:73              Constant:
+0:73                1 (const int)
+0:73            Sequence
+0:73              Constant:
+0:73                0 (const int)
+0:73              Constant:
+0:73                1 (const int)
+0:73              Constant:
+0:73                2 (const int)
+0:73          'ballot' ( temp 4-component vector of uint)
+0:74      move second child to first child ( temp 4-component vector of int)
+0:74        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:74          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74            'invocation' ( temp uint)
+0:74          Constant:
+0:74            1 (const int)
+0:74        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:74          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:74            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              1 (const int)
+0:74          'ballot' ( temp 4-component vector of uint)
+0:76      move second child to first child ( temp uint)
+0:76        direct index ( temp uint)
+0:76          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:76            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'invocation' ( temp uint)
+0:76            Constant:
+0:76              2 (const int)
+0:76          Constant:
+0:76            0 (const int)
+0:76        ERROR: Bad aggregation op
+ ( global uint)
+0:76          direct index ( temp uint)
+0:76            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                Constant:
+0:76                  0 (const int)
+0:76              Constant:
+0:76                2 (const int)
+0:76            Constant:
+0:76              0 (const int)
+0:76          'ballot' ( temp 4-component vector of uint)
+0:77      move second child to first child ( temp 2-component vector of uint)
+0:77        vector swizzle ( temp 2-component vector of uint)
+0:77          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:77            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              'invocation' ( temp uint)
+0:77            Constant:
+0:77              2 (const int)
+0:77          Sequence
+0:77            Constant:
+0:77              0 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:77        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:77          vector swizzle ( temp 2-component vector of uint)
+0:77            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:77              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77                Constant:
+0:77                  1 (const int)
+0:77              Constant:
+0:77                2 (const int)
+0:77            Sequence
+0:77              Constant:
+0:77                0 (const int)
+0:77              Constant:
+0:77                1 (const int)
+0:77          'ballot' ( temp 4-component vector of uint)
+0:78      move second child to first child ( temp 3-component vector of uint)
+0:78        vector swizzle ( temp 3-component vector of uint)
+0:78          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:78            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78              'invocation' ( temp uint)
+0:78            Constant:
+0:78              2 (const int)
+0:78          Sequence
+0:78            Constant:
+0:78              0 (const int)
+0:78            Constant:
+0:78              1 (const int)
+0:78            Constant:
+0:78              2 (const int)
+0:78        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:78          vector swizzle ( temp 3-component vector of uint)
+0:78            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:78              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:78                Constant:
+0:78                  2 (const int)
+0:78              Constant:
+0:78                2 (const int)
+0:78            Sequence
+0:78              Constant:
+0:78                0 (const int)
+0:78              Constant:
+0:78                1 (const int)
+0:78              Constant:
+0:78                2 (const int)
+0:78          'ballot' ( temp 4-component vector of uint)
+0:79      move second child to first child ( temp 4-component vector of uint)
+0:79        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:79          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79            'invocation' ( temp uint)
+0:79          Constant:
+0:79            2 (const int)
+0:79        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:79          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:79            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              Constant:
+0:79                3 (const int)
+0:79            Constant:
+0:79              2 (const int)
+0:79          'ballot' ( temp 4-component vector of uint)
+0:81      move second child to first child ( temp double)
+0:81        direct index ( temp double)
+0:81          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:81            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'invocation' ( temp uint)
+0:81            Constant:
+0:81              3 (const int)
+0:81          Constant:
+0:81            0 (const int)
+0:81        ERROR: Bad aggregation op
+ ( global double)
+0:81          direct index ( temp double)
+0:81            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                Constant:
+0:81                  0 (const int)
+0:81              Constant:
+0:81                3 (const int)
+0:81            Constant:
+0:81              0 (const int)
+0:81          'ballot' ( temp 4-component vector of uint)
+0:82      move second child to first child ( temp 2-component vector of double)
+0:82        vector swizzle ( temp 2-component vector of double)
+0:82          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:82            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              'invocation' ( temp uint)
+0:82            Constant:
+0:82              3 (const int)
+0:82          Sequence
+0:82            Constant:
+0:82              0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:82          vector swizzle ( temp 2-component vector of double)
+0:82            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:82              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82                Constant:
+0:82                  1 (const int)
+0:82              Constant:
+0:82                3 (const int)
+0:82            Sequence
+0:82              Constant:
+0:82                0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82          'ballot' ( temp 4-component vector of uint)
+0:83      move second child to first child ( temp 3-component vector of double)
+0:83        vector swizzle ( temp 3-component vector of double)
+0:83          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:83            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83              'invocation' ( temp uint)
+0:83            Constant:
+0:83              3 (const int)
+0:83          Sequence
+0:83            Constant:
+0:83              0 (const int)
+0:83            Constant:
+0:83              1 (const int)
+0:83            Constant:
+0:83              2 (const int)
+0:83        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:83          vector swizzle ( temp 3-component vector of double)
+0:83            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:83              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:83                Constant:
+0:83                  2 (const int)
+0:83              Constant:
+0:83                3 (const int)
+0:83            Sequence
+0:83              Constant:
+0:83                0 (const int)
+0:83              Constant:
+0:83                1 (const int)
+0:83              Constant:
+0:83                2 (const int)
+0:83          'ballot' ( temp 4-component vector of uint)
+0:84      move second child to first child ( temp 4-component vector of double)
+0:84        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:84          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84            'invocation' ( temp uint)
+0:84          Constant:
+0:84            3 (const int)
+0:84        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:84          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:84            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              Constant:
+0:84                3 (const int)
+0:84            Constant:
+0:84              3 (const int)
+0:84          'ballot' ( temp 4-component vector of uint)
+0:86      move second child to first child ( temp float)
+0:86        direct index ( temp float)
+0:86          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:86            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'invocation' ( temp uint)
+0:86            Constant:
+0:86              0 (const int)
+0:86          Constant:
+0:86            0 (const int)
+0:86        ERROR: Bad aggregation op
+ ( global float)
+0:86          direct index ( temp float)
+0:86            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                Constant:
+0:86                  0 (const int)
+0:86              Constant:
+0:86                0 (const int)
+0:86            Constant:
+0:86              0 (const int)
+0:86          'ballot' ( temp 4-component vector of uint)
+0:87      move second child to first child ( temp 2-component vector of float)
+0:87        vector swizzle ( temp 2-component vector of float)
+0:87          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:87            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              'invocation' ( temp uint)
+0:87            Constant:
+0:87              0 (const int)
+0:87          Sequence
+0:87            Constant:
+0:87              0 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:87        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:87          vector swizzle ( temp 2-component vector of float)
+0:87            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:87              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87                Constant:
+0:87                  1 (const int)
+0:87              Constant:
+0:87                0 (const int)
+0:87            Sequence
+0:87              Constant:
+0:87                0 (const int)
+0:87              Constant:
+0:87                1 (const int)
+0:87          'ballot' ( temp 4-component vector of uint)
+0:88      move second child to first child ( temp 3-component vector of float)
+0:88        vector swizzle ( temp 3-component vector of float)
+0:88          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:88            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:88              'invocation' ( temp uint)
+0:88            Constant:
+0:88              0 (const int)
+0:88          Sequence
+0:88            Constant:
+0:88              0 (const int)
+0:88            Constant:
+0:88              1 (const int)
+0:88            Constant:
+0:88              2 (const int)
+0:88        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:88          vector swizzle ( temp 3-component vector of float)
+0:88            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:88              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:88                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:88                Constant:
+0:88                  2 (const int)
+0:88              Constant:
+0:88                0 (const int)
+0:88            Sequence
+0:88              Constant:
+0:88                0 (const int)
+0:88              Constant:
+0:88                1 (const int)
+0:88              Constant:
+0:88                2 (const int)
+0:88          'ballot' ( temp 4-component vector of uint)
+0:89      move second child to first child ( temp 4-component vector of float)
+0:89        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:89          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89            'invocation' ( temp uint)
+0:89          Constant:
+0:89            0 (const int)
+0:89        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:89          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:89            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              Constant:
+0:89                3 (const int)
+0:89            Constant:
+0:89              0 (const int)
+0:89          'ballot' ( temp 4-component vector of uint)
+0:91      move second child to first child ( temp int)
+0:91        direct index ( temp int)
+0:91          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:91            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'invocation' ( temp uint)
+0:91            Constant:
+0:91              1 (const int)
+0:91          Constant:
+0:91            0 (const int)
+0:91        ERROR: Bad aggregation op
+ ( global int)
+0:91          direct index ( temp int)
+0:91            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:91              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                Constant:
+0:91                  0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91            Constant:
+0:91              0 (const int)
+0:91          'ballot' ( temp 4-component vector of uint)
+0:92      move second child to first child ( temp 2-component vector of int)
+0:92        vector swizzle ( temp 2-component vector of int)
+0:92          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:92            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92              'invocation' ( temp uint)
+0:92            Constant:
+0:92              1 (const int)
+0:92          Sequence
+0:92            Constant:
+0:92              0 (const int)
+0:92            Constant:
+0:92              1 (const int)
+0:92        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:92          vector swizzle ( temp 2-component vector of int)
+0:92            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:92              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92                Constant:
+0:92                  1 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92            Sequence
+0:92              Constant:
+0:92                0 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92          'ballot' ( temp 4-component vector of uint)
+0:93      move second child to first child ( temp 3-component vector of int)
+0:93        vector swizzle ( temp 3-component vector of int)
+0:93          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:93            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:93              'invocation' ( temp uint)
+0:93            Constant:
+0:93              1 (const int)
+0:93          Sequence
+0:93            Constant:
+0:93              0 (const int)
+0:93            Constant:
+0:93              1 (const int)
+0:93            Constant:
+0:93              2 (const int)
+0:93        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:93          vector swizzle ( temp 3-component vector of int)
+0:93            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:93              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:93                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:93                Constant:
+0:93                  2 (const int)
+0:93              Constant:
+0:93                1 (const int)
+0:93            Sequence
+0:93              Constant:
+0:93                0 (const int)
+0:93              Constant:
+0:93                1 (const int)
+0:93              Constant:
+0:93                2 (const int)
+0:93          'ballot' ( temp 4-component vector of uint)
+0:94      move second child to first child ( temp 4-component vector of int)
+0:94        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:94          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94            'invocation' ( temp uint)
+0:94          Constant:
+0:94            1 (const int)
+0:94        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:94          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:94            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94          'ballot' ( temp 4-component vector of uint)
+0:96      move second child to first child ( temp uint)
+0:96        direct index ( temp uint)
+0:96          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:96            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'invocation' ( temp uint)
+0:96            Constant:
+0:96              2 (const int)
+0:96          Constant:
+0:96            0 (const int)
+0:96        ERROR: Bad aggregation op
+ ( global uint)
+0:96          direct index ( temp uint)
+0:96            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                Constant:
+0:96                  0 (const int)
+0:96              Constant:
+0:96                2 (const int)
+0:96            Constant:
+0:96              0 (const int)
+0:96          'ballot' ( temp 4-component vector of uint)
+0:97      move second child to first child ( temp 2-component vector of uint)
+0:97        vector swizzle ( temp 2-component vector of uint)
+0:97          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:97            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              'invocation' ( temp uint)
+0:97            Constant:
+0:97              2 (const int)
+0:97          Sequence
+0:97            Constant:
+0:97              0 (const int)
+0:97            Constant:
+0:97              1 (const int)
+0:97        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:97          vector swizzle ( temp 2-component vector of uint)
+0:97            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:97              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97                Constant:
+0:97                  1 (const int)
+0:97              Constant:
+0:97                2 (const int)
+0:97            Sequence
+0:97              Constant:
+0:97                0 (const int)
+0:97              Constant:
+0:97                1 (const int)
+0:97          'ballot' ( temp 4-component vector of uint)
+0:98      move second child to first child ( temp 3-component vector of uint)
+0:98        vector swizzle ( temp 3-component vector of uint)
+0:98          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:98            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:98              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:98              'invocation' ( temp uint)
+0:98            Constant:
+0:98              2 (const int)
+0:98          Sequence
+0:98            Constant:
+0:98              0 (const int)
+0:98            Constant:
+0:98              1 (const int)
+0:98            Constant:
+0:98              2 (const int)
+0:98        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:98          vector swizzle ( temp 3-component vector of uint)
+0:98            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:98              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:98                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:98                Constant:
+0:98                  2 (const int)
+0:98              Constant:
+0:98                2 (const int)
+0:98            Sequence
+0:98              Constant:
+0:98                0 (const int)
+0:98              Constant:
+0:98                1 (const int)
+0:98              Constant:
+0:98                2 (const int)
+0:98          'ballot' ( temp 4-component vector of uint)
+0:99      move second child to first child ( temp 4-component vector of uint)
+0:99        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:99          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99            'invocation' ( temp uint)
+0:99          Constant:
+0:99            2 (const int)
+0:99        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:99          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:99            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              Constant:
+0:99                3 (const int)
+0:99            Constant:
+0:99              2 (const int)
+0:99          'ballot' ( temp 4-component vector of uint)
+0:101      move second child to first child ( temp double)
+0:101        direct index ( temp double)
+0:101          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:101            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'invocation' ( temp uint)
+0:101            Constant:
+0:101              3 (const int)
+0:101          Constant:
+0:101            0 (const int)
+0:101        ERROR: Bad aggregation op
+ ( global double)
+0:101          direct index ( temp double)
+0:101            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                Constant:
+0:101                  0 (const int)
+0:101              Constant:
+0:101                3 (const int)
+0:101            Constant:
+0:101              0 (const int)
+0:101          'ballot' ( temp 4-component vector of uint)
+0:102      move second child to first child ( temp 2-component vector of double)
+0:102        vector swizzle ( temp 2-component vector of double)
+0:102          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:102            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              'invocation' ( temp uint)
+0:102            Constant:
+0:102              3 (const int)
+0:102          Sequence
+0:102            Constant:
+0:102              0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:102          vector swizzle ( temp 2-component vector of double)
+0:102            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:102              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102                Constant:
+0:102                  1 (const int)
+0:102              Constant:
+0:102                3 (const int)
+0:102            Sequence
+0:102              Constant:
+0:102                0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102          'ballot' ( temp 4-component vector of uint)
+0:103      move second child to first child ( temp 3-component vector of double)
+0:103        vector swizzle ( temp 3-component vector of double)
+0:103          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:103            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:103              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:103              'invocation' ( temp uint)
+0:103            Constant:
+0:103              3 (const int)
+0:103          Sequence
+0:103            Constant:
+0:103              0 (const int)
+0:103            Constant:
+0:103              1 (const int)
+0:103            Constant:
+0:103              2 (const int)
+0:103        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:103          vector swizzle ( temp 3-component vector of double)
+0:103            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:103              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:103                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:103                Constant:
+0:103                  2 (const int)
+0:103              Constant:
+0:103                3 (const int)
+0:103            Sequence
+0:103              Constant:
+0:103                0 (const int)
+0:103              Constant:
+0:103                1 (const int)
+0:103              Constant:
+0:103                2 (const int)
+0:103          'ballot' ( temp 4-component vector of uint)
+0:104      move second child to first child ( temp 4-component vector of double)
+0:104        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:104          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104            'invocation' ( temp uint)
+0:104          Constant:
+0:104            3 (const int)
+0:104        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:104          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:104            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              Constant:
+0:104                3 (const int)
+0:104            Constant:
+0:104              3 (const int)
+0:104          'ballot' ( temp 4-component vector of uint)
+0:106      move second child to first child ( temp float)
+0:106        direct index ( temp float)
+0:106          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:106            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'invocation' ( temp uint)
+0:106            Constant:
+0:106              0 (const int)
+0:106          Constant:
+0:106            0 (const int)
+0:106        ERROR: Bad aggregation op
+ ( global float)
+0:106          direct index ( temp float)
+0:106            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                Constant:
+0:106                  0 (const int)
+0:106              Constant:
+0:106                0 (const int)
+0:106            Constant:
+0:106              0 (const int)
+0:106          'ballot' ( temp 4-component vector of uint)
+0:107      move second child to first child ( temp 2-component vector of float)
+0:107        vector swizzle ( temp 2-component vector of float)
+0:107          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:107            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              'invocation' ( temp uint)
+0:107            Constant:
+0:107              0 (const int)
+0:107          Sequence
+0:107            Constant:
+0:107              0 (const int)
+0:107            Constant:
+0:107              1 (const int)
+0:107        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:107          vector swizzle ( temp 2-component vector of float)
+0:107            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:107              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107                Constant:
+0:107                  1 (const int)
+0:107              Constant:
+0:107                0 (const int)
+0:107            Sequence
+0:107              Constant:
+0:107                0 (const int)
+0:107              Constant:
+0:107                1 (const int)
+0:107          'ballot' ( temp 4-component vector of uint)
+0:108      move second child to first child ( temp 3-component vector of float)
+0:108        vector swizzle ( temp 3-component vector of float)
+0:108          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:108            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:108              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:108              'invocation' ( temp uint)
+0:108            Constant:
+0:108              0 (const int)
+0:108          Sequence
+0:108            Constant:
+0:108              0 (const int)
+0:108            Constant:
+0:108              1 (const int)
+0:108            Constant:
+0:108              2 (const int)
+0:108        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:108          vector swizzle ( temp 3-component vector of float)
+0:108            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:108              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:108                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:108                Constant:
+0:108                  2 (const int)
+0:108              Constant:
+0:108                0 (const int)
+0:108            Sequence
+0:108              Constant:
+0:108                0 (const int)
+0:108              Constant:
+0:108                1 (const int)
+0:108              Constant:
+0:108                2 (const int)
+0:108          'ballot' ( temp 4-component vector of uint)
+0:109      move second child to first child ( temp 4-component vector of float)
+0:109        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:109          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109            'invocation' ( temp uint)
+0:109          Constant:
+0:109            0 (const int)
+0:109        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:109          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:109            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              Constant:
+0:109                3 (const int)
+0:109            Constant:
+0:109              0 (const int)
+0:109          'ballot' ( temp 4-component vector of uint)
+0:111      move second child to first child ( temp int)
+0:111        direct index ( temp int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'invocation' ( temp uint)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Constant:
+0:111            0 (const int)
+0:111        ERROR: Bad aggregation op
+ ( global int)
+0:111          direct index ( temp int)
+0:111            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:111              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                Constant:
+0:111                  0 (const int)
+0:111              Constant:
+0:111                1 (const int)
+0:111            Constant:
+0:111              0 (const int)
+0:111          'ballot' ( temp 4-component vector of uint)
+0:112      move second child to first child ( temp 2-component vector of int)
+0:112        vector swizzle ( temp 2-component vector of int)
+0:112          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112              'invocation' ( temp uint)
+0:112            Constant:
+0:112              1 (const int)
+0:112          Sequence
+0:112            Constant:
+0:112              0 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:112          vector swizzle ( temp 2-component vector of int)
+0:112            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:112              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112                Constant:
+0:112                  1 (const int)
+0:112              Constant:
+0:112                1 (const int)
+0:112            Sequence
+0:112              Constant:
+0:112                0 (const int)
+0:112              Constant:
+0:112                1 (const int)
+0:112          'ballot' ( temp 4-component vector of uint)
+0:113      move second child to first child ( temp 3-component vector of int)
+0:113        vector swizzle ( temp 3-component vector of int)
+0:113          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:113            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:113              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:113              'invocation' ( temp uint)
+0:113            Constant:
+0:113              1 (const int)
+0:113          Sequence
+0:113            Constant:
+0:113              0 (const int)
+0:113            Constant:
+0:113              1 (const int)
+0:113            Constant:
+0:113              2 (const int)
+0:113        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:113          vector swizzle ( temp 3-component vector of int)
+0:113            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:113              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:113                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:113                Constant:
+0:113                  2 (const int)
+0:113              Constant:
+0:113                1 (const int)
+0:113            Sequence
+0:113              Constant:
+0:113                0 (const int)
+0:113              Constant:
+0:113                1 (const int)
+0:113              Constant:
+0:113                2 (const int)
+0:113          'ballot' ( temp 4-component vector of uint)
+0:114      move second child to first child ( temp 4-component vector of int)
+0:114        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114            'invocation' ( temp uint)
+0:114          Constant:
+0:114            1 (const int)
+0:114        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:114          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              Constant:
+0:114                3 (const int)
+0:114            Constant:
+0:114              1 (const int)
+0:114          'ballot' ( temp 4-component vector of uint)
+0:116      move second child to first child ( temp uint)
+0:116        direct index ( temp uint)
+0:116          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:116            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'invocation' ( temp uint)
+0:116            Constant:
+0:116              2 (const int)
+0:116          Constant:
+0:116            0 (const int)
+0:116        ERROR: Bad aggregation op
+ ( global uint)
+0:116          direct index ( temp uint)
+0:116            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:116              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                Constant:
+0:116                  0 (const int)
+0:116              Constant:
+0:116                2 (const int)
+0:116            Constant:
+0:116              0 (const int)
+0:116          'ballot' ( temp 4-component vector of uint)
+0:117      move second child to first child ( temp 2-component vector of uint)
+0:117        vector swizzle ( temp 2-component vector of uint)
+0:117          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:117            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117              'invocation' ( temp uint)
+0:117            Constant:
+0:117              2 (const int)
+0:117          Sequence
+0:117            Constant:
+0:117              0 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:117          vector swizzle ( temp 2-component vector of uint)
+0:117            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:117              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117                Constant:
+0:117                  1 (const int)
+0:117              Constant:
+0:117                2 (const int)
+0:117            Sequence
+0:117              Constant:
+0:117                0 (const int)
+0:117              Constant:
+0:117                1 (const int)
+0:117          'ballot' ( temp 4-component vector of uint)
+0:118      move second child to first child ( temp 3-component vector of uint)
+0:118        vector swizzle ( temp 3-component vector of uint)
+0:118          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:118            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:118              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:118              'invocation' ( temp uint)
+0:118            Constant:
+0:118              2 (const int)
+0:118          Sequence
+0:118            Constant:
+0:118              0 (const int)
+0:118            Constant:
+0:118              1 (const int)
+0:118            Constant:
+0:118              2 (const int)
+0:118        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:118          vector swizzle ( temp 3-component vector of uint)
+0:118            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:118              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:118                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:118                Constant:
+0:118                  2 (const int)
+0:118              Constant:
+0:118                2 (const int)
+0:118            Sequence
+0:118              Constant:
+0:118                0 (const int)
+0:118              Constant:
+0:118                1 (const int)
+0:118              Constant:
+0:118                2 (const int)
+0:118          'ballot' ( temp 4-component vector of uint)
+0:119      move second child to first child ( temp 4-component vector of uint)
+0:119        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119            'invocation' ( temp uint)
+0:119          Constant:
+0:119            2 (const int)
+0:119        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:119          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:119            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:119              Constant:
+0:119                3 (const int)
+0:119            Constant:
+0:119              2 (const int)
+0:119          'ballot' ( temp 4-component vector of uint)
+0:121      move second child to first child ( temp double)
+0:121        direct index ( temp double)
+0:121          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:121            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121              'invocation' ( temp uint)
+0:121            Constant:
+0:121              3 (const int)
+0:121          Constant:
+0:121            0 (const int)
+0:121        ERROR: Bad aggregation op
+ ( global double)
+0:121          direct index ( temp double)
+0:121            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:121              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:121                Constant:
+0:121                  0 (const int)
+0:121              Constant:
+0:121                3 (const int)
+0:121            Constant:
+0:121              0 (const int)
+0:121          'ballot' ( temp 4-component vector of uint)
+0:122      move second child to first child ( temp 2-component vector of double)
+0:122        vector swizzle ( temp 2-component vector of double)
+0:122          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:122            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122              'invocation' ( temp uint)
+0:122            Constant:
+0:122              3 (const int)
+0:122          Sequence
+0:122            Constant:
+0:122              0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:122          vector swizzle ( temp 2-component vector of double)
+0:122            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:122              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:122                Constant:
+0:122                  1 (const int)
+0:122              Constant:
+0:122                3 (const int)
+0:122            Sequence
+0:122              Constant:
+0:122                0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122          'ballot' ( temp 4-component vector of uint)
+0:123      move second child to first child ( temp 3-component vector of double)
+0:123        vector swizzle ( temp 3-component vector of double)
+0:123          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:123            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:123              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:123              'invocation' ( temp uint)
+0:123            Constant:
+0:123              3 (const int)
+0:123          Sequence
+0:123            Constant:
+0:123              0 (const int)
+0:123            Constant:
+0:123              1 (const int)
+0:123            Constant:
+0:123              2 (const int)
+0:123        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:123          vector swizzle ( temp 3-component vector of double)
+0:123            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:123              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:123                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:123                Constant:
+0:123                  2 (const int)
+0:123              Constant:
+0:123                3 (const int)
+0:123            Sequence
+0:123              Constant:
+0:123                0 (const int)
+0:123              Constant:
+0:123                1 (const int)
+0:123              Constant:
+0:123                2 (const int)
+0:123          'ballot' ( temp 4-component vector of uint)
+0:124      move second child to first child ( temp 4-component vector of double)
+0:124        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:124          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124            'invocation' ( temp uint)
+0:124          Constant:
+0:124            3 (const int)
+0:124        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:124          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:124            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:124              Constant:
+0:124                3 (const int)
+0:124            Constant:
+0:124              3 (const int)
+0:124          'ballot' ( temp 4-component vector of uint)
+0:126      move second child to first child ( temp int)
+0:126        direct index ( temp int)
+0:126          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126              'invocation' ( temp uint)
+0:126            Constant:
+0:126              1 (const int)
+0:126          Constant:
+0:126            0 (const int)
+0:126        ERROR: Bad aggregation op
+ ( global int)
+0:126          direct index ( temp int)
+0:126            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:126              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:126                Constant:
+0:126                  0 (const int)
+0:126              Constant:
+0:126                1 (const int)
+0:126            Constant:
+0:126              0 (const int)
+0:126          'ballot' ( temp 4-component vector of uint)
+0:127      move second child to first child ( temp 2-component vector of int)
+0:127        vector swizzle ( temp 2-component vector of int)
+0:127          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127              'invocation' ( temp uint)
+0:127            Constant:
+0:127              1 (const int)
+0:127          Sequence
+0:127            Constant:
+0:127              0 (const int)
+0:127            Constant:
+0:127              1 (const int)
+0:127        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:127          vector swizzle ( temp 2-component vector of int)
+0:127            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:127              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:127                Constant:
+0:127                  1 (const int)
+0:127              Constant:
+0:127                1 (const int)
+0:127            Sequence
+0:127              Constant:
+0:127                0 (const int)
+0:127              Constant:
+0:127                1 (const int)
+0:127          'ballot' ( temp 4-component vector of uint)
+0:128      move second child to first child ( temp 3-component vector of int)
+0:128        vector swizzle ( temp 3-component vector of int)
+0:128          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:128            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:128              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:128              'invocation' ( temp uint)
+0:128            Constant:
+0:128              1 (const int)
+0:128          Sequence
+0:128            Constant:
+0:128              0 (const int)
+0:128            Constant:
+0:128              1 (const int)
+0:128            Constant:
+0:128              2 (const int)
+0:128        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:128          vector swizzle ( temp 3-component vector of int)
+0:128            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:128              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:128                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:128                Constant:
+0:128                  2 (const int)
+0:128              Constant:
+0:128                1 (const int)
+0:128            Sequence
+0:128              Constant:
+0:128                0 (const int)
+0:128              Constant:
+0:128                1 (const int)
+0:128              Constant:
+0:128                2 (const int)
+0:128          'ballot' ( temp 4-component vector of uint)
+0:129      move second child to first child ( temp 4-component vector of int)
+0:129        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129            'invocation' ( temp uint)
+0:129          Constant:
+0:129            1 (const int)
+0:129        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:129          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:129            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:129              Constant:
+0:129                3 (const int)
+0:129            Constant:
+0:129              1 (const int)
+0:129          'ballot' ( temp 4-component vector of uint)
+0:131      move second child to first child ( temp uint)
+0:131        direct index ( temp uint)
+0:131          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:131            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131              'invocation' ( temp uint)
+0:131            Constant:
+0:131              2 (const int)
+0:131          Constant:
+0:131            0 (const int)
+0:131        ERROR: Bad aggregation op
+ ( global uint)
+0:131          direct index ( temp uint)
+0:131            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:131              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:131                Constant:
+0:131                  0 (const int)
+0:131              Constant:
+0:131                2 (const int)
+0:131            Constant:
+0:131              0 (const int)
+0:131          'ballot' ( temp 4-component vector of uint)
+0:132      move second child to first child ( temp 2-component vector of uint)
+0:132        vector swizzle ( temp 2-component vector of uint)
+0:132          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:132            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132              'invocation' ( temp uint)
+0:132            Constant:
+0:132              2 (const int)
+0:132          Sequence
+0:132            Constant:
+0:132              0 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:132        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:132          vector swizzle ( temp 2-component vector of uint)
+0:132            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:132              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:132                Constant:
+0:132                  1 (const int)
+0:132              Constant:
+0:132                2 (const int)
+0:132            Sequence
+0:132              Constant:
+0:132                0 (const int)
+0:132              Constant:
+0:132                1 (const int)
+0:132          'ballot' ( temp 4-component vector of uint)
+0:133      move second child to first child ( temp 3-component vector of uint)
+0:133        vector swizzle ( temp 3-component vector of uint)
+0:133          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:133            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:133              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:133              'invocation' ( temp uint)
+0:133            Constant:
+0:133              2 (const int)
+0:133          Sequence
+0:133            Constant:
+0:133              0 (const int)
+0:133            Constant:
+0:133              1 (const int)
+0:133            Constant:
+0:133              2 (const int)
+0:133        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:133          vector swizzle ( temp 3-component vector of uint)
+0:133            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:133              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:133                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:133                Constant:
+0:133                  2 (const int)
+0:133              Constant:
+0:133                2 (const int)
+0:133            Sequence
+0:133              Constant:
+0:133                0 (const int)
+0:133              Constant:
+0:133                1 (const int)
+0:133              Constant:
+0:133                2 (const int)
+0:133          'ballot' ( temp 4-component vector of uint)
+0:134      move second child to first child ( temp 4-component vector of uint)
+0:134        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134            'invocation' ( temp uint)
+0:134          Constant:
+0:134            2 (const int)
+0:134        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:134          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:134            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:134              Constant:
+0:134                3 (const int)
+0:134            Constant:
+0:134              2 (const int)
+0:134          'ballot' ( temp 4-component vector of uint)
+0:136      move second child to first child ( temp int)
+0:136        direct index ( temp int)
+0:136          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:136            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136              'invocation' ( temp uint)
+0:136            Constant:
+0:136              1 (const int)
+0:136          Constant:
+0:136            0 (const int)
+0:136        Convert bool to int ( temp int)
+0:136          ERROR: Bad aggregation op
+ ( global bool)
+0:136            Compare Less Than ( temp bool)
+0:136              direct index ( temp int)
+0:136                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:136                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:136                    Constant:
+0:136                      0 (const int)
+0:136                  Constant:
+0:136                    1 (const int)
+0:136                Constant:
+0:136                  0 (const int)
+0:136              Constant:
+0:136                0 (const int)
+0:136            'ballot' ( temp 4-component vector of uint)
+0:137      move second child to first child ( temp 2-component vector of int)
+0:137        vector swizzle ( temp 2-component vector of int)
+0:137          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:137            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137              'invocation' ( temp uint)
+0:137            Constant:
+0:137              1 (const int)
+0:137          Sequence
+0:137            Constant:
+0:137              0 (const int)
+0:137            Constant:
+0:137              1 (const int)
+0:137        Convert bool to int ( temp 2-component vector of int)
+0:137          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:137            Compare Less Than ( global 2-component vector of bool)
+0:137              vector swizzle ( temp 2-component vector of int)
+0:137                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:137                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:137                    Constant:
+0:137                      1 (const int)
+0:137                  Constant:
+0:137                    1 (const int)
+0:137                Sequence
+0:137                  Constant:
+0:137                    0 (const int)
+0:137                  Constant:
+0:137                    1 (const int)
+0:137              Constant:
+0:137                0 (const int)
+0:137                0 (const int)
+0:137            'ballot' ( temp 4-component vector of uint)
+0:138      move second child to first child ( temp 3-component vector of int)
+0:138        vector swizzle ( temp 3-component vector of int)
+0:138          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:138            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:138              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:138              'invocation' ( temp uint)
+0:138            Constant:
+0:138              1 (const int)
+0:138          Sequence
+0:138            Constant:
+0:138              0 (const int)
+0:138            Constant:
+0:138              1 (const int)
+0:138            Constant:
+0:138              2 (const int)
+0:138        Convert bool to int ( temp 3-component vector of int)
+0:138          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:138            Compare Less Than ( global 3-component vector of bool)
+0:138              vector swizzle ( temp 3-component vector of int)
+0:138                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:138                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:138                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:138                    Constant:
+0:138                      1 (const int)
+0:138                  Constant:
+0:138                    1 (const int)
+0:138                Sequence
+0:138                  Constant:
+0:138                    0 (const int)
+0:138                  Constant:
+0:138                    1 (const int)
+0:138                  Constant:
+0:138                    2 (const int)
+0:138              Constant:
+0:138                0 (const int)
+0:138                0 (const int)
+0:138                0 (const int)
+0:138            'ballot' ( temp 4-component vector of uint)
+0:139      move second child to first child ( temp 4-component vector of int)
+0:139        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139            'invocation' ( temp uint)
+0:139          Constant:
+0:139            1 (const int)
+0:139        Convert bool to int ( temp 4-component vector of int)
+0:139          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:139            Compare Less Than ( global 4-component vector of bool)
+0:139              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:139                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:139                  Constant:
+0:139                    1 (const int)
+0:139                Constant:
+0:139                  1 (const int)
+0:139              Constant:
+0:139                0 (const int)
+0:139                0 (const int)
+0:139                0 (const int)
+0:139                0 (const int)
+0:139            'ballot' ( temp 4-component vector of uint)
+0:141      move second child to first child ( temp int)
+0:141        direct index ( temp int)
+0:141          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141              'invocation' ( temp uint)
+0:141            Constant:
+0:141              1 (const int)
+0:141          Constant:
+0:141            0 (const int)
+0:141        ERROR: Bad aggregation op
+ ( global int)
+0:141          direct index ( temp int)
+0:141            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:141              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:141                Constant:
+0:141                  0 (const int)
+0:141              Constant:
+0:141                1 (const int)
+0:141            Constant:
+0:141              0 (const int)
+0:141          'ballot' ( temp 4-component vector of uint)
+0:142      move second child to first child ( temp 2-component vector of int)
+0:142        vector swizzle ( temp 2-component vector of int)
+0:142          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142              'invocation' ( temp uint)
+0:142            Constant:
+0:142              1 (const int)
+0:142          Sequence
+0:142            Constant:
+0:142              0 (const int)
+0:142            Constant:
+0:142              1 (const int)
+0:142        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:142          vector swizzle ( temp 2-component vector of int)
+0:142            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:142              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:142                Constant:
+0:142                  1 (const int)
+0:142              Constant:
+0:142                1 (const int)
+0:142            Sequence
+0:142              Constant:
+0:142                0 (const int)
+0:142              Constant:
+0:142                1 (const int)
+0:142          'ballot' ( temp 4-component vector of uint)
+0:143      move second child to first child ( temp 3-component vector of int)
+0:143        vector swizzle ( temp 3-component vector of int)
+0:143          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:143            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:143              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:143              'invocation' ( temp uint)
+0:143            Constant:
+0:143              1 (const int)
+0:143          Sequence
+0:143            Constant:
+0:143              0 (const int)
+0:143            Constant:
+0:143              1 (const int)
+0:143            Constant:
+0:143              2 (const int)
+0:143        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:143          vector swizzle ( temp 3-component vector of int)
+0:143            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:143              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:143                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:143                Constant:
+0:143                  2 (const int)
+0:143              Constant:
+0:143                1 (const int)
+0:143            Sequence
+0:143              Constant:
+0:143                0 (const int)
+0:143              Constant:
+0:143                1 (const int)
+0:143              Constant:
+0:143                2 (const int)
+0:143          'ballot' ( temp 4-component vector of uint)
+0:144      move second child to first child ( temp 4-component vector of int)
+0:144        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:144          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144            'invocation' ( temp uint)
+0:144          Constant:
+0:144            1 (const int)
+0:144        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:144          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:144            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:144              Constant:
+0:144                3 (const int)
+0:144            Constant:
+0:144              1 (const int)
+0:144          'ballot' ( temp 4-component vector of uint)
+0:146      move second child to first child ( temp uint)
+0:146        direct index ( temp uint)
+0:146          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:146            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146              'invocation' ( temp uint)
+0:146            Constant:
+0:146              2 (const int)
+0:146          Constant:
+0:146            0 (const int)
+0:146        ERROR: Bad aggregation op
+ ( global uint)
+0:146          direct index ( temp uint)
+0:146            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:146              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:146                Constant:
+0:146                  0 (const int)
+0:146              Constant:
+0:146                2 (const int)
+0:146            Constant:
+0:146              0 (const int)
+0:146          'ballot' ( temp 4-component vector of uint)
+0:147      move second child to first child ( temp 2-component vector of uint)
+0:147        vector swizzle ( temp 2-component vector of uint)
+0:147          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:147            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147              'invocation' ( temp uint)
+0:147            Constant:
+0:147              2 (const int)
+0:147          Sequence
+0:147            Constant:
+0:147              0 (const int)
+0:147            Constant:
+0:147              1 (const int)
+0:147        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:147          vector swizzle ( temp 2-component vector of uint)
+0:147            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:147              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:147                Constant:
+0:147                  1 (const int)
+0:147              Constant:
+0:147                2 (const int)
+0:147            Sequence
+0:147              Constant:
+0:147                0 (const int)
+0:147              Constant:
+0:147                1 (const int)
+0:147          'ballot' ( temp 4-component vector of uint)
+0:148      move second child to first child ( temp 3-component vector of uint)
+0:148        vector swizzle ( temp 3-component vector of uint)
+0:148          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:148            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:148              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:148              'invocation' ( temp uint)
+0:148            Constant:
+0:148              2 (const int)
+0:148          Sequence
+0:148            Constant:
+0:148              0 (const int)
+0:148            Constant:
+0:148              1 (const int)
+0:148            Constant:
+0:148              2 (const int)
+0:148        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:148          vector swizzle ( temp 3-component vector of uint)
+0:148            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:148              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:148                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:148                Constant:
+0:148                  2 (const int)
+0:148              Constant:
+0:148                2 (const int)
+0:148            Sequence
+0:148              Constant:
+0:148                0 (const int)
+0:148              Constant:
+0:148                1 (const int)
+0:148              Constant:
+0:148                2 (const int)
+0:148          'ballot' ( temp 4-component vector of uint)
+0:149      move second child to first child ( temp 4-component vector of uint)
+0:149        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:149          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149            'invocation' ( temp uint)
+0:149          Constant:
+0:149            2 (const int)
+0:149        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:149          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:149            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:149              Constant:
+0:149                3 (const int)
+0:149            Constant:
+0:149              2 (const int)
+0:149          'ballot' ( temp 4-component vector of uint)
+0:151      move second child to first child ( temp int)
+0:151        direct index ( temp int)
+0:151          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:151            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151              'invocation' ( temp uint)
+0:151            Constant:
+0:151              1 (const int)
+0:151          Constant:
+0:151            0 (const int)
+0:151        Convert bool to int ( temp int)
+0:151          ERROR: Bad aggregation op
+ ( global bool)
+0:151            Compare Less Than ( temp bool)
+0:151              direct index ( temp int)
+0:151                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:151                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:151                    Constant:
+0:151                      0 (const int)
+0:151                  Constant:
+0:151                    1 (const int)
+0:151                Constant:
+0:151                  0 (const int)
+0:151              Constant:
+0:151                0 (const int)
+0:151            'ballot' ( temp 4-component vector of uint)
+0:152      move second child to first child ( temp 2-component vector of int)
+0:152        vector swizzle ( temp 2-component vector of int)
+0:152          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:152            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152              'invocation' ( temp uint)
+0:152            Constant:
+0:152              1 (const int)
+0:152          Sequence
+0:152            Constant:
+0:152              0 (const int)
+0:152            Constant:
+0:152              1 (const int)
+0:152        Convert bool to int ( temp 2-component vector of int)
+0:152          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:152            Compare Less Than ( global 2-component vector of bool)
+0:152              vector swizzle ( temp 2-component vector of int)
+0:152                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:152                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:152                    Constant:
+0:152                      1 (const int)
+0:152                  Constant:
+0:152                    1 (const int)
+0:152                Sequence
+0:152                  Constant:
+0:152                    0 (const int)
+0:152                  Constant:
+0:152                    1 (const int)
+0:152              Constant:
+0:152                0 (const int)
+0:152                0 (const int)
+0:152            'ballot' ( temp 4-component vector of uint)
+0:153      move second child to first child ( temp 3-component vector of int)
+0:153        vector swizzle ( temp 3-component vector of int)
+0:153          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:153            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:153              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:153              'invocation' ( temp uint)
+0:153            Constant:
+0:153              1 (const int)
+0:153          Sequence
+0:153            Constant:
+0:153              0 (const int)
+0:153            Constant:
+0:153              1 (const int)
+0:153            Constant:
+0:153              2 (const int)
+0:153        Convert bool to int ( temp 3-component vector of int)
+0:153          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:153            Compare Less Than ( global 3-component vector of bool)
+0:153              vector swizzle ( temp 3-component vector of int)
+0:153                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:153                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:153                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:153                    Constant:
+0:153                      1 (const int)
+0:153                  Constant:
+0:153                    1 (const int)
+0:153                Sequence
+0:153                  Constant:
+0:153                    0 (const int)
+0:153                  Constant:
+0:153                    1 (const int)
+0:153                  Constant:
+0:153                    2 (const int)
+0:153              Constant:
+0:153                0 (const int)
+0:153                0 (const int)
+0:153                0 (const int)
+0:153            'ballot' ( temp 4-component vector of uint)
+0:154      move second child to first child ( temp 4-component vector of int)
+0:154        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:154          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154            'invocation' ( temp uint)
+0:154          Constant:
+0:154            1 (const int)
+0:154        Convert bool to int ( temp 4-component vector of int)
+0:154          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:154            Compare Less Than ( global 4-component vector of bool)
+0:154              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:154                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:154                  Constant:
+0:154                    1 (const int)
+0:154                Constant:
+0:154                  1 (const int)
+0:154              Constant:
+0:154                0 (const int)
+0:154                0 (const int)
+0:154                0 (const int)
+0:154                0 (const int)
+0:154            'ballot' ( temp 4-component vector of uint)
+0:156      move second child to first child ( temp int)
+0:156        direct index ( temp int)
+0:156          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:156            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156              'invocation' ( temp uint)
+0:156            Constant:
+0:156              1 (const int)
+0:156          Constant:
+0:156            0 (const int)
+0:156        ERROR: Bad aggregation op
+ ( global int)
+0:156          direct index ( temp int)
+0:156            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:156              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:156                Constant:
+0:156                  0 (const int)
+0:156              Constant:
+0:156                1 (const int)
+0:156            Constant:
+0:156              0 (const int)
+0:156          'ballot' ( temp 4-component vector of uint)
+0:157      move second child to first child ( temp 2-component vector of int)
+0:157        vector swizzle ( temp 2-component vector of int)
+0:157          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:157            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157              'invocation' ( temp uint)
+0:157            Constant:
+0:157              1 (const int)
+0:157          Sequence
+0:157            Constant:
+0:157              0 (const int)
+0:157            Constant:
+0:157              1 (const int)
+0:157        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:157          vector swizzle ( temp 2-component vector of int)
+0:157            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:157              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:157                Constant:
+0:157                  1 (const int)
+0:157              Constant:
+0:157                1 (const int)
+0:157            Sequence
+0:157              Constant:
+0:157                0 (const int)
+0:157              Constant:
+0:157                1 (const int)
+0:157          'ballot' ( temp 4-component vector of uint)
+0:158      move second child to first child ( temp 3-component vector of int)
+0:158        vector swizzle ( temp 3-component vector of int)
+0:158          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:158            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:158              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:158              'invocation' ( temp uint)
+0:158            Constant:
+0:158              1 (const int)
+0:158          Sequence
+0:158            Constant:
+0:158              0 (const int)
+0:158            Constant:
+0:158              1 (const int)
+0:158            Constant:
+0:158              2 (const int)
+0:158        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:158          vector swizzle ( temp 3-component vector of int)
+0:158            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:158              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:158                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:158                Constant:
+0:158                  2 (const int)
+0:158              Constant:
+0:158                1 (const int)
+0:158            Sequence
+0:158              Constant:
+0:158                0 (const int)
+0:158              Constant:
+0:158                1 (const int)
+0:158              Constant:
+0:158                2 (const int)
+0:158          'ballot' ( temp 4-component vector of uint)
+0:159      move second child to first child ( temp 4-component vector of int)
+0:159        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:159          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159            'invocation' ( temp uint)
+0:159          Constant:
+0:159            1 (const int)
+0:159        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:159          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:159            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:159              Constant:
+0:159                3 (const int)
+0:159            Constant:
+0:159              1 (const int)
+0:159          'ballot' ( temp 4-component vector of uint)
+0:161      move second child to first child ( temp uint)
+0:161        direct index ( temp uint)
+0:161          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:161            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161              'invocation' ( temp uint)
+0:161            Constant:
+0:161              2 (const int)
+0:161          Constant:
+0:161            0 (const int)
+0:161        ERROR: Bad aggregation op
+ ( global uint)
+0:161          direct index ( temp uint)
+0:161            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:161              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:161                Constant:
+0:161                  0 (const int)
+0:161              Constant:
+0:161                2 (const int)
+0:161            Constant:
+0:161              0 (const int)
+0:161          'ballot' ( temp 4-component vector of uint)
+0:162      move second child to first child ( temp 2-component vector of uint)
+0:162        vector swizzle ( temp 2-component vector of uint)
+0:162          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:162            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162              'invocation' ( temp uint)
+0:162            Constant:
+0:162              2 (const int)
+0:162          Sequence
+0:162            Constant:
+0:162              0 (const int)
+0:162            Constant:
+0:162              1 (const int)
+0:162        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:162          vector swizzle ( temp 2-component vector of uint)
+0:162            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:162              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:162                Constant:
+0:162                  1 (const int)
+0:162              Constant:
+0:162                2 (const int)
+0:162            Sequence
+0:162              Constant:
+0:162                0 (const int)
+0:162              Constant:
+0:162                1 (const int)
+0:162          'ballot' ( temp 4-component vector of uint)
+0:163      move second child to first child ( temp 3-component vector of uint)
+0:163        vector swizzle ( temp 3-component vector of uint)
+0:163          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:163            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:163              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:163              'invocation' ( temp uint)
+0:163            Constant:
+0:163              2 (const int)
+0:163          Sequence
+0:163            Constant:
+0:163              0 (const int)
+0:163            Constant:
+0:163              1 (const int)
+0:163            Constant:
+0:163              2 (const int)
+0:163        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:163          vector swizzle ( temp 3-component vector of uint)
+0:163            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:163              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:163                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:163                Constant:
+0:163                  2 (const int)
+0:163              Constant:
+0:163                2 (const int)
+0:163            Sequence
+0:163              Constant:
+0:163                0 (const int)
+0:163              Constant:
+0:163                1 (const int)
+0:163              Constant:
+0:163                2 (const int)
+0:163          'ballot' ( temp 4-component vector of uint)
+0:164      move second child to first child ( temp 4-component vector of uint)
+0:164        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:164          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164            'invocation' ( temp uint)
+0:164          Constant:
+0:164            2 (const int)
+0:164        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:164          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:164            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:164              Constant:
+0:164                3 (const int)
+0:164            Constant:
+0:164              2 (const int)
+0:164          'ballot' ( temp 4-component vector of uint)
+0:166      move second child to first child ( temp int)
+0:166        direct index ( temp int)
+0:166          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:166            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166              'invocation' ( temp uint)
+0:166            Constant:
+0:166              1 (const int)
+0:166          Constant:
+0:166            0 (const int)
+0:166        Convert bool to int ( temp int)
+0:166          ERROR: Bad aggregation op
+ ( global bool)
+0:166            Compare Less Than ( temp bool)
+0:166              direct index ( temp int)
+0:166                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:166                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:166                    Constant:
+0:166                      0 (const int)
+0:166                  Constant:
+0:166                    1 (const int)
+0:166                Constant:
+0:166                  0 (const int)
+0:166              Constant:
+0:166                0 (const int)
+0:166            'ballot' ( temp 4-component vector of uint)
+0:167      move second child to first child ( temp 2-component vector of int)
+0:167        vector swizzle ( temp 2-component vector of int)
+0:167          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:167            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167              'invocation' ( temp uint)
+0:167            Constant:
+0:167              1 (const int)
+0:167          Sequence
+0:167            Constant:
+0:167              0 (const int)
+0:167            Constant:
+0:167              1 (const int)
+0:167        Convert bool to int ( temp 2-component vector of int)
+0:167          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:167            Compare Less Than ( global 2-component vector of bool)
+0:167              vector swizzle ( temp 2-component vector of int)
+0:167                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:167                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:167                    Constant:
+0:167                      1 (const int)
+0:167                  Constant:
+0:167                    1 (const int)
+0:167                Sequence
+0:167                  Constant:
+0:167                    0 (const int)
+0:167                  Constant:
+0:167                    1 (const int)
+0:167              Constant:
+0:167                0 (const int)
+0:167                0 (const int)
+0:167            'ballot' ( temp 4-component vector of uint)
+0:168      move second child to first child ( temp 3-component vector of int)
+0:168        vector swizzle ( temp 3-component vector of int)
+0:168          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:168            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:168              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:168              'invocation' ( temp uint)
+0:168            Constant:
+0:168              1 (const int)
+0:168          Sequence
+0:168            Constant:
+0:168              0 (const int)
+0:168            Constant:
+0:168              1 (const int)
+0:168            Constant:
+0:168              2 (const int)
+0:168        Convert bool to int ( temp 3-component vector of int)
+0:168          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:168            Compare Less Than ( global 3-component vector of bool)
+0:168              vector swizzle ( temp 3-component vector of int)
+0:168                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:168                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:168                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:168                    Constant:
+0:168                      1 (const int)
+0:168                  Constant:
+0:168                    1 (const int)
+0:168                Sequence
+0:168                  Constant:
+0:168                    0 (const int)
+0:168                  Constant:
+0:168                    1 (const int)
+0:168                  Constant:
+0:168                    2 (const int)
+0:168              Constant:
+0:168                0 (const int)
+0:168                0 (const int)
+0:168                0 (const int)
+0:168            'ballot' ( temp 4-component vector of uint)
+0:169      move second child to first child ( temp 4-component vector of int)
+0:169        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:169          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169            'invocation' ( temp uint)
+0:169          Constant:
+0:169            1 (const int)
+0:169        Convert bool to int ( temp 4-component vector of int)
+0:169          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:169            Compare Less Than ( global 4-component vector of bool)
+0:169              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:169                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:169                  Constant:
+0:169                    1 (const int)
+0:169                Constant:
+0:169                  1 (const int)
+0:169              Constant:
+0:169                0 (const int)
+0:169                0 (const int)
+0:169                0 (const int)
+0:169                0 (const int)
+0:169            'ballot' ( temp 4-component vector of uint)
+0:171      move second child to first child ( temp float)
+0:171        direct index ( temp float)
+0:171          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:171            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171              'invocation' ( temp uint)
+0:171            Constant:
+0:171              0 (const int)
+0:171          Constant:
+0:171            0 (const int)
+0:171        ERROR: Bad aggregation op
+ ( global float)
+0:171          direct index ( temp float)
+0:171            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:171              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:171                Constant:
+0:171                  0 (const int)
+0:171              Constant:
+0:171                0 (const int)
+0:171            Constant:
+0:171              0 (const int)
+0:171          'ballot' ( temp 4-component vector of uint)
+0:172      move second child to first child ( temp 2-component vector of float)
+0:172        vector swizzle ( temp 2-component vector of float)
+0:172          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:172            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172              'invocation' ( temp uint)
+0:172            Constant:
+0:172              0 (const int)
+0:172          Sequence
+0:172            Constant:
+0:172              0 (const int)
+0:172            Constant:
+0:172              1 (const int)
+0:172        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:172          vector swizzle ( temp 2-component vector of float)
+0:172            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:172              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:172                Constant:
+0:172                  1 (const int)
+0:172              Constant:
+0:172                0 (const int)
+0:172            Sequence
+0:172              Constant:
+0:172                0 (const int)
+0:172              Constant:
+0:172                1 (const int)
+0:172          'ballot' ( temp 4-component vector of uint)
+0:173      move second child to first child ( temp 3-component vector of float)
+0:173        vector swizzle ( temp 3-component vector of float)
+0:173          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:173            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:173              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:173              'invocation' ( temp uint)
+0:173            Constant:
+0:173              0 (const int)
+0:173          Sequence
+0:173            Constant:
+0:173              0 (const int)
+0:173            Constant:
+0:173              1 (const int)
+0:173            Constant:
+0:173              2 (const int)
+0:173        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:173          vector swizzle ( temp 3-component vector of float)
+0:173            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:173              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:173                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:173                Constant:
+0:173                  2 (const int)
+0:173              Constant:
+0:173                0 (const int)
+0:173            Sequence
+0:173              Constant:
+0:173                0 (const int)
+0:173              Constant:
+0:173                1 (const int)
+0:173              Constant:
+0:173                2 (const int)
+0:173          'ballot' ( temp 4-component vector of uint)
+0:174      move second child to first child ( temp 4-component vector of float)
+0:174        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:174          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174            'invocation' ( temp uint)
+0:174          Constant:
+0:174            0 (const int)
+0:174        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:174          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:174            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:174              Constant:
+0:174                3 (const int)
+0:174            Constant:
+0:174              0 (const int)
+0:174          'ballot' ( temp 4-component vector of uint)
+0:176      move second child to first child ( temp int)
+0:176        direct index ( temp int)
+0:176          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:176            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176              'invocation' ( temp uint)
+0:176            Constant:
+0:176              1 (const int)
+0:176          Constant:
+0:176            0 (const int)
+0:176        ERROR: Bad aggregation op
+ ( global int)
+0:176          direct index ( temp int)
+0:176            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:176              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:176                Constant:
+0:176                  0 (const int)
+0:176              Constant:
+0:176                1 (const int)
+0:176            Constant:
+0:176              0 (const int)
+0:176          'ballot' ( temp 4-component vector of uint)
+0:177      move second child to first child ( temp 2-component vector of int)
+0:177        vector swizzle ( temp 2-component vector of int)
+0:177          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:177            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177              'invocation' ( temp uint)
+0:177            Constant:
+0:177              1 (const int)
+0:177          Sequence
+0:177            Constant:
+0:177              0 (const int)
+0:177            Constant:
+0:177              1 (const int)
+0:177        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:177          vector swizzle ( temp 2-component vector of int)
+0:177            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:177              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:177                Constant:
+0:177                  1 (const int)
+0:177              Constant:
+0:177                1 (const int)
+0:177            Sequence
+0:177              Constant:
+0:177                0 (const int)
+0:177              Constant:
+0:177                1 (const int)
+0:177          'ballot' ( temp 4-component vector of uint)
+0:178      move second child to first child ( temp 3-component vector of int)
+0:178        vector swizzle ( temp 3-component vector of int)
+0:178          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:178            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:178              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:178              'invocation' ( temp uint)
+0:178            Constant:
+0:178              1 (const int)
+0:178          Sequence
+0:178            Constant:
+0:178              0 (const int)
+0:178            Constant:
+0:178              1 (const int)
+0:178            Constant:
+0:178              2 (const int)
+0:178        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:178          vector swizzle ( temp 3-component vector of int)
+0:178            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:178              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:178                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:178                Constant:
+0:178                  2 (const int)
+0:178              Constant:
+0:178                1 (const int)
+0:178            Sequence
+0:178              Constant:
+0:178                0 (const int)
+0:178              Constant:
+0:178                1 (const int)
+0:178              Constant:
+0:178                2 (const int)
+0:178          'ballot' ( temp 4-component vector of uint)
+0:179      move second child to first child ( temp 4-component vector of int)
+0:179        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:179          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179            'invocation' ( temp uint)
+0:179          Constant:
+0:179            1 (const int)
+0:179        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:179          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:179            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:179              Constant:
+0:179                3 (const int)
+0:179            Constant:
+0:179              1 (const int)
+0:179          'ballot' ( temp 4-component vector of uint)
+0:181      move second child to first child ( temp uint)
+0:181        direct index ( temp uint)
+0:181          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:181            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181              'invocation' ( temp uint)
+0:181            Constant:
+0:181              2 (const int)
+0:181          Constant:
+0:181            0 (const int)
+0:181        ERROR: Bad aggregation op
+ ( global uint)
+0:181          direct index ( temp uint)
+0:181            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:181              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:181                Constant:
+0:181                  0 (const int)
+0:181              Constant:
+0:181                2 (const int)
+0:181            Constant:
+0:181              0 (const int)
+0:181          'ballot' ( temp 4-component vector of uint)
+0:182      move second child to first child ( temp 2-component vector of uint)
+0:182        vector swizzle ( temp 2-component vector of uint)
+0:182          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:182            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182              'invocation' ( temp uint)
+0:182            Constant:
+0:182              2 (const int)
+0:182          Sequence
+0:182            Constant:
+0:182              0 (const int)
+0:182            Constant:
+0:182              1 (const int)
+0:182        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:182          vector swizzle ( temp 2-component vector of uint)
+0:182            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:182              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:182                Constant:
+0:182                  1 (const int)
+0:182              Constant:
+0:182                2 (const int)
+0:182            Sequence
+0:182              Constant:
+0:182                0 (const int)
+0:182              Constant:
+0:182                1 (const int)
+0:182          'ballot' ( temp 4-component vector of uint)
+0:183      move second child to first child ( temp 3-component vector of uint)
+0:183        vector swizzle ( temp 3-component vector of uint)
+0:183          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:183            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:183              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:183              'invocation' ( temp uint)
+0:183            Constant:
+0:183              2 (const int)
+0:183          Sequence
+0:183            Constant:
+0:183              0 (const int)
+0:183            Constant:
+0:183              1 (const int)
+0:183            Constant:
+0:183              2 (const int)
+0:183        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:183          vector swizzle ( temp 3-component vector of uint)
+0:183            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:183              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:183                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:183                Constant:
+0:183                  2 (const int)
+0:183              Constant:
+0:183                2 (const int)
+0:183            Sequence
+0:183              Constant:
+0:183                0 (const int)
+0:183              Constant:
+0:183                1 (const int)
+0:183              Constant:
+0:183                2 (const int)
+0:183          'ballot' ( temp 4-component vector of uint)
+0:184      move second child to first child ( temp 4-component vector of uint)
+0:184        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:184          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184            'invocation' ( temp uint)
+0:184          Constant:
+0:184            2 (const int)
+0:184        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:184          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:184            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:184              Constant:
+0:184                3 (const int)
+0:184            Constant:
+0:184              2 (const int)
+0:184          'ballot' ( temp 4-component vector of uint)
+0:186      move second child to first child ( temp double)
+0:186        direct index ( temp double)
+0:186          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:186            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186              'invocation' ( temp uint)
+0:186            Constant:
+0:186              3 (const int)
+0:186          Constant:
+0:186            0 (const int)
+0:186        ERROR: Bad aggregation op
+ ( global double)
+0:186          direct index ( temp double)
+0:186            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:186              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:186                Constant:
+0:186                  0 (const int)
+0:186              Constant:
+0:186                3 (const int)
+0:186            Constant:
+0:186              0 (const int)
+0:186          'ballot' ( temp 4-component vector of uint)
+0:187      move second child to first child ( temp 2-component vector of double)
+0:187        vector swizzle ( temp 2-component vector of double)
+0:187          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:187            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187              'invocation' ( temp uint)
+0:187            Constant:
+0:187              3 (const int)
+0:187          Sequence
+0:187            Constant:
+0:187              0 (const int)
+0:187            Constant:
+0:187              1 (const int)
+0:187        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:187          vector swizzle ( temp 2-component vector of double)
+0:187            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:187              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:187                Constant:
+0:187                  1 (const int)
+0:187              Constant:
+0:187                3 (const int)
+0:187            Sequence
+0:187              Constant:
+0:187                0 (const int)
+0:187              Constant:
+0:187                1 (const int)
+0:187          'ballot' ( temp 4-component vector of uint)
+0:188      move second child to first child ( temp 3-component vector of double)
+0:188        vector swizzle ( temp 3-component vector of double)
+0:188          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:188            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:188              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:188              'invocation' ( temp uint)
+0:188            Constant:
+0:188              3 (const int)
+0:188          Sequence
+0:188            Constant:
+0:188              0 (const int)
+0:188            Constant:
+0:188              1 (const int)
+0:188            Constant:
+0:188              2 (const int)
+0:188        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:188          vector swizzle ( temp 3-component vector of double)
+0:188            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:188              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:188                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:188                Constant:
+0:188                  2 (const int)
+0:188              Constant:
+0:188                3 (const int)
+0:188            Sequence
+0:188              Constant:
+0:188                0 (const int)
+0:188              Constant:
+0:188                1 (const int)
+0:188              Constant:
+0:188                2 (const int)
+0:188          'ballot' ( temp 4-component vector of uint)
+0:189      move second child to first child ( temp 4-component vector of double)
+0:189        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:189          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189            'invocation' ( temp uint)
+0:189          Constant:
+0:189            3 (const int)
+0:189        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:189          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:189            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:189              Constant:
+0:189                3 (const int)
+0:189            Constant:
+0:189              3 (const int)
+0:189          'ballot' ( temp 4-component vector of uint)
+0:191      move second child to first child ( temp float)
+0:191        direct index ( temp float)
+0:191          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:191            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191              'invocation' ( temp uint)
+0:191            Constant:
+0:191              0 (const int)
+0:191          Constant:
+0:191            0 (const int)
+0:191        ERROR: Bad aggregation op
+ ( global float)
+0:191          direct index ( temp float)
+0:191            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:191              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:191                Constant:
+0:191                  0 (const int)
+0:191              Constant:
+0:191                0 (const int)
+0:191            Constant:
+0:191              0 (const int)
+0:191          'ballot' ( temp 4-component vector of uint)
+0:192      move second child to first child ( temp 2-component vector of float)
+0:192        vector swizzle ( temp 2-component vector of float)
+0:192          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:192            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192              'invocation' ( temp uint)
+0:192            Constant:
+0:192              0 (const int)
+0:192          Sequence
+0:192            Constant:
+0:192              0 (const int)
+0:192            Constant:
+0:192              1 (const int)
+0:192        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:192          vector swizzle ( temp 2-component vector of float)
+0:192            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:192              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:192                Constant:
+0:192                  1 (const int)
+0:192              Constant:
+0:192                0 (const int)
+0:192            Sequence
+0:192              Constant:
+0:192                0 (const int)
+0:192              Constant:
+0:192                1 (const int)
+0:192          'ballot' ( temp 4-component vector of uint)
+0:193      move second child to first child ( temp 3-component vector of float)
+0:193        vector swizzle ( temp 3-component vector of float)
+0:193          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:193            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:193              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:193              'invocation' ( temp uint)
+0:193            Constant:
+0:193              0 (const int)
+0:193          Sequence
+0:193            Constant:
+0:193              0 (const int)
+0:193            Constant:
+0:193              1 (const int)
+0:193            Constant:
+0:193              2 (const int)
+0:193        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:193          vector swizzle ( temp 3-component vector of float)
+0:193            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:193              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:193                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:193                Constant:
+0:193                  2 (const int)
+0:193              Constant:
+0:193                0 (const int)
+0:193            Sequence
+0:193              Constant:
+0:193                0 (const int)
+0:193              Constant:
+0:193                1 (const int)
+0:193              Constant:
+0:193                2 (const int)
+0:193          'ballot' ( temp 4-component vector of uint)
+0:194      move second child to first child ( temp 4-component vector of float)
+0:194        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:194          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194            'invocation' ( temp uint)
+0:194          Constant:
+0:194            0 (const int)
+0:194        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:194          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:194            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:194              Constant:
+0:194                3 (const int)
+0:194            Constant:
+0:194              0 (const int)
+0:194          'ballot' ( temp 4-component vector of uint)
+0:196      move second child to first child ( temp int)
+0:196        direct index ( temp int)
+0:196          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:196            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196              'invocation' ( temp uint)
+0:196            Constant:
+0:196              1 (const int)
+0:196          Constant:
+0:196            0 (const int)
+0:196        ERROR: Bad aggregation op
+ ( global int)
+0:196          direct index ( temp int)
+0:196            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:196              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:196                Constant:
+0:196                  0 (const int)
+0:196              Constant:
+0:196                1 (const int)
+0:196            Constant:
+0:196              0 (const int)
+0:196          'ballot' ( temp 4-component vector of uint)
+0:197      move second child to first child ( temp 2-component vector of int)
+0:197        vector swizzle ( temp 2-component vector of int)
+0:197          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:197            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197              'invocation' ( temp uint)
+0:197            Constant:
+0:197              1 (const int)
+0:197          Sequence
+0:197            Constant:
+0:197              0 (const int)
+0:197            Constant:
+0:197              1 (const int)
+0:197        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:197          vector swizzle ( temp 2-component vector of int)
+0:197            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:197              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:197                Constant:
+0:197                  1 (const int)
+0:197              Constant:
+0:197                1 (const int)
+0:197            Sequence
+0:197              Constant:
+0:197                0 (const int)
+0:197              Constant:
+0:197                1 (const int)
+0:197          'ballot' ( temp 4-component vector of uint)
+0:198      move second child to first child ( temp 3-component vector of int)
+0:198        vector swizzle ( temp 3-component vector of int)
+0:198          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:198            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:198              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:198              'invocation' ( temp uint)
+0:198            Constant:
+0:198              1 (const int)
+0:198          Sequence
+0:198            Constant:
+0:198              0 (const int)
+0:198            Constant:
+0:198              1 (const int)
+0:198            Constant:
+0:198              2 (const int)
+0:198        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:198          vector swizzle ( temp 3-component vector of int)
+0:198            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:198              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:198                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:198                Constant:
+0:198                  2 (const int)
+0:198              Constant:
+0:198                1 (const int)
+0:198            Sequence
+0:198              Constant:
+0:198                0 (const int)
+0:198              Constant:
+0:198                1 (const int)
+0:198              Constant:
+0:198                2 (const int)
+0:198          'ballot' ( temp 4-component vector of uint)
+0:199      move second child to first child ( temp 4-component vector of int)
+0:199        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:199          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199            'invocation' ( temp uint)
+0:199          Constant:
+0:199            1 (const int)
+0:199        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:199          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:199            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:199              Constant:
+0:199                3 (const int)
+0:199            Constant:
+0:199              1 (const int)
+0:199          'ballot' ( temp 4-component vector of uint)
+0:201      move second child to first child ( temp uint)
+0:201        direct index ( temp uint)
+0:201          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:201            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201              'invocation' ( temp uint)
+0:201            Constant:
+0:201              2 (const int)
+0:201          Constant:
+0:201            0 (const int)
+0:201        ERROR: Bad aggregation op
+ ( global uint)
+0:201          direct index ( temp uint)
+0:201            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:201              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:201                Constant:
+0:201                  0 (const int)
+0:201              Constant:
+0:201                2 (const int)
+0:201            Constant:
+0:201              0 (const int)
+0:201          'ballot' ( temp 4-component vector of uint)
+0:202      move second child to first child ( temp 2-component vector of uint)
+0:202        vector swizzle ( temp 2-component vector of uint)
+0:202          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:202            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202              'invocation' ( temp uint)
+0:202            Constant:
+0:202              2 (const int)
+0:202          Sequence
+0:202            Constant:
+0:202              0 (const int)
+0:202            Constant:
+0:202              1 (const int)
+0:202        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:202          vector swizzle ( temp 2-component vector of uint)
+0:202            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:202              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:202                Constant:
+0:202                  1 (const int)
+0:202              Constant:
+0:202                2 (const int)
+0:202            Sequence
+0:202              Constant:
+0:202                0 (const int)
+0:202              Constant:
+0:202                1 (const int)
+0:202          'ballot' ( temp 4-component vector of uint)
+0:203      move second child to first child ( temp 3-component vector of uint)
+0:203        vector swizzle ( temp 3-component vector of uint)
+0:203          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:203            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:203              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:203              'invocation' ( temp uint)
+0:203            Constant:
+0:203              2 (const int)
+0:203          Sequence
+0:203            Constant:
+0:203              0 (const int)
+0:203            Constant:
+0:203              1 (const int)
+0:203            Constant:
+0:203              2 (const int)
+0:203        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:203          vector swizzle ( temp 3-component vector of uint)
+0:203            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:203              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:203                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:203                Constant:
+0:203                  2 (const int)
+0:203              Constant:
+0:203                2 (const int)
+0:203            Sequence
+0:203              Constant:
+0:203                0 (const int)
+0:203              Constant:
+0:203                1 (const int)
+0:203              Constant:
+0:203                2 (const int)
+0:203          'ballot' ( temp 4-component vector of uint)
+0:204      move second child to first child ( temp 4-component vector of uint)
+0:204        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:204          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204            'invocation' ( temp uint)
+0:204          Constant:
+0:204            2 (const int)
+0:204        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:204          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:204            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:204              Constant:
+0:204                3 (const int)
+0:204            Constant:
+0:204              2 (const int)
+0:204          'ballot' ( temp 4-component vector of uint)
+0:206      move second child to first child ( temp double)
+0:206        direct index ( temp double)
+0:206          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:206            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206              'invocation' ( temp uint)
+0:206            Constant:
+0:206              3 (const int)
+0:206          Constant:
+0:206            0 (const int)
+0:206        ERROR: Bad aggregation op
+ ( global double)
+0:206          direct index ( temp double)
+0:206            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:206              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:206                Constant:
+0:206                  0 (const int)
+0:206              Constant:
+0:206                3 (const int)
+0:206            Constant:
+0:206              0 (const int)
+0:206          'ballot' ( temp 4-component vector of uint)
+0:207      move second child to first child ( temp 2-component vector of double)
+0:207        vector swizzle ( temp 2-component vector of double)
+0:207          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:207            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207              'invocation' ( temp uint)
+0:207            Constant:
+0:207              3 (const int)
+0:207          Sequence
+0:207            Constant:
+0:207              0 (const int)
+0:207            Constant:
+0:207              1 (const int)
+0:207        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:207          vector swizzle ( temp 2-component vector of double)
+0:207            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:207              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:207                Constant:
+0:207                  1 (const int)
+0:207              Constant:
+0:207                3 (const int)
+0:207            Sequence
+0:207              Constant:
+0:207                0 (const int)
+0:207              Constant:
+0:207                1 (const int)
+0:207          'ballot' ( temp 4-component vector of uint)
+0:208      move second child to first child ( temp 3-component vector of double)
+0:208        vector swizzle ( temp 3-component vector of double)
+0:208          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:208            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:208              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:208              'invocation' ( temp uint)
+0:208            Constant:
+0:208              3 (const int)
+0:208          Sequence
+0:208            Constant:
+0:208              0 (const int)
+0:208            Constant:
+0:208              1 (const int)
+0:208            Constant:
+0:208              2 (const int)
+0:208        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:208          vector swizzle ( temp 3-component vector of double)
+0:208            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:208              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:208                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:208                Constant:
+0:208                  2 (const int)
+0:208              Constant:
+0:208                3 (const int)
+0:208            Sequence
+0:208              Constant:
+0:208                0 (const int)
+0:208              Constant:
+0:208                1 (const int)
+0:208              Constant:
+0:208                2 (const int)
+0:208          'ballot' ( temp 4-component vector of uint)
+0:209      move second child to first child ( temp 4-component vector of double)
+0:209        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:209          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209            'invocation' ( temp uint)
+0:209          Constant:
+0:209            3 (const int)
+0:209        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:209          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:209            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:209              Constant:
+0:209                3 (const int)
+0:209            Constant:
+0:209              3 (const int)
+0:209          'ballot' ( temp 4-component vector of uint)
+0:211      move second child to first child ( temp float)
+0:211        direct index ( temp float)
+0:211          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:211            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211              'invocation' ( temp uint)
+0:211            Constant:
+0:211              0 (const int)
+0:211          Constant:
+0:211            0 (const int)
+0:211        ERROR: Bad aggregation op
+ ( global float)
+0:211          direct index ( temp float)
+0:211            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:211              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:211                Constant:
+0:211                  0 (const int)
+0:211              Constant:
+0:211                0 (const int)
+0:211            Constant:
+0:211              0 (const int)
+0:211          'ballot' ( temp 4-component vector of uint)
+0:212      move second child to first child ( temp 2-component vector of float)
+0:212        vector swizzle ( temp 2-component vector of float)
+0:212          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:212            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212              'invocation' ( temp uint)
+0:212            Constant:
+0:212              0 (const int)
+0:212          Sequence
+0:212            Constant:
+0:212              0 (const int)
+0:212            Constant:
+0:212              1 (const int)
+0:212        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:212          vector swizzle ( temp 2-component vector of float)
+0:212            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:212              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:212                Constant:
+0:212                  1 (const int)
+0:212              Constant:
+0:212                0 (const int)
+0:212            Sequence
+0:212              Constant:
+0:212                0 (const int)
+0:212              Constant:
+0:212                1 (const int)
+0:212          'ballot' ( temp 4-component vector of uint)
+0:213      move second child to first child ( temp 3-component vector of float)
+0:213        vector swizzle ( temp 3-component vector of float)
+0:213          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:213            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:213              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:213              'invocation' ( temp uint)
+0:213            Constant:
+0:213              0 (const int)
+0:213          Sequence
+0:213            Constant:
+0:213              0 (const int)
+0:213            Constant:
+0:213              1 (const int)
+0:213            Constant:
+0:213              2 (const int)
+0:213        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:213          vector swizzle ( temp 3-component vector of float)
+0:213            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:213              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:213                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:213                Constant:
+0:213                  2 (const int)
+0:213              Constant:
+0:213                0 (const int)
+0:213            Sequence
+0:213              Constant:
+0:213                0 (const int)
+0:213              Constant:
+0:213                1 (const int)
+0:213              Constant:
+0:213                2 (const int)
+0:213          'ballot' ( temp 4-component vector of uint)
+0:214      move second child to first child ( temp 4-component vector of float)
+0:214        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:214          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214            'invocation' ( temp uint)
+0:214          Constant:
+0:214            0 (const int)
+0:214        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:214          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:214            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:214              Constant:
+0:214                3 (const int)
+0:214            Constant:
+0:214              0 (const int)
+0:214          'ballot' ( temp 4-component vector of uint)
+0:216      move second child to first child ( temp int)
+0:216        direct index ( temp int)
+0:216          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:216            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216              'invocation' ( temp uint)
+0:216            Constant:
+0:216              1 (const int)
+0:216          Constant:
+0:216            0 (const int)
+0:216        ERROR: Bad aggregation op
+ ( global int)
+0:216          direct index ( temp int)
+0:216            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:216              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:216                Constant:
+0:216                  0 (const int)
+0:216              Constant:
+0:216                1 (const int)
+0:216            Constant:
+0:216              0 (const int)
+0:216          'ballot' ( temp 4-component vector of uint)
+0:217      move second child to first child ( temp 2-component vector of int)
+0:217        vector swizzle ( temp 2-component vector of int)
+0:217          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:217            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217              'invocation' ( temp uint)
+0:217            Constant:
+0:217              1 (const int)
+0:217          Sequence
+0:217            Constant:
+0:217              0 (const int)
+0:217            Constant:
+0:217              1 (const int)
+0:217        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:217          vector swizzle ( temp 2-component vector of int)
+0:217            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:217              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:217                Constant:
+0:217                  1 (const int)
+0:217              Constant:
+0:217                1 (const int)
+0:217            Sequence
+0:217              Constant:
+0:217                0 (const int)
+0:217              Constant:
+0:217                1 (const int)
+0:217          'ballot' ( temp 4-component vector of uint)
+0:218      move second child to first child ( temp 3-component vector of int)
+0:218        vector swizzle ( temp 3-component vector of int)
+0:218          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:218            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:218              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:218              'invocation' ( temp uint)
+0:218            Constant:
+0:218              1 (const int)
+0:218          Sequence
+0:218            Constant:
+0:218              0 (const int)
+0:218            Constant:
+0:218              1 (const int)
+0:218            Constant:
+0:218              2 (const int)
+0:218        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:218          vector swizzle ( temp 3-component vector of int)
+0:218            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:218              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:218                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:218                Constant:
+0:218                  2 (const int)
+0:218              Constant:
+0:218                1 (const int)
+0:218            Sequence
+0:218              Constant:
+0:218                0 (const int)
+0:218              Constant:
+0:218                1 (const int)
+0:218              Constant:
+0:218                2 (const int)
+0:218          'ballot' ( temp 4-component vector of uint)
+0:219      move second child to first child ( temp 4-component vector of int)
+0:219        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:219          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219            'invocation' ( temp uint)
+0:219          Constant:
+0:219            1 (const int)
+0:219        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:219          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:219            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:219              Constant:
+0:219                3 (const int)
+0:219            Constant:
+0:219              1 (const int)
+0:219          'ballot' ( temp 4-component vector of uint)
+0:221      move second child to first child ( temp uint)
+0:221        direct index ( temp uint)
+0:221          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:221            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221              'invocation' ( temp uint)
+0:221            Constant:
+0:221              2 (const int)
+0:221          Constant:
+0:221            0 (const int)
+0:221        ERROR: Bad aggregation op
+ ( global uint)
+0:221          direct index ( temp uint)
+0:221            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:221              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:221                Constant:
+0:221                  0 (const int)
+0:221              Constant:
+0:221                2 (const int)
+0:221            Constant:
+0:221              0 (const int)
+0:221          'ballot' ( temp 4-component vector of uint)
+0:222      move second child to first child ( temp 2-component vector of uint)
+0:222        vector swizzle ( temp 2-component vector of uint)
+0:222          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:222            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222              'invocation' ( temp uint)
+0:222            Constant:
+0:222              2 (const int)
+0:222          Sequence
+0:222            Constant:
+0:222              0 (const int)
+0:222            Constant:
+0:222              1 (const int)
+0:222        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:222          vector swizzle ( temp 2-component vector of uint)
+0:222            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:222              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:222                Constant:
+0:222                  1 (const int)
+0:222              Constant:
+0:222                2 (const int)
+0:222            Sequence
+0:222              Constant:
+0:222                0 (const int)
+0:222              Constant:
+0:222                1 (const int)
+0:222          'ballot' ( temp 4-component vector of uint)
+0:223      move second child to first child ( temp 3-component vector of uint)
+0:223        vector swizzle ( temp 3-component vector of uint)
+0:223          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:223            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:223              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:223              'invocation' ( temp uint)
+0:223            Constant:
+0:223              2 (const int)
+0:223          Sequence
+0:223            Constant:
+0:223              0 (const int)
+0:223            Constant:
+0:223              1 (const int)
+0:223            Constant:
+0:223              2 (const int)
+0:223        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:223          vector swizzle ( temp 3-component vector of uint)
+0:223            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:223              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:223                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:223                Constant:
+0:223                  2 (const int)
+0:223              Constant:
+0:223                2 (const int)
+0:223            Sequence
+0:223              Constant:
+0:223                0 (const int)
+0:223              Constant:
+0:223                1 (const int)
+0:223              Constant:
+0:223                2 (const int)
+0:223          'ballot' ( temp 4-component vector of uint)
+0:224      move second child to first child ( temp 4-component vector of uint)
+0:224        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:224          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224            'invocation' ( temp uint)
+0:224          Constant:
+0:224            2 (const int)
+0:224        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:224          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:224            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:224              Constant:
+0:224                3 (const int)
+0:224            Constant:
+0:224              2 (const int)
+0:224          'ballot' ( temp 4-component vector of uint)
+0:226      move second child to first child ( temp double)
+0:226        direct index ( temp double)
+0:226          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:226            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226              'invocation' ( temp uint)
+0:226            Constant:
+0:226              3 (const int)
+0:226          Constant:
+0:226            0 (const int)
+0:226        ERROR: Bad aggregation op
+ ( global double)
+0:226          direct index ( temp double)
+0:226            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:226              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:226                Constant:
+0:226                  0 (const int)
+0:226              Constant:
+0:226                3 (const int)
+0:226            Constant:
+0:226              0 (const int)
+0:226          'ballot' ( temp 4-component vector of uint)
+0:227      move second child to first child ( temp 2-component vector of double)
+0:227        vector swizzle ( temp 2-component vector of double)
+0:227          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:227            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227              'invocation' ( temp uint)
+0:227            Constant:
+0:227              3 (const int)
+0:227          Sequence
+0:227            Constant:
+0:227              0 (const int)
+0:227            Constant:
+0:227              1 (const int)
+0:227        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:227          vector swizzle ( temp 2-component vector of double)
+0:227            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:227              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:227                Constant:
+0:227                  1 (const int)
+0:227              Constant:
+0:227                3 (const int)
+0:227            Sequence
+0:227              Constant:
+0:227                0 (const int)
+0:227              Constant:
+0:227                1 (const int)
+0:227          'ballot' ( temp 4-component vector of uint)
+0:228      move second child to first child ( temp 3-component vector of double)
+0:228        vector swizzle ( temp 3-component vector of double)
+0:228          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:228            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:228              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:228              'invocation' ( temp uint)
+0:228            Constant:
+0:228              3 (const int)
+0:228          Sequence
+0:228            Constant:
+0:228              0 (const int)
+0:228            Constant:
+0:228              1 (const int)
+0:228            Constant:
+0:228              2 (const int)
+0:228        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:228          vector swizzle ( temp 3-component vector of double)
+0:228            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:228              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:228                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:228                Constant:
+0:228                  2 (const int)
+0:228              Constant:
+0:228                3 (const int)
+0:228            Sequence
+0:228              Constant:
+0:228                0 (const int)
+0:228              Constant:
+0:228                1 (const int)
+0:228              Constant:
+0:228                2 (const int)
+0:228          'ballot' ( temp 4-component vector of uint)
+0:229      move second child to first child ( temp 4-component vector of double)
+0:229        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:229          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229            'invocation' ( temp uint)
+0:229          Constant:
+0:229            3 (const int)
+0:229        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:229          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:229            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:229              Constant:
+0:229                3 (const int)
+0:229            Constant:
+0:229              3 (const int)
+0:229          'ballot' ( temp 4-component vector of uint)
+0:231      move second child to first child ( temp float)
+0:231        direct index ( temp float)
+0:231          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:231            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231              'invocation' ( temp uint)
+0:231            Constant:
+0:231              0 (const int)
+0:231          Constant:
+0:231            0 (const int)
+0:231        ERROR: Bad aggregation op
+ ( global float)
+0:231          direct index ( temp float)
+0:231            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:231              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:231                Constant:
+0:231                  0 (const int)
+0:231              Constant:
+0:231                0 (const int)
+0:231            Constant:
+0:231              0 (const int)
+0:231          'ballot' ( temp 4-component vector of uint)
+0:232      move second child to first child ( temp 2-component vector of float)
+0:232        vector swizzle ( temp 2-component vector of float)
+0:232          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:232            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232              'invocation' ( temp uint)
+0:232            Constant:
+0:232              0 (const int)
+0:232          Sequence
+0:232            Constant:
+0:232              0 (const int)
+0:232            Constant:
+0:232              1 (const int)
+0:232        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:232          vector swizzle ( temp 2-component vector of float)
+0:232            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:232              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:232                Constant:
+0:232                  1 (const int)
+0:232              Constant:
+0:232                0 (const int)
+0:232            Sequence
+0:232              Constant:
+0:232                0 (const int)
+0:232              Constant:
+0:232                1 (const int)
+0:232          'ballot' ( temp 4-component vector of uint)
+0:233      move second child to first child ( temp 3-component vector of float)
+0:233        vector swizzle ( temp 3-component vector of float)
+0:233          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:233            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:233              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:233              'invocation' ( temp uint)
+0:233            Constant:
+0:233              0 (const int)
+0:233          Sequence
+0:233            Constant:
+0:233              0 (const int)
+0:233            Constant:
+0:233              1 (const int)
+0:233            Constant:
+0:233              2 (const int)
+0:233        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:233          vector swizzle ( temp 3-component vector of float)
+0:233            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:233              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:233                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:233                Constant:
+0:233                  2 (const int)
+0:233              Constant:
+0:233                0 (const int)
+0:233            Sequence
+0:233              Constant:
+0:233                0 (const int)
+0:233              Constant:
+0:233                1 (const int)
+0:233              Constant:
+0:233                2 (const int)
+0:233          'ballot' ( temp 4-component vector of uint)
+0:234      move second child to first child ( temp 4-component vector of float)
+0:234        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:234          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234            'invocation' ( temp uint)
+0:234          Constant:
+0:234            0 (const int)
+0:234        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:234          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:234            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:234              Constant:
+0:234                3 (const int)
+0:234            Constant:
+0:234              0 (const int)
+0:234          'ballot' ( temp 4-component vector of uint)
+0:236      move second child to first child ( temp int)
+0:236        direct index ( temp int)
+0:236          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:236            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236              'invocation' ( temp uint)
+0:236            Constant:
+0:236              1 (const int)
+0:236          Constant:
+0:236            0 (const int)
+0:236        ERROR: Bad aggregation op
+ ( global int)
+0:236          direct index ( temp int)
+0:236            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:236              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:236                Constant:
+0:236                  0 (const int)
+0:236              Constant:
+0:236                1 (const int)
+0:236            Constant:
+0:236              0 (const int)
+0:236          'ballot' ( temp 4-component vector of uint)
+0:237      move second child to first child ( temp 2-component vector of int)
+0:237        vector swizzle ( temp 2-component vector of int)
+0:237          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:237            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237              'invocation' ( temp uint)
+0:237            Constant:
+0:237              1 (const int)
+0:237          Sequence
+0:237            Constant:
+0:237              0 (const int)
+0:237            Constant:
+0:237              1 (const int)
+0:237        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:237          vector swizzle ( temp 2-component vector of int)
+0:237            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:237              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:237                Constant:
+0:237                  1 (const int)
+0:237              Constant:
+0:237                1 (const int)
+0:237            Sequence
+0:237              Constant:
+0:237                0 (const int)
+0:237              Constant:
+0:237                1 (const int)
+0:237          'ballot' ( temp 4-component vector of uint)
+0:238      move second child to first child ( temp 3-component vector of int)
+0:238        vector swizzle ( temp 3-component vector of int)
+0:238          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:238            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:238              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:238              'invocation' ( temp uint)
+0:238            Constant:
+0:238              1 (const int)
+0:238          Sequence
+0:238            Constant:
+0:238              0 (const int)
+0:238            Constant:
+0:238              1 (const int)
+0:238            Constant:
+0:238              2 (const int)
+0:238        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:238          vector swizzle ( temp 3-component vector of int)
+0:238            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:238              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:238                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:238                Constant:
+0:238                  2 (const int)
+0:238              Constant:
+0:238                1 (const int)
+0:238            Sequence
+0:238              Constant:
+0:238                0 (const int)
+0:238              Constant:
+0:238                1 (const int)
+0:238              Constant:
+0:238                2 (const int)
+0:238          'ballot' ( temp 4-component vector of uint)
+0:239      move second child to first child ( temp 4-component vector of int)
+0:239        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:239          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239            'invocation' ( temp uint)
+0:239          Constant:
+0:239            1 (const int)
+0:239        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:239          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:239            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:239              Constant:
+0:239                3 (const int)
+0:239            Constant:
+0:239              1 (const int)
+0:239          'ballot' ( temp 4-component vector of uint)
+0:241      move second child to first child ( temp uint)
+0:241        direct index ( temp uint)
+0:241          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:241            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241              'invocation' ( temp uint)
+0:241            Constant:
+0:241              2 (const int)
+0:241          Constant:
+0:241            0 (const int)
+0:241        ERROR: Bad aggregation op
+ ( global uint)
+0:241          direct index ( temp uint)
+0:241            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:241              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:241                Constant:
+0:241                  0 (const int)
+0:241              Constant:
+0:241                2 (const int)
+0:241            Constant:
+0:241              0 (const int)
+0:241          'ballot' ( temp 4-component vector of uint)
+0:242      move second child to first child ( temp 2-component vector of uint)
+0:242        vector swizzle ( temp 2-component vector of uint)
+0:242          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:242            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242              'invocation' ( temp uint)
+0:242            Constant:
+0:242              2 (const int)
+0:242          Sequence
+0:242            Constant:
+0:242              0 (const int)
+0:242            Constant:
+0:242              1 (const int)
+0:242        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:242          vector swizzle ( temp 2-component vector of uint)
+0:242            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:242              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:242                Constant:
+0:242                  1 (const int)
+0:242              Constant:
+0:242                2 (const int)
+0:242            Sequence
+0:242              Constant:
+0:242                0 (const int)
+0:242              Constant:
+0:242                1 (const int)
+0:242          'ballot' ( temp 4-component vector of uint)
+0:243      move second child to first child ( temp 3-component vector of uint)
+0:243        vector swizzle ( temp 3-component vector of uint)
+0:243          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:243            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:243              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:243              'invocation' ( temp uint)
+0:243            Constant:
+0:243              2 (const int)
+0:243          Sequence
+0:243            Constant:
+0:243              0 (const int)
+0:243            Constant:
+0:243              1 (const int)
+0:243            Constant:
+0:243              2 (const int)
+0:243        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:243          vector swizzle ( temp 3-component vector of uint)
+0:243            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:243              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:243                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:243                Constant:
+0:243                  2 (const int)
+0:243              Constant:
+0:243                2 (const int)
+0:243            Sequence
+0:243              Constant:
+0:243                0 (const int)
+0:243              Constant:
+0:243                1 (const int)
+0:243              Constant:
+0:243                2 (const int)
+0:243          'ballot' ( temp 4-component vector of uint)
+0:244      move second child to first child ( temp 4-component vector of uint)
+0:244        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:244          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244            'invocation' ( temp uint)
+0:244          Constant:
+0:244            2 (const int)
+0:244        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:244          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:244            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:244              Constant:
+0:244                3 (const int)
+0:244            Constant:
+0:244              2 (const int)
+0:244          'ballot' ( temp 4-component vector of uint)
+0:246      move second child to first child ( temp double)
+0:246        direct index ( temp double)
+0:246          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:246            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246              'invocation' ( temp uint)
+0:246            Constant:
+0:246              3 (const int)
+0:246          Constant:
+0:246            0 (const int)
+0:246        ERROR: Bad aggregation op
+ ( global double)
+0:246          direct index ( temp double)
+0:246            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:246              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:246                Constant:
+0:246                  0 (const int)
+0:246              Constant:
+0:246                3 (const int)
+0:246            Constant:
+0:246              0 (const int)
+0:246          'ballot' ( temp 4-component vector of uint)
+0:247      move second child to first child ( temp 2-component vector of double)
+0:247        vector swizzle ( temp 2-component vector of double)
+0:247          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:247            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247              'invocation' ( temp uint)
+0:247            Constant:
+0:247              3 (const int)
+0:247          Sequence
+0:247            Constant:
+0:247              0 (const int)
+0:247            Constant:
+0:247              1 (const int)
+0:247        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:247          vector swizzle ( temp 2-component vector of double)
+0:247            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:247              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:247                Constant:
+0:247                  1 (const int)
+0:247              Constant:
+0:247                3 (const int)
+0:247            Sequence
+0:247              Constant:
+0:247                0 (const int)
+0:247              Constant:
+0:247                1 (const int)
+0:247          'ballot' ( temp 4-component vector of uint)
+0:248      move second child to first child ( temp 3-component vector of double)
+0:248        vector swizzle ( temp 3-component vector of double)
+0:248          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:248            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:248              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:248              'invocation' ( temp uint)
+0:248            Constant:
+0:248              3 (const int)
+0:248          Sequence
+0:248            Constant:
+0:248              0 (const int)
+0:248            Constant:
+0:248              1 (const int)
+0:248            Constant:
+0:248              2 (const int)
+0:248        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:248          vector swizzle ( temp 3-component vector of double)
+0:248            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:248              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:248                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:248                Constant:
+0:248                  2 (const int)
+0:248              Constant:
+0:248                3 (const int)
+0:248            Sequence
+0:248              Constant:
+0:248                0 (const int)
+0:248              Constant:
+0:248                1 (const int)
+0:248              Constant:
+0:248                2 (const int)
+0:248          'ballot' ( temp 4-component vector of uint)
+0:249      move second child to first child ( temp 4-component vector of double)
+0:249        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:249          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249            'invocation' ( temp uint)
+0:249          Constant:
+0:249            3 (const int)
+0:249        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:249          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:249            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:249              Constant:
+0:249                3 (const int)
+0:249            Constant:
+0:249              3 (const int)
+0:249          'ballot' ( temp 4-component vector of uint)
+0:251      move second child to first child ( temp int)
+0:251        direct index ( temp int)
+0:251          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:251            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251              'invocation' ( temp uint)
+0:251            Constant:
+0:251              1 (const int)
+0:251          Constant:
+0:251            0 (const int)
+0:251        ERROR: Bad aggregation op
+ ( global int)
+0:251          direct index ( temp int)
+0:251            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:251              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:251                Constant:
+0:251                  0 (const int)
+0:251              Constant:
+0:251                1 (const int)
+0:251            Constant:
+0:251              0 (const int)
+0:251          'ballot' ( temp 4-component vector of uint)
+0:252      move second child to first child ( temp 2-component vector of int)
+0:252        vector swizzle ( temp 2-component vector of int)
+0:252          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:252            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252              'invocation' ( temp uint)
+0:252            Constant:
+0:252              1 (const int)
+0:252          Sequence
+0:252            Constant:
+0:252              0 (const int)
+0:252            Constant:
+0:252              1 (const int)
+0:252        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:252          vector swizzle ( temp 2-component vector of int)
+0:252            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:252              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:252                Constant:
+0:252                  1 (const int)
+0:252              Constant:
+0:252                1 (const int)
+0:252            Sequence
+0:252              Constant:
+0:252                0 (const int)
+0:252              Constant:
+0:252                1 (const int)
+0:252          'ballot' ( temp 4-component vector of uint)
+0:253      move second child to first child ( temp 3-component vector of int)
+0:253        vector swizzle ( temp 3-component vector of int)
+0:253          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:253            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:253              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:253              'invocation' ( temp uint)
+0:253            Constant:
+0:253              1 (const int)
+0:253          Sequence
+0:253            Constant:
+0:253              0 (const int)
+0:253            Constant:
+0:253              1 (const int)
+0:253            Constant:
+0:253              2 (const int)
+0:253        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:253          vector swizzle ( temp 3-component vector of int)
+0:253            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:253              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:253                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:253                Constant:
+0:253                  2 (const int)
+0:253              Constant:
+0:253                1 (const int)
+0:253            Sequence
+0:253              Constant:
+0:253                0 (const int)
+0:253              Constant:
+0:253                1 (const int)
+0:253              Constant:
+0:253                2 (const int)
+0:253          'ballot' ( temp 4-component vector of uint)
+0:254      move second child to first child ( temp 4-component vector of int)
+0:254        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:254          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254            'invocation' ( temp uint)
+0:254          Constant:
+0:254            1 (const int)
+0:254        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:254          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:254            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:254              Constant:
+0:254                3 (const int)
+0:254            Constant:
+0:254              1 (const int)
+0:254          'ballot' ( temp 4-component vector of uint)
+0:256      move second child to first child ( temp uint)
+0:256        direct index ( temp uint)
+0:256          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:256            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256              'invocation' ( temp uint)
+0:256            Constant:
+0:256              2 (const int)
+0:256          Constant:
+0:256            0 (const int)
+0:256        ERROR: Bad aggregation op
+ ( global uint)
+0:256          direct index ( temp uint)
+0:256            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:256              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:256                Constant:
+0:256                  0 (const int)
+0:256              Constant:
+0:256                2 (const int)
+0:256            Constant:
+0:256              0 (const int)
+0:256          'ballot' ( temp 4-component vector of uint)
+0:257      move second child to first child ( temp 2-component vector of uint)
+0:257        vector swizzle ( temp 2-component vector of uint)
+0:257          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:257            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257              'invocation' ( temp uint)
+0:257            Constant:
+0:257              2 (const int)
+0:257          Sequence
+0:257            Constant:
+0:257              0 (const int)
+0:257            Constant:
+0:257              1 (const int)
+0:257        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:257          vector swizzle ( temp 2-component vector of uint)
+0:257            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:257              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:257                Constant:
+0:257                  1 (const int)
+0:257              Constant:
+0:257                2 (const int)
+0:257            Sequence
+0:257              Constant:
+0:257                0 (const int)
+0:257              Constant:
+0:257                1 (const int)
+0:257          'ballot' ( temp 4-component vector of uint)
+0:258      move second child to first child ( temp 3-component vector of uint)
+0:258        vector swizzle ( temp 3-component vector of uint)
+0:258          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:258            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:258              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:258              'invocation' ( temp uint)
+0:258            Constant:
+0:258              2 (const int)
+0:258          Sequence
+0:258            Constant:
+0:258              0 (const int)
+0:258            Constant:
+0:258              1 (const int)
+0:258            Constant:
+0:258              2 (const int)
+0:258        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:258          vector swizzle ( temp 3-component vector of uint)
+0:258            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:258              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:258                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:258                Constant:
+0:258                  2 (const int)
+0:258              Constant:
+0:258                2 (const int)
+0:258            Sequence
+0:258              Constant:
+0:258                0 (const int)
+0:258              Constant:
+0:258                1 (const int)
+0:258              Constant:
+0:258                2 (const int)
+0:258          'ballot' ( temp 4-component vector of uint)
+0:259      move second child to first child ( temp 4-component vector of uint)
+0:259        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:259          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259            'invocation' ( temp uint)
+0:259          Constant:
+0:259            2 (const int)
+0:259        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:259          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:259            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:259              Constant:
+0:259                3 (const int)
+0:259            Constant:
+0:259              2 (const int)
+0:259          'ballot' ( temp 4-component vector of uint)
+0:261      move second child to first child ( temp int)
+0:261        direct index ( temp int)
+0:261          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:261            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261              'invocation' ( temp uint)
+0:261            Constant:
+0:261              1 (const int)
+0:261          Constant:
+0:261            0 (const int)
+0:261        Convert bool to int ( temp int)
+0:261          ERROR: Bad aggregation op
+ ( global bool)
+0:261            Compare Less Than ( temp bool)
+0:261              direct index ( temp int)
+0:261                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:261                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:261                    Constant:
+0:261                      0 (const int)
+0:261                  Constant:
+0:261                    1 (const int)
+0:261                Constant:
+0:261                  0 (const int)
+0:261              Constant:
+0:261                0 (const int)
+0:261            'ballot' ( temp 4-component vector of uint)
+0:262      move second child to first child ( temp 2-component vector of int)
+0:262        vector swizzle ( temp 2-component vector of int)
+0:262          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:262            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262              'invocation' ( temp uint)
+0:262            Constant:
+0:262              1 (const int)
+0:262          Sequence
+0:262            Constant:
+0:262              0 (const int)
+0:262            Constant:
+0:262              1 (const int)
+0:262        Convert bool to int ( temp 2-component vector of int)
+0:262          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:262            Compare Less Than ( global 2-component vector of bool)
+0:262              vector swizzle ( temp 2-component vector of int)
+0:262                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:262                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:262                    Constant:
+0:262                      1 (const int)
+0:262                  Constant:
+0:262                    1 (const int)
+0:262                Sequence
+0:262                  Constant:
+0:262                    0 (const int)
+0:262                  Constant:
+0:262                    1 (const int)
+0:262              Constant:
+0:262                0 (const int)
+0:262                0 (const int)
+0:262            'ballot' ( temp 4-component vector of uint)
+0:263      move second child to first child ( temp 3-component vector of int)
+0:263        vector swizzle ( temp 3-component vector of int)
+0:263          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:263            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:263              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:263              'invocation' ( temp uint)
+0:263            Constant:
+0:263              1 (const int)
+0:263          Sequence
+0:263            Constant:
+0:263              0 (const int)
+0:263            Constant:
+0:263              1 (const int)
+0:263            Constant:
+0:263              2 (const int)
+0:263        Convert bool to int ( temp 3-component vector of int)
+0:263          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:263            Compare Less Than ( global 3-component vector of bool)
+0:263              vector swizzle ( temp 3-component vector of int)
+0:263                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:263                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:263                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:263                    Constant:
+0:263                      1 (const int)
+0:263                  Constant:
+0:263                    1 (const int)
+0:263                Sequence
+0:263                  Constant:
+0:263                    0 (const int)
+0:263                  Constant:
+0:263                    1 (const int)
+0:263                  Constant:
+0:263                    2 (const int)
+0:263              Constant:
+0:263                0 (const int)
+0:263                0 (const int)
+0:263                0 (const int)
+0:263            'ballot' ( temp 4-component vector of uint)
+0:264      move second child to first child ( temp 4-component vector of int)
+0:264        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:264          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264            'invocation' ( temp uint)
+0:264          Constant:
+0:264            1 (const int)
+0:264        Convert bool to int ( temp 4-component vector of int)
+0:264          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:264            Compare Less Than ( global 4-component vector of bool)
+0:264              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:264                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:264                  Constant:
+0:264                    1 (const int)
+0:264                Constant:
+0:264                  1 (const int)
+0:264              Constant:
+0:264                0 (const int)
+0:264                0 (const int)
+0:264                0 (const int)
+0:264                0 (const int)
+0:264            'ballot' ( temp 4-component vector of uint)
+0:266      move second child to first child ( temp int)
+0:266        direct index ( temp int)
+0:266          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:266            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266              'invocation' ( temp uint)
+0:266            Constant:
+0:266              1 (const int)
+0:266          Constant:
+0:266            0 (const int)
+0:266        ERROR: Bad aggregation op
+ ( global int)
+0:266          direct index ( temp int)
+0:266            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:266              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:266                Constant:
+0:266                  0 (const int)
+0:266              Constant:
+0:266                1 (const int)
+0:266            Constant:
+0:266              0 (const int)
+0:266          'ballot' ( temp 4-component vector of uint)
+0:267      move second child to first child ( temp 2-component vector of int)
+0:267        vector swizzle ( temp 2-component vector of int)
+0:267          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:267            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267              'invocation' ( temp uint)
+0:267            Constant:
+0:267              1 (const int)
+0:267          Sequence
+0:267            Constant:
+0:267              0 (const int)
+0:267            Constant:
+0:267              1 (const int)
+0:267        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:267          vector swizzle ( temp 2-component vector of int)
+0:267            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:267              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:267                Constant:
+0:267                  1 (const int)
+0:267              Constant:
+0:267                1 (const int)
+0:267            Sequence
+0:267              Constant:
+0:267                0 (const int)
+0:267              Constant:
+0:267                1 (const int)
+0:267          'ballot' ( temp 4-component vector of uint)
+0:268      move second child to first child ( temp 3-component vector of int)
+0:268        vector swizzle ( temp 3-component vector of int)
+0:268          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:268            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:268              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:268              'invocation' ( temp uint)
+0:268            Constant:
+0:268              1 (const int)
+0:268          Sequence
+0:268            Constant:
+0:268              0 (const int)
+0:268            Constant:
+0:268              1 (const int)
+0:268            Constant:
+0:268              2 (const int)
+0:268        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:268          vector swizzle ( temp 3-component vector of int)
+0:268            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:268              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:268                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:268                Constant:
+0:268                  2 (const int)
+0:268              Constant:
+0:268                1 (const int)
+0:268            Sequence
+0:268              Constant:
+0:268                0 (const int)
+0:268              Constant:
+0:268                1 (const int)
+0:268              Constant:
+0:268                2 (const int)
+0:268          'ballot' ( temp 4-component vector of uint)
+0:269      move second child to first child ( temp 4-component vector of int)
+0:269        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:269          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269            'invocation' ( temp uint)
+0:269          Constant:
+0:269            1 (const int)
+0:269        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:269          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:269            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:269              Constant:
+0:269                3 (const int)
+0:269            Constant:
+0:269              1 (const int)
+0:269          'ballot' ( temp 4-component vector of uint)
+0:271      move second child to first child ( temp uint)
+0:271        direct index ( temp uint)
+0:271          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:271            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271              'invocation' ( temp uint)
+0:271            Constant:
+0:271              2 (const int)
+0:271          Constant:
+0:271            0 (const int)
+0:271        ERROR: Bad aggregation op
+ ( global uint)
+0:271          direct index ( temp uint)
+0:271            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:271              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:271                Constant:
+0:271                  0 (const int)
+0:271              Constant:
+0:271                2 (const int)
+0:271            Constant:
+0:271              0 (const int)
+0:271          'ballot' ( temp 4-component vector of uint)
+0:272      move second child to first child ( temp 2-component vector of uint)
+0:272        vector swizzle ( temp 2-component vector of uint)
+0:272          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:272            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272              'invocation' ( temp uint)
+0:272            Constant:
+0:272              2 (const int)
+0:272          Sequence
+0:272            Constant:
+0:272              0 (const int)
+0:272            Constant:
+0:272              1 (const int)
+0:272        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:272          vector swizzle ( temp 2-component vector of uint)
+0:272            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:272              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:272                Constant:
+0:272                  1 (const int)
+0:272              Constant:
+0:272                2 (const int)
+0:272            Sequence
+0:272              Constant:
+0:272                0 (const int)
+0:272              Constant:
+0:272                1 (const int)
+0:272          'ballot' ( temp 4-component vector of uint)
+0:273      move second child to first child ( temp 3-component vector of uint)
+0:273        vector swizzle ( temp 3-component vector of uint)
+0:273          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:273            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:273              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:273              'invocation' ( temp uint)
+0:273            Constant:
+0:273              2 (const int)
+0:273          Sequence
+0:273            Constant:
+0:273              0 (const int)
+0:273            Constant:
+0:273              1 (const int)
+0:273            Constant:
+0:273              2 (const int)
+0:273        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:273          vector swizzle ( temp 3-component vector of uint)
+0:273            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:273              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:273                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:273                Constant:
+0:273                  2 (const int)
+0:273              Constant:
+0:273                2 (const int)
+0:273            Sequence
+0:273              Constant:
+0:273                0 (const int)
+0:273              Constant:
+0:273                1 (const int)
+0:273              Constant:
+0:273                2 (const int)
+0:273          'ballot' ( temp 4-component vector of uint)
+0:274      move second child to first child ( temp 4-component vector of uint)
+0:274        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:274          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274            'invocation' ( temp uint)
+0:274          Constant:
+0:274            2 (const int)
+0:274        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:274          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:274            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:274              Constant:
+0:274                3 (const int)
+0:274            Constant:
+0:274              2 (const int)
+0:274          'ballot' ( temp 4-component vector of uint)
+0:276      move second child to first child ( temp int)
+0:276        direct index ( temp int)
+0:276          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:276            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276              'invocation' ( temp uint)
+0:276            Constant:
+0:276              1 (const int)
+0:276          Constant:
+0:276            0 (const int)
+0:276        Convert bool to int ( temp int)
+0:276          ERROR: Bad aggregation op
+ ( global bool)
+0:276            Compare Less Than ( temp bool)
+0:276              direct index ( temp int)
+0:276                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:276                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:276                    Constant:
+0:276                      0 (const int)
+0:276                  Constant:
+0:276                    1 (const int)
+0:276                Constant:
+0:276                  0 (const int)
+0:276              Constant:
+0:276                0 (const int)
+0:276            'ballot' ( temp 4-component vector of uint)
+0:277      move second child to first child ( temp 2-component vector of int)
+0:277        vector swizzle ( temp 2-component vector of int)
+0:277          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:277            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277              'invocation' ( temp uint)
+0:277            Constant:
+0:277              1 (const int)
+0:277          Sequence
+0:277            Constant:
+0:277              0 (const int)
+0:277            Constant:
+0:277              1 (const int)
+0:277        Convert bool to int ( temp 2-component vector of int)
+0:277          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:277            Compare Less Than ( global 2-component vector of bool)
+0:277              vector swizzle ( temp 2-component vector of int)
+0:277                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:277                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:277                    Constant:
+0:277                      1 (const int)
+0:277                  Constant:
+0:277                    1 (const int)
+0:277                Sequence
+0:277                  Constant:
+0:277                    0 (const int)
+0:277                  Constant:
+0:277                    1 (const int)
+0:277              Constant:
+0:277                0 (const int)
+0:277                0 (const int)
+0:277            'ballot' ( temp 4-component vector of uint)
+0:278      move second child to first child ( temp 3-component vector of int)
+0:278        vector swizzle ( temp 3-component vector of int)
+0:278          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:278            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:278              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:278              'invocation' ( temp uint)
+0:278            Constant:
+0:278              1 (const int)
+0:278          Sequence
+0:278            Constant:
+0:278              0 (const int)
+0:278            Constant:
+0:278              1 (const int)
+0:278            Constant:
+0:278              2 (const int)
+0:278        Convert bool to int ( temp 3-component vector of int)
+0:278          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:278            Compare Less Than ( global 3-component vector of bool)
+0:278              vector swizzle ( temp 3-component vector of int)
+0:278                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:278                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:278                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:278                    Constant:
+0:278                      1 (const int)
+0:278                  Constant:
+0:278                    1 (const int)
+0:278                Sequence
+0:278                  Constant:
+0:278                    0 (const int)
+0:278                  Constant:
+0:278                    1 (const int)
+0:278                  Constant:
+0:278                    2 (const int)
+0:278              Constant:
+0:278                0 (const int)
+0:278                0 (const int)
+0:278                0 (const int)
+0:278            'ballot' ( temp 4-component vector of uint)
+0:279      move second child to first child ( temp 4-component vector of int)
+0:279        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:279          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279            'invocation' ( temp uint)
+0:279          Constant:
+0:279            1 (const int)
+0:279        Convert bool to int ( temp 4-component vector of int)
+0:279          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:279            Compare Less Than ( global 4-component vector of bool)
+0:279              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:279                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:279                  Constant:
+0:279                    1 (const int)
+0:279                Constant:
+0:279                  1 (const int)
+0:279              Constant:
+0:279                0 (const int)
+0:279                0 (const int)
+0:279                0 (const int)
+0:279                0 (const int)
+0:279            'ballot' ( temp 4-component vector of uint)
+0:281      move second child to first child ( temp int)
+0:281        direct index ( temp int)
+0:281          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:281            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281              'invocation' ( temp uint)
+0:281            Constant:
+0:281              1 (const int)
+0:281          Constant:
+0:281            0 (const int)
+0:281        ERROR: Bad aggregation op
+ ( global int)
+0:281          direct index ( temp int)
+0:281            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:281              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:281                Constant:
+0:281                  0 (const int)
+0:281              Constant:
+0:281                1 (const int)
+0:281            Constant:
+0:281              0 (const int)
+0:281          'ballot' ( temp 4-component vector of uint)
+0:282      move second child to first child ( temp 2-component vector of int)
+0:282        vector swizzle ( temp 2-component vector of int)
+0:282          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:282            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282              'invocation' ( temp uint)
+0:282            Constant:
+0:282              1 (const int)
+0:282          Sequence
+0:282            Constant:
+0:282              0 (const int)
+0:282            Constant:
+0:282              1 (const int)
+0:282        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:282          vector swizzle ( temp 2-component vector of int)
+0:282            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:282              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:282                Constant:
+0:282                  1 (const int)
+0:282              Constant:
+0:282                1 (const int)
+0:282            Sequence
+0:282              Constant:
+0:282                0 (const int)
+0:282              Constant:
+0:282                1 (const int)
+0:282          'ballot' ( temp 4-component vector of uint)
+0:283      move second child to first child ( temp 3-component vector of int)
+0:283        vector swizzle ( temp 3-component vector of int)
+0:283          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:283            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:283              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:283              'invocation' ( temp uint)
+0:283            Constant:
+0:283              1 (const int)
+0:283          Sequence
+0:283            Constant:
+0:283              0 (const int)
+0:283            Constant:
+0:283              1 (const int)
+0:283            Constant:
+0:283              2 (const int)
+0:283        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:283          vector swizzle ( temp 3-component vector of int)
+0:283            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:283              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:283                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:283                Constant:
+0:283                  2 (const int)
+0:283              Constant:
+0:283                1 (const int)
+0:283            Sequence
+0:283              Constant:
+0:283                0 (const int)
+0:283              Constant:
+0:283                1 (const int)
+0:283              Constant:
+0:283                2 (const int)
+0:283          'ballot' ( temp 4-component vector of uint)
+0:284      move second child to first child ( temp 4-component vector of int)
+0:284        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:284          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284            'invocation' ( temp uint)
+0:284          Constant:
+0:284            1 (const int)
+0:284        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:284          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:284            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:284              Constant:
+0:284                3 (const int)
+0:284            Constant:
+0:284              1 (const int)
+0:284          'ballot' ( temp 4-component vector of uint)
+0:286      move second child to first child ( temp uint)
+0:286        direct index ( temp uint)
+0:286          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:286            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286              'invocation' ( temp uint)
+0:286            Constant:
+0:286              2 (const int)
+0:286          Constant:
+0:286            0 (const int)
+0:286        ERROR: Bad aggregation op
+ ( global uint)
+0:286          direct index ( temp uint)
+0:286            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:286              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:286                Constant:
+0:286                  0 (const int)
+0:286              Constant:
+0:286                2 (const int)
+0:286            Constant:
+0:286              0 (const int)
+0:286          'ballot' ( temp 4-component vector of uint)
+0:287      move second child to first child ( temp 2-component vector of uint)
+0:287        vector swizzle ( temp 2-component vector of uint)
+0:287          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:287            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287              'invocation' ( temp uint)
+0:287            Constant:
+0:287              2 (const int)
+0:287          Sequence
+0:287            Constant:
+0:287              0 (const int)
+0:287            Constant:
+0:287              1 (const int)
+0:287        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:287          vector swizzle ( temp 2-component vector of uint)
+0:287            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:287              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:287                Constant:
+0:287                  1 (const int)
+0:287              Constant:
+0:287                2 (const int)
+0:287            Sequence
+0:287              Constant:
+0:287                0 (const int)
+0:287              Constant:
+0:287                1 (const int)
+0:287          'ballot' ( temp 4-component vector of uint)
+0:288      move second child to first child ( temp 3-component vector of uint)
+0:288        vector swizzle ( temp 3-component vector of uint)
+0:288          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:288            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:288              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:288              'invocation' ( temp uint)
+0:288            Constant:
+0:288              2 (const int)
+0:288          Sequence
+0:288            Constant:
+0:288              0 (const int)
+0:288            Constant:
+0:288              1 (const int)
+0:288            Constant:
+0:288              2 (const int)
+0:288        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:288          vector swizzle ( temp 3-component vector of uint)
+0:288            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:288              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:288                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:288                Constant:
+0:288                  2 (const int)
+0:288              Constant:
+0:288                2 (const int)
+0:288            Sequence
+0:288              Constant:
+0:288                0 (const int)
+0:288              Constant:
+0:288                1 (const int)
+0:288              Constant:
+0:288                2 (const int)
+0:288          'ballot' ( temp 4-component vector of uint)
+0:289      move second child to first child ( temp 4-component vector of uint)
+0:289        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:289          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289            'invocation' ( temp uint)
+0:289          Constant:
+0:289            2 (const int)
+0:289        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:289          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:289            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:289              Constant:
+0:289                3 (const int)
+0:289            Constant:
+0:289              2 (const int)
+0:289          'ballot' ( temp 4-component vector of uint)
+0:291      move second child to first child ( temp int)
+0:291        direct index ( temp int)
+0:291          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:291            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291              'invocation' ( temp uint)
+0:291            Constant:
+0:291              1 (const int)
+0:291          Constant:
+0:291            0 (const int)
+0:291        Convert bool to int ( temp int)
+0:291          ERROR: Bad aggregation op
+ ( global bool)
+0:291            Compare Less Than ( temp bool)
+0:291              direct index ( temp int)
+0:291                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:291                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:291                    Constant:
+0:291                      0 (const int)
+0:291                  Constant:
+0:291                    1 (const int)
+0:291                Constant:
+0:291                  0 (const int)
+0:291              Constant:
+0:291                0 (const int)
+0:291            'ballot' ( temp 4-component vector of uint)
+0:292      move second child to first child ( temp 2-component vector of int)
+0:292        vector swizzle ( temp 2-component vector of int)
+0:292          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:292            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292              'invocation' ( temp uint)
+0:292            Constant:
+0:292              1 (const int)
+0:292          Sequence
+0:292            Constant:
+0:292              0 (const int)
+0:292            Constant:
+0:292              1 (const int)
+0:292        Convert bool to int ( temp 2-component vector of int)
+0:292          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:292            Compare Less Than ( global 2-component vector of bool)
+0:292              vector swizzle ( temp 2-component vector of int)
+0:292                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:292                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:292                    Constant:
+0:292                      1 (const int)
+0:292                  Constant:
+0:292                    1 (const int)
+0:292                Sequence
+0:292                  Constant:
+0:292                    0 (const int)
+0:292                  Constant:
+0:292                    1 (const int)
+0:292              Constant:
+0:292                0 (const int)
+0:292                0 (const int)
+0:292            'ballot' ( temp 4-component vector of uint)
+0:293      move second child to first child ( temp 3-component vector of int)
+0:293        vector swizzle ( temp 3-component vector of int)
+0:293          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:293            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:293              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:293              'invocation' ( temp uint)
+0:293            Constant:
+0:293              1 (const int)
+0:293          Sequence
+0:293            Constant:
+0:293              0 (const int)
+0:293            Constant:
+0:293              1 (const int)
+0:293            Constant:
+0:293              2 (const int)
+0:293        Convert bool to int ( temp 3-component vector of int)
+0:293          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:293            Compare Less Than ( global 3-component vector of bool)
+0:293              vector swizzle ( temp 3-component vector of int)
+0:293                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:293                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:293                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:293                    Constant:
+0:293                      1 (const int)
+0:293                  Constant:
+0:293                    1 (const int)
+0:293                Sequence
+0:293                  Constant:
+0:293                    0 (const int)
+0:293                  Constant:
+0:293                    1 (const int)
+0:293                  Constant:
+0:293                    2 (const int)
+0:293              Constant:
+0:293                0 (const int)
+0:293                0 (const int)
+0:293                0 (const int)
+0:293            'ballot' ( temp 4-component vector of uint)
+0:294      move second child to first child ( temp 4-component vector of int)
+0:294        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:294          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294            'invocation' ( temp uint)
+0:294          Constant:
+0:294            1 (const int)
+0:294        Convert bool to int ( temp 4-component vector of int)
+0:294          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:294            Compare Less Than ( global 4-component vector of bool)
+0:294              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:294                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:294                  Constant:
+0:294                    1 (const int)
+0:294                Constant:
+0:294                  1 (const int)
+0:294              Constant:
+0:294                0 (const int)
+0:294                0 (const int)
+0:294                0 (const int)
+0:294                0 (const int)
+0:294            'ballot' ( temp 4-component vector of uint)
+0:296      move second child to first child ( temp float)
+0:296        direct index ( temp float)
+0:296          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:296            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296              'invocation' ( temp uint)
+0:296            Constant:
+0:296              0 (const int)
+0:296          Constant:
+0:296            0 (const int)
+0:296        ERROR: Bad aggregation op
+ ( global float)
+0:296          direct index ( temp float)
+0:296            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:296              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:296                Constant:
+0:296                  0 (const int)
+0:296              Constant:
+0:296                0 (const int)
+0:296            Constant:
+0:296              0 (const int)
+0:296          'ballot' ( temp 4-component vector of uint)
+0:297      move second child to first child ( temp 2-component vector of float)
+0:297        vector swizzle ( temp 2-component vector of float)
+0:297          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:297            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297              'invocation' ( temp uint)
+0:297            Constant:
+0:297              0 (const int)
+0:297          Sequence
+0:297            Constant:
+0:297              0 (const int)
+0:297            Constant:
+0:297              1 (const int)
+0:297        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:297          vector swizzle ( temp 2-component vector of float)
+0:297            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:297              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:297                Constant:
+0:297                  1 (const int)
+0:297              Constant:
+0:297                0 (const int)
+0:297            Sequence
+0:297              Constant:
+0:297                0 (const int)
+0:297              Constant:
+0:297                1 (const int)
+0:297          'ballot' ( temp 4-component vector of uint)
+0:298      move second child to first child ( temp 3-component vector of float)
+0:298        vector swizzle ( temp 3-component vector of float)
+0:298          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:298            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:298              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:298              'invocation' ( temp uint)
+0:298            Constant:
+0:298              0 (const int)
+0:298          Sequence
+0:298            Constant:
+0:298              0 (const int)
+0:298            Constant:
+0:298              1 (const int)
+0:298            Constant:
+0:298              2 (const int)
+0:298        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:298          vector swizzle ( temp 3-component vector of float)
+0:298            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:298              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:298                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:298                Constant:
+0:298                  2 (const int)
+0:298              Constant:
+0:298                0 (const int)
+0:298            Sequence
+0:298              Constant:
+0:298                0 (const int)
+0:298              Constant:
+0:298                1 (const int)
+0:298              Constant:
+0:298                2 (const int)
+0:298          'ballot' ( temp 4-component vector of uint)
+0:299      move second child to first child ( temp 4-component vector of float)
+0:299        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:299          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299            'invocation' ( temp uint)
+0:299          Constant:
+0:299            0 (const int)
+0:299        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:299          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:299            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:299              Constant:
+0:299                3 (const int)
+0:299            Constant:
+0:299              0 (const int)
+0:299          'ballot' ( temp 4-component vector of uint)
+0:301      move second child to first child ( temp int)
+0:301        direct index ( temp int)
+0:301          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:301            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301              'invocation' ( temp uint)
+0:301            Constant:
+0:301              1 (const int)
+0:301          Constant:
+0:301            0 (const int)
+0:301        ERROR: Bad aggregation op
+ ( global int)
+0:301          direct index ( temp int)
+0:301            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:301              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:301                Constant:
+0:301                  0 (const int)
+0:301              Constant:
+0:301                1 (const int)
+0:301            Constant:
+0:301              0 (const int)
+0:301          'ballot' ( temp 4-component vector of uint)
+0:302      move second child to first child ( temp 2-component vector of int)
+0:302        vector swizzle ( temp 2-component vector of int)
+0:302          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:302            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302              'invocation' ( temp uint)
+0:302            Constant:
+0:302              1 (const int)
+0:302          Sequence
+0:302            Constant:
+0:302              0 (const int)
+0:302            Constant:
+0:302              1 (const int)
+0:302        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:302          vector swizzle ( temp 2-component vector of int)
+0:302            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:302              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:302                Constant:
+0:302                  1 (const int)
+0:302              Constant:
+0:302                1 (const int)
+0:302            Sequence
+0:302              Constant:
+0:302                0 (const int)
+0:302              Constant:
+0:302                1 (const int)
+0:302          'ballot' ( temp 4-component vector of uint)
+0:303      move second child to first child ( temp 3-component vector of int)
+0:303        vector swizzle ( temp 3-component vector of int)
+0:303          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:303            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:303              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:303              'invocation' ( temp uint)
+0:303            Constant:
+0:303              1 (const int)
+0:303          Sequence
+0:303            Constant:
+0:303              0 (const int)
+0:303            Constant:
+0:303              1 (const int)
+0:303            Constant:
+0:303              2 (const int)
+0:303        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:303          vector swizzle ( temp 3-component vector of int)
+0:303            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:303              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:303                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:303                Constant:
+0:303                  2 (const int)
+0:303              Constant:
+0:303                1 (const int)
+0:303            Sequence
+0:303              Constant:
+0:303                0 (const int)
+0:303              Constant:
+0:303                1 (const int)
+0:303              Constant:
+0:303                2 (const int)
+0:303          'ballot' ( temp 4-component vector of uint)
+0:304      move second child to first child ( temp 4-component vector of int)
+0:304        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:304          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304            'invocation' ( temp uint)
+0:304          Constant:
+0:304            1 (const int)
+0:304        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:304          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:304            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:304              Constant:
+0:304                3 (const int)
+0:304            Constant:
+0:304              1 (const int)
+0:304          'ballot' ( temp 4-component vector of uint)
+0:306      move second child to first child ( temp uint)
+0:306        direct index ( temp uint)
+0:306          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:306            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306              'invocation' ( temp uint)
+0:306            Constant:
+0:306              2 (const int)
+0:306          Constant:
+0:306            0 (const int)
+0:306        ERROR: Bad aggregation op
+ ( global uint)
+0:306          direct index ( temp uint)
+0:306            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:306              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:306                Constant:
+0:306                  0 (const int)
+0:306              Constant:
+0:306                2 (const int)
+0:306            Constant:
+0:306              0 (const int)
+0:306          'ballot' ( temp 4-component vector of uint)
+0:307      move second child to first child ( temp 2-component vector of uint)
+0:307        vector swizzle ( temp 2-component vector of uint)
+0:307          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:307            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307              'invocation' ( temp uint)
+0:307            Constant:
+0:307              2 (const int)
+0:307          Sequence
+0:307            Constant:
+0:307              0 (const int)
+0:307            Constant:
+0:307              1 (const int)
+0:307        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:307          vector swizzle ( temp 2-component vector of uint)
+0:307            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:307              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:307                Constant:
+0:307                  1 (const int)
+0:307              Constant:
+0:307                2 (const int)
+0:307            Sequence
+0:307              Constant:
+0:307                0 (const int)
+0:307              Constant:
+0:307                1 (const int)
+0:307          'ballot' ( temp 4-component vector of uint)
+0:308      move second child to first child ( temp 3-component vector of uint)
+0:308        vector swizzle ( temp 3-component vector of uint)
+0:308          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:308            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:308              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:308              'invocation' ( temp uint)
+0:308            Constant:
+0:308              2 (const int)
+0:308          Sequence
+0:308            Constant:
+0:308              0 (const int)
+0:308            Constant:
+0:308              1 (const int)
+0:308            Constant:
+0:308              2 (const int)
+0:308        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:308          vector swizzle ( temp 3-component vector of uint)
+0:308            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:308              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:308                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:308                Constant:
+0:308                  2 (const int)
+0:308              Constant:
+0:308                2 (const int)
+0:308            Sequence
+0:308              Constant:
+0:308                0 (const int)
+0:308              Constant:
+0:308                1 (const int)
+0:308              Constant:
+0:308                2 (const int)
+0:308          'ballot' ( temp 4-component vector of uint)
+0:309      move second child to first child ( temp 4-component vector of uint)
+0:309        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:309          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309            'invocation' ( temp uint)
+0:309          Constant:
+0:309            2 (const int)
+0:309        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:309          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:309            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:309              Constant:
+0:309                3 (const int)
+0:309            Constant:
+0:309              2 (const int)
+0:309          'ballot' ( temp 4-component vector of uint)
+0:311      move second child to first child ( temp double)
+0:311        direct index ( temp double)
+0:311          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:311            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311              'invocation' ( temp uint)
+0:311            Constant:
+0:311              3 (const int)
+0:311          Constant:
+0:311            0 (const int)
+0:311        ERROR: Bad aggregation op
+ ( global double)
+0:311          direct index ( temp double)
+0:311            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:311              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:311                Constant:
+0:311                  0 (const int)
+0:311              Constant:
+0:311                3 (const int)
+0:311            Constant:
+0:311              0 (const int)
+0:311          'ballot' ( temp 4-component vector of uint)
+0:312      move second child to first child ( temp 2-component vector of double)
+0:312        vector swizzle ( temp 2-component vector of double)
+0:312          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:312            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312              'invocation' ( temp uint)
+0:312            Constant:
+0:312              3 (const int)
+0:312          Sequence
+0:312            Constant:
+0:312              0 (const int)
+0:312            Constant:
+0:312              1 (const int)
+0:312        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:312          vector swizzle ( temp 2-component vector of double)
+0:312            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:312              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:312                Constant:
+0:312                  1 (const int)
+0:312              Constant:
+0:312                3 (const int)
+0:312            Sequence
+0:312              Constant:
+0:312                0 (const int)
+0:312              Constant:
+0:312                1 (const int)
+0:312          'ballot' ( temp 4-component vector of uint)
+0:313      move second child to first child ( temp 3-component vector of double)
+0:313        vector swizzle ( temp 3-component vector of double)
+0:313          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:313            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:313              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:313              'invocation' ( temp uint)
+0:313            Constant:
+0:313              3 (const int)
+0:313          Sequence
+0:313            Constant:
+0:313              0 (const int)
+0:313            Constant:
+0:313              1 (const int)
+0:313            Constant:
+0:313              2 (const int)
+0:313        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:313          vector swizzle ( temp 3-component vector of double)
+0:313            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:313              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:313                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:313                Constant:
+0:313                  2 (const int)
+0:313              Constant:
+0:313                3 (const int)
+0:313            Sequence
+0:313              Constant:
+0:313                0 (const int)
+0:313              Constant:
+0:313                1 (const int)
+0:313              Constant:
+0:313                2 (const int)
+0:313          'ballot' ( temp 4-component vector of uint)
+0:314      move second child to first child ( temp 4-component vector of double)
+0:314        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:314          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314            'invocation' ( temp uint)
+0:314          Constant:
+0:314            3 (const int)
+0:314        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:314          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:314            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:314              Constant:
+0:314                3 (const int)
+0:314            Constant:
+0:314              3 (const int)
+0:314          'ballot' ( temp 4-component vector of uint)
+0:316      move second child to first child ( temp float)
+0:316        direct index ( temp float)
+0:316          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:316            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316              'invocation' ( temp uint)
+0:316            Constant:
+0:316              0 (const int)
+0:316          Constant:
+0:316            0 (const int)
+0:316        ERROR: Bad aggregation op
+ ( global float)
+0:316          direct index ( temp float)
+0:316            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:316              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:316                Constant:
+0:316                  0 (const int)
+0:316              Constant:
+0:316                0 (const int)
+0:316            Constant:
+0:316              0 (const int)
+0:316          'ballot' ( temp 4-component vector of uint)
+0:317      move second child to first child ( temp 2-component vector of float)
+0:317        vector swizzle ( temp 2-component vector of float)
+0:317          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:317            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317              'invocation' ( temp uint)
+0:317            Constant:
+0:317              0 (const int)
+0:317          Sequence
+0:317            Constant:
+0:317              0 (const int)
+0:317            Constant:
+0:317              1 (const int)
+0:317        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:317          vector swizzle ( temp 2-component vector of float)
+0:317            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:317              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:317                Constant:
+0:317                  1 (const int)
+0:317              Constant:
+0:317                0 (const int)
+0:317            Sequence
+0:317              Constant:
+0:317                0 (const int)
+0:317              Constant:
+0:317                1 (const int)
+0:317          'ballot' ( temp 4-component vector of uint)
+0:318      move second child to first child ( temp 3-component vector of float)
+0:318        vector swizzle ( temp 3-component vector of float)
+0:318          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:318            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:318              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:318              'invocation' ( temp uint)
+0:318            Constant:
+0:318              0 (const int)
+0:318          Sequence
+0:318            Constant:
+0:318              0 (const int)
+0:318            Constant:
+0:318              1 (const int)
+0:318            Constant:
+0:318              2 (const int)
+0:318        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:318          vector swizzle ( temp 3-component vector of float)
+0:318            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:318              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:318                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:318                Constant:
+0:318                  2 (const int)
+0:318              Constant:
+0:318                0 (const int)
+0:318            Sequence
+0:318              Constant:
+0:318                0 (const int)
+0:318              Constant:
+0:318                1 (const int)
+0:318              Constant:
+0:318                2 (const int)
+0:318          'ballot' ( temp 4-component vector of uint)
+0:319      move second child to first child ( temp 4-component vector of float)
+0:319        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:319          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319            'invocation' ( temp uint)
+0:319          Constant:
+0:319            0 (const int)
+0:319        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:319          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:319            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:319              Constant:
+0:319                3 (const int)
+0:319            Constant:
+0:319              0 (const int)
+0:319          'ballot' ( temp 4-component vector of uint)
+0:321      move second child to first child ( temp int)
+0:321        direct index ( temp int)
+0:321          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:321            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321              'invocation' ( temp uint)
+0:321            Constant:
+0:321              1 (const int)
+0:321          Constant:
+0:321            0 (const int)
+0:321        ERROR: Bad aggregation op
+ ( global int)
+0:321          direct index ( temp int)
+0:321            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:321              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:321                Constant:
+0:321                  0 (const int)
+0:321              Constant:
+0:321                1 (const int)
+0:321            Constant:
+0:321              0 (const int)
+0:321          'ballot' ( temp 4-component vector of uint)
+0:322      move second child to first child ( temp 2-component vector of int)
+0:322        vector swizzle ( temp 2-component vector of int)
+0:322          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:322            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322              'invocation' ( temp uint)
+0:322            Constant:
+0:322              1 (const int)
+0:322          Sequence
+0:322            Constant:
+0:322              0 (const int)
+0:322            Constant:
+0:322              1 (const int)
+0:322        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:322          vector swizzle ( temp 2-component vector of int)
+0:322            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:322              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:322                Constant:
+0:322                  1 (const int)
+0:322              Constant:
+0:322                1 (const int)
+0:322            Sequence
+0:322              Constant:
+0:322                0 (const int)
+0:322              Constant:
+0:322                1 (const int)
+0:322          'ballot' ( temp 4-component vector of uint)
+0:323      move second child to first child ( temp 3-component vector of int)
+0:323        vector swizzle ( temp 3-component vector of int)
+0:323          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:323            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:323              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:323              'invocation' ( temp uint)
+0:323            Constant:
+0:323              1 (const int)
+0:323          Sequence
+0:323            Constant:
+0:323              0 (const int)
+0:323            Constant:
+0:323              1 (const int)
+0:323            Constant:
+0:323              2 (const int)
+0:323        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:323          vector swizzle ( temp 3-component vector of int)
+0:323            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:323              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:323                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:323                Constant:
+0:323                  2 (const int)
+0:323              Constant:
+0:323                1 (const int)
+0:323            Sequence
+0:323              Constant:
+0:323                0 (const int)
+0:323              Constant:
+0:323                1 (const int)
+0:323              Constant:
+0:323                2 (const int)
+0:323          'ballot' ( temp 4-component vector of uint)
+0:324      move second child to first child ( temp 4-component vector of int)
+0:324        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:324          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324            'invocation' ( temp uint)
+0:324          Constant:
+0:324            1 (const int)
+0:324        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:324          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:324            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:324              Constant:
+0:324                3 (const int)
+0:324            Constant:
+0:324              1 (const int)
+0:324          'ballot' ( temp 4-component vector of uint)
+0:326      move second child to first child ( temp uint)
+0:326        direct index ( temp uint)
+0:326          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:326            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326              'invocation' ( temp uint)
+0:326            Constant:
+0:326              2 (const int)
+0:326          Constant:
+0:326            0 (const int)
+0:326        ERROR: Bad aggregation op
+ ( global uint)
+0:326          direct index ( temp uint)
+0:326            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:326              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:326                Constant:
+0:326                  0 (const int)
+0:326              Constant:
+0:326                2 (const int)
+0:326            Constant:
+0:326              0 (const int)
+0:326          'ballot' ( temp 4-component vector of uint)
+0:327      move second child to first child ( temp 2-component vector of uint)
+0:327        vector swizzle ( temp 2-component vector of uint)
+0:327          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:327            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327              'invocation' ( temp uint)
+0:327            Constant:
+0:327              2 (const int)
+0:327          Sequence
+0:327            Constant:
+0:327              0 (const int)
+0:327            Constant:
+0:327              1 (const int)
+0:327        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:327          vector swizzle ( temp 2-component vector of uint)
+0:327            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:327              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:327                Constant:
+0:327                  1 (const int)
+0:327              Constant:
+0:327                2 (const int)
+0:327            Sequence
+0:327              Constant:
+0:327                0 (const int)
+0:327              Constant:
+0:327                1 (const int)
+0:327          'ballot' ( temp 4-component vector of uint)
+0:328      move second child to first child ( temp 3-component vector of uint)
+0:328        vector swizzle ( temp 3-component vector of uint)
+0:328          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:328            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:328              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:328              'invocation' ( temp uint)
+0:328            Constant:
+0:328              2 (const int)
+0:328          Sequence
+0:328            Constant:
+0:328              0 (const int)
+0:328            Constant:
+0:328              1 (const int)
+0:328            Constant:
+0:328              2 (const int)
+0:328        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:328          vector swizzle ( temp 3-component vector of uint)
+0:328            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:328              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:328                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:328                Constant:
+0:328                  2 (const int)
+0:328              Constant:
+0:328                2 (const int)
+0:328            Sequence
+0:328              Constant:
+0:328                0 (const int)
+0:328              Constant:
+0:328                1 (const int)
+0:328              Constant:
+0:328                2 (const int)
+0:328          'ballot' ( temp 4-component vector of uint)
+0:329      move second child to first child ( temp 4-component vector of uint)
+0:329        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:329          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329            'invocation' ( temp uint)
+0:329          Constant:
+0:329            2 (const int)
+0:329        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:329          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:329            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:329              Constant:
+0:329                3 (const int)
+0:329            Constant:
+0:329              2 (const int)
+0:329          'ballot' ( temp 4-component vector of uint)
+0:331      move second child to first child ( temp double)
+0:331        direct index ( temp double)
+0:331          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:331            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331              'invocation' ( temp uint)
+0:331            Constant:
+0:331              3 (const int)
+0:331          Constant:
+0:331            0 (const int)
+0:331        ERROR: Bad aggregation op
+ ( global double)
+0:331          direct index ( temp double)
+0:331            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:331              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:331                Constant:
+0:331                  0 (const int)
+0:331              Constant:
+0:331                3 (const int)
+0:331            Constant:
+0:331              0 (const int)
+0:331          'ballot' ( temp 4-component vector of uint)
+0:332      move second child to first child ( temp 2-component vector of double)
+0:332        vector swizzle ( temp 2-component vector of double)
+0:332          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:332            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332              'invocation' ( temp uint)
+0:332            Constant:
+0:332              3 (const int)
+0:332          Sequence
+0:332            Constant:
+0:332              0 (const int)
+0:332            Constant:
+0:332              1 (const int)
+0:332        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:332          vector swizzle ( temp 2-component vector of double)
+0:332            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:332              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:332                Constant:
+0:332                  1 (const int)
+0:332              Constant:
+0:332                3 (const int)
+0:332            Sequence
+0:332              Constant:
+0:332                0 (const int)
+0:332              Constant:
+0:332                1 (const int)
+0:332          'ballot' ( temp 4-component vector of uint)
+0:333      move second child to first child ( temp 3-component vector of double)
+0:333        vector swizzle ( temp 3-component vector of double)
+0:333          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:333            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:333              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:333              'invocation' ( temp uint)
+0:333            Constant:
+0:333              3 (const int)
+0:333          Sequence
+0:333            Constant:
+0:333              0 (const int)
+0:333            Constant:
+0:333              1 (const int)
+0:333            Constant:
+0:333              2 (const int)
+0:333        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:333          vector swizzle ( temp 3-component vector of double)
+0:333            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:333              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:333                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:333                Constant:
+0:333                  2 (const int)
+0:333              Constant:
+0:333                3 (const int)
+0:333            Sequence
+0:333              Constant:
+0:333                0 (const int)
+0:333              Constant:
+0:333                1 (const int)
+0:333              Constant:
+0:333                2 (const int)
+0:333          'ballot' ( temp 4-component vector of uint)
+0:334      move second child to first child ( temp 4-component vector of double)
+0:334        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:334          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334            'invocation' ( temp uint)
+0:334          Constant:
+0:334            3 (const int)
+0:334        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:334          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:334            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:334              Constant:
+0:334                3 (const int)
+0:334            Constant:
+0:334              3 (const int)
+0:334          'ballot' ( temp 4-component vector of uint)
+0:336      move second child to first child ( temp float)
+0:336        direct index ( temp float)
+0:336          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:336            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336              'invocation' ( temp uint)
+0:336            Constant:
+0:336              0 (const int)
+0:336          Constant:
+0:336            0 (const int)
+0:336        ERROR: Bad aggregation op
+ ( global float)
+0:336          direct index ( temp float)
+0:336            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:336              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:336                Constant:
+0:336                  0 (const int)
+0:336              Constant:
+0:336                0 (const int)
+0:336            Constant:
+0:336              0 (const int)
+0:336          'ballot' ( temp 4-component vector of uint)
+0:337      move second child to first child ( temp 2-component vector of float)
+0:337        vector swizzle ( temp 2-component vector of float)
+0:337          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:337            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337              'invocation' ( temp uint)
+0:337            Constant:
+0:337              0 (const int)
+0:337          Sequence
+0:337            Constant:
+0:337              0 (const int)
+0:337            Constant:
+0:337              1 (const int)
+0:337        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:337          vector swizzle ( temp 2-component vector of float)
+0:337            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:337              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:337                Constant:
+0:337                  1 (const int)
+0:337              Constant:
+0:337                0 (const int)
+0:337            Sequence
+0:337              Constant:
+0:337                0 (const int)
+0:337              Constant:
+0:337                1 (const int)
+0:337          'ballot' ( temp 4-component vector of uint)
+0:338      move second child to first child ( temp 3-component vector of float)
+0:338        vector swizzle ( temp 3-component vector of float)
+0:338          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:338            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:338              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:338              'invocation' ( temp uint)
+0:338            Constant:
+0:338              0 (const int)
+0:338          Sequence
+0:338            Constant:
+0:338              0 (const int)
+0:338            Constant:
+0:338              1 (const int)
+0:338            Constant:
+0:338              2 (const int)
+0:338        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:338          vector swizzle ( temp 3-component vector of float)
+0:338            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:338              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:338                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:338                Constant:
+0:338                  2 (const int)
+0:338              Constant:
+0:338                0 (const int)
+0:338            Sequence
+0:338              Constant:
+0:338                0 (const int)
+0:338              Constant:
+0:338                1 (const int)
+0:338              Constant:
+0:338                2 (const int)
+0:338          'ballot' ( temp 4-component vector of uint)
+0:339      move second child to first child ( temp 4-component vector of float)
+0:339        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:339          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339            'invocation' ( temp uint)
+0:339          Constant:
+0:339            0 (const int)
+0:339        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:339          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:339            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:339              Constant:
+0:339                3 (const int)
+0:339            Constant:
+0:339              0 (const int)
+0:339          'ballot' ( temp 4-component vector of uint)
+0:341      move second child to first child ( temp int)
+0:341        direct index ( temp int)
+0:341          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:341            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341              'invocation' ( temp uint)
+0:341            Constant:
+0:341              1 (const int)
+0:341          Constant:
+0:341            0 (const int)
+0:341        ERROR: Bad aggregation op
+ ( global int)
+0:341          direct index ( temp int)
+0:341            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:341              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:341                Constant:
+0:341                  0 (const int)
+0:341              Constant:
+0:341                1 (const int)
+0:341            Constant:
+0:341              0 (const int)
+0:341          'ballot' ( temp 4-component vector of uint)
+0:342      move second child to first child ( temp 2-component vector of int)
+0:342        vector swizzle ( temp 2-component vector of int)
+0:342          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:342            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342              'invocation' ( temp uint)
+0:342            Constant:
+0:342              1 (const int)
+0:342          Sequence
+0:342            Constant:
+0:342              0 (const int)
+0:342            Constant:
+0:342              1 (const int)
+0:342        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:342          vector swizzle ( temp 2-component vector of int)
+0:342            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:342              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:342                Constant:
+0:342                  1 (const int)
+0:342              Constant:
+0:342                1 (const int)
+0:342            Sequence
+0:342              Constant:
+0:342                0 (const int)
+0:342              Constant:
+0:342                1 (const int)
+0:342          'ballot' ( temp 4-component vector of uint)
+0:343      move second child to first child ( temp 3-component vector of int)
+0:343        vector swizzle ( temp 3-component vector of int)
+0:343          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:343            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:343              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:343              'invocation' ( temp uint)
+0:343            Constant:
+0:343              1 (const int)
+0:343          Sequence
+0:343            Constant:
+0:343              0 (const int)
+0:343            Constant:
+0:343              1 (const int)
+0:343            Constant:
+0:343              2 (const int)
+0:343        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:343          vector swizzle ( temp 3-component vector of int)
+0:343            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:343              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:343                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:343                Constant:
+0:343                  2 (const int)
+0:343              Constant:
+0:343                1 (const int)
+0:343            Sequence
+0:343              Constant:
+0:343                0 (const int)
+0:343              Constant:
+0:343                1 (const int)
+0:343              Constant:
+0:343                2 (const int)
+0:343          'ballot' ( temp 4-component vector of uint)
+0:344      move second child to first child ( temp 4-component vector of int)
+0:344        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:344          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344            'invocation' ( temp uint)
+0:344          Constant:
+0:344            1 (const int)
+0:344        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:344          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:344            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:344              Constant:
+0:344                3 (const int)
+0:344            Constant:
+0:344              1 (const int)
+0:344          'ballot' ( temp 4-component vector of uint)
+0:346      move second child to first child ( temp uint)
+0:346        direct index ( temp uint)
+0:346          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:346            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346              'invocation' ( temp uint)
+0:346            Constant:
+0:346              2 (const int)
+0:346          Constant:
+0:346            0 (const int)
+0:346        ERROR: Bad aggregation op
+ ( global uint)
+0:346          direct index ( temp uint)
+0:346            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:346              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:346                Constant:
+0:346                  0 (const int)
+0:346              Constant:
+0:346                2 (const int)
+0:346            Constant:
+0:346              0 (const int)
+0:346          'ballot' ( temp 4-component vector of uint)
+0:347      move second child to first child ( temp 2-component vector of uint)
+0:347        vector swizzle ( temp 2-component vector of uint)
+0:347          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:347            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347              'invocation' ( temp uint)
+0:347            Constant:
+0:347              2 (const int)
+0:347          Sequence
+0:347            Constant:
+0:347              0 (const int)
+0:347            Constant:
+0:347              1 (const int)
+0:347        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:347          vector swizzle ( temp 2-component vector of uint)
+0:347            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:347              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:347                Constant:
+0:347                  1 (const int)
+0:347              Constant:
+0:347                2 (const int)
+0:347            Sequence
+0:347              Constant:
+0:347                0 (const int)
+0:347              Constant:
+0:347                1 (const int)
+0:347          'ballot' ( temp 4-component vector of uint)
+0:348      move second child to first child ( temp 3-component vector of uint)
+0:348        vector swizzle ( temp 3-component vector of uint)
+0:348          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:348            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:348              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:348              'invocation' ( temp uint)
+0:348            Constant:
+0:348              2 (const int)
+0:348          Sequence
+0:348            Constant:
+0:348              0 (const int)
+0:348            Constant:
+0:348              1 (const int)
+0:348            Constant:
+0:348              2 (const int)
+0:348        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:348          vector swizzle ( temp 3-component vector of uint)
+0:348            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:348              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:348                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:348                Constant:
+0:348                  2 (const int)
+0:348              Constant:
+0:348                2 (const int)
+0:348            Sequence
+0:348              Constant:
+0:348                0 (const int)
+0:348              Constant:
+0:348                1 (const int)
+0:348              Constant:
+0:348                2 (const int)
+0:348          'ballot' ( temp 4-component vector of uint)
+0:349      move second child to first child ( temp 4-component vector of uint)
+0:349        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:349          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349            'invocation' ( temp uint)
+0:349          Constant:
+0:349            2 (const int)
+0:349        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:349          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:349            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:349              Constant:
+0:349                3 (const int)
+0:349            Constant:
+0:349              2 (const int)
+0:349          'ballot' ( temp 4-component vector of uint)
+0:351      move second child to first child ( temp double)
+0:351        direct index ( temp double)
+0:351          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:351            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351              'invocation' ( temp uint)
+0:351            Constant:
+0:351              3 (const int)
+0:351          Constant:
+0:351            0 (const int)
+0:351        ERROR: Bad aggregation op
+ ( global double)
+0:351          direct index ( temp double)
+0:351            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:351              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:351                Constant:
+0:351                  0 (const int)
+0:351              Constant:
+0:351                3 (const int)
+0:351            Constant:
+0:351              0 (const int)
+0:351          'ballot' ( temp 4-component vector of uint)
+0:352      move second child to first child ( temp 2-component vector of double)
+0:352        vector swizzle ( temp 2-component vector of double)
+0:352          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:352            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352              'invocation' ( temp uint)
+0:352            Constant:
+0:352              3 (const int)
+0:352          Sequence
+0:352            Constant:
+0:352              0 (const int)
+0:352            Constant:
+0:352              1 (const int)
+0:352        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:352          vector swizzle ( temp 2-component vector of double)
+0:352            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:352              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:352                Constant:
+0:352                  1 (const int)
+0:352              Constant:
+0:352                3 (const int)
+0:352            Sequence
+0:352              Constant:
+0:352                0 (const int)
+0:352              Constant:
+0:352                1 (const int)
+0:352          'ballot' ( temp 4-component vector of uint)
+0:353      move second child to first child ( temp 3-component vector of double)
+0:353        vector swizzle ( temp 3-component vector of double)
+0:353          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:353            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:353              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:353              'invocation' ( temp uint)
+0:353            Constant:
+0:353              3 (const int)
+0:353          Sequence
+0:353            Constant:
+0:353              0 (const int)
+0:353            Constant:
+0:353              1 (const int)
+0:353            Constant:
+0:353              2 (const int)
+0:353        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:353          vector swizzle ( temp 3-component vector of double)
+0:353            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:353              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:353                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:353                Constant:
+0:353                  2 (const int)
+0:353              Constant:
+0:353                3 (const int)
+0:353            Sequence
+0:353              Constant:
+0:353                0 (const int)
+0:353              Constant:
+0:353                1 (const int)
+0:353              Constant:
+0:353                2 (const int)
+0:353          'ballot' ( temp 4-component vector of uint)
+0:354      move second child to first child ( temp 4-component vector of double)
+0:354        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:354          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354            'invocation' ( temp uint)
+0:354          Constant:
+0:354            3 (const int)
+0:354        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:354          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:354            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:354              Constant:
+0:354                3 (const int)
+0:354            Constant:
+0:354              3 (const int)
+0:354          'ballot' ( temp 4-component vector of uint)
+0:356      move second child to first child ( temp float)
+0:356        direct index ( temp float)
+0:356          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:356            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356              'invocation' ( temp uint)
+0:356            Constant:
+0:356              0 (const int)
+0:356          Constant:
+0:356            0 (const int)
+0:356        ERROR: Bad aggregation op
+ ( global float)
+0:356          direct index ( temp float)
+0:356            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:356              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:356                Constant:
+0:356                  0 (const int)
+0:356              Constant:
+0:356                0 (const int)
+0:356            Constant:
+0:356              0 (const int)
+0:356          'ballot' ( temp 4-component vector of uint)
+0:357      move second child to first child ( temp 2-component vector of float)
+0:357        vector swizzle ( temp 2-component vector of float)
+0:357          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:357            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357              'invocation' ( temp uint)
+0:357            Constant:
+0:357              0 (const int)
+0:357          Sequence
+0:357            Constant:
+0:357              0 (const int)
+0:357            Constant:
+0:357              1 (const int)
+0:357        ERROR: Bad aggregation op
+ ( global 2-component vector of float)
+0:357          vector swizzle ( temp 2-component vector of float)
+0:357            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:357              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:357                Constant:
+0:357                  1 (const int)
+0:357              Constant:
+0:357                0 (const int)
+0:357            Sequence
+0:357              Constant:
+0:357                0 (const int)
+0:357              Constant:
+0:357                1 (const int)
+0:357          'ballot' ( temp 4-component vector of uint)
+0:358      move second child to first child ( temp 3-component vector of float)
+0:358        vector swizzle ( temp 3-component vector of float)
+0:358          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:358            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:358              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:358              'invocation' ( temp uint)
+0:358            Constant:
+0:358              0 (const int)
+0:358          Sequence
+0:358            Constant:
+0:358              0 (const int)
+0:358            Constant:
+0:358              1 (const int)
+0:358            Constant:
+0:358              2 (const int)
+0:358        ERROR: Bad aggregation op
+ ( global 3-component vector of float)
+0:358          vector swizzle ( temp 3-component vector of float)
+0:358            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:358              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:358                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:358                Constant:
+0:358                  2 (const int)
+0:358              Constant:
+0:358                0 (const int)
+0:358            Sequence
+0:358              Constant:
+0:358                0 (const int)
+0:358              Constant:
+0:358                1 (const int)
+0:358              Constant:
+0:358                2 (const int)
+0:358          'ballot' ( temp 4-component vector of uint)
+0:359      move second child to first child ( temp 4-component vector of float)
+0:359        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:359          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359            'invocation' ( temp uint)
+0:359          Constant:
+0:359            0 (const int)
+0:359        ERROR: Bad aggregation op
+ ( global 4-component vector of float)
+0:359          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:359            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:359              Constant:
+0:359                3 (const int)
+0:359            Constant:
+0:359              0 (const int)
+0:359          'ballot' ( temp 4-component vector of uint)
+0:361      move second child to first child ( temp int)
+0:361        direct index ( temp int)
+0:361          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:361            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361              'invocation' ( temp uint)
+0:361            Constant:
+0:361              1 (const int)
+0:361          Constant:
+0:361            0 (const int)
+0:361        ERROR: Bad aggregation op
+ ( global int)
+0:361          direct index ( temp int)
+0:361            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:361              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:361                Constant:
+0:361                  0 (const int)
+0:361              Constant:
+0:361                1 (const int)
+0:361            Constant:
+0:361              0 (const int)
+0:361          'ballot' ( temp 4-component vector of uint)
+0:362      move second child to first child ( temp 2-component vector of int)
+0:362        vector swizzle ( temp 2-component vector of int)
+0:362          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:362            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362              'invocation' ( temp uint)
+0:362            Constant:
+0:362              1 (const int)
+0:362          Sequence
+0:362            Constant:
+0:362              0 (const int)
+0:362            Constant:
+0:362              1 (const int)
+0:362        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:362          vector swizzle ( temp 2-component vector of int)
+0:362            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:362              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:362                Constant:
+0:362                  1 (const int)
+0:362              Constant:
+0:362                1 (const int)
+0:362            Sequence
+0:362              Constant:
+0:362                0 (const int)
+0:362              Constant:
+0:362                1 (const int)
+0:362          'ballot' ( temp 4-component vector of uint)
+0:363      move second child to first child ( temp 3-component vector of int)
+0:363        vector swizzle ( temp 3-component vector of int)
+0:363          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:363            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:363              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:363              'invocation' ( temp uint)
+0:363            Constant:
+0:363              1 (const int)
+0:363          Sequence
+0:363            Constant:
+0:363              0 (const int)
+0:363            Constant:
+0:363              1 (const int)
+0:363            Constant:
+0:363              2 (const int)
+0:363        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:363          vector swizzle ( temp 3-component vector of int)
+0:363            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:363              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:363                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:363                Constant:
+0:363                  2 (const int)
+0:363              Constant:
+0:363                1 (const int)
+0:363            Sequence
+0:363              Constant:
+0:363                0 (const int)
+0:363              Constant:
+0:363                1 (const int)
+0:363              Constant:
+0:363                2 (const int)
+0:363          'ballot' ( temp 4-component vector of uint)
+0:364      move second child to first child ( temp 4-component vector of int)
+0:364        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:364          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364            'invocation' ( temp uint)
+0:364          Constant:
+0:364            1 (const int)
+0:364        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:364          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:364            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:364              Constant:
+0:364                3 (const int)
+0:364            Constant:
+0:364              1 (const int)
+0:364          'ballot' ( temp 4-component vector of uint)
+0:366      move second child to first child ( temp uint)
+0:366        direct index ( temp uint)
+0:366          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:366            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366              'invocation' ( temp uint)
+0:366            Constant:
+0:366              2 (const int)
+0:366          Constant:
+0:366            0 (const int)
+0:366        ERROR: Bad aggregation op
+ ( global uint)
+0:366          direct index ( temp uint)
+0:366            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:366              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:366                Constant:
+0:366                  0 (const int)
+0:366              Constant:
+0:366                2 (const int)
+0:366            Constant:
+0:366              0 (const int)
+0:366          'ballot' ( temp 4-component vector of uint)
+0:367      move second child to first child ( temp 2-component vector of uint)
+0:367        vector swizzle ( temp 2-component vector of uint)
+0:367          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:367            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367              'invocation' ( temp uint)
+0:367            Constant:
+0:367              2 (const int)
+0:367          Sequence
+0:367            Constant:
+0:367              0 (const int)
+0:367            Constant:
+0:367              1 (const int)
+0:367        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:367          vector swizzle ( temp 2-component vector of uint)
+0:367            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:367              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:367                Constant:
+0:367                  1 (const int)
+0:367              Constant:
+0:367                2 (const int)
+0:367            Sequence
+0:367              Constant:
+0:367                0 (const int)
+0:367              Constant:
+0:367                1 (const int)
+0:367          'ballot' ( temp 4-component vector of uint)
+0:368      move second child to first child ( temp 3-component vector of uint)
+0:368        vector swizzle ( temp 3-component vector of uint)
+0:368          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:368            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:368              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:368              'invocation' ( temp uint)
+0:368            Constant:
+0:368              2 (const int)
+0:368          Sequence
+0:368            Constant:
+0:368              0 (const int)
+0:368            Constant:
+0:368              1 (const int)
+0:368            Constant:
+0:368              2 (const int)
+0:368        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:368          vector swizzle ( temp 3-component vector of uint)
+0:368            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:368              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:368                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:368                Constant:
+0:368                  2 (const int)
+0:368              Constant:
+0:368                2 (const int)
+0:368            Sequence
+0:368              Constant:
+0:368                0 (const int)
+0:368              Constant:
+0:368                1 (const int)
+0:368              Constant:
+0:368                2 (const int)
+0:368          'ballot' ( temp 4-component vector of uint)
+0:369      move second child to first child ( temp 4-component vector of uint)
+0:369        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:369          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369            'invocation' ( temp uint)
+0:369          Constant:
+0:369            2 (const int)
+0:369        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:369          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:369            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:369              Constant:
+0:369                3 (const int)
+0:369            Constant:
+0:369              2 (const int)
+0:369          'ballot' ( temp 4-component vector of uint)
+0:371      move second child to first child ( temp double)
+0:371        direct index ( temp double)
+0:371          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:371            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371              'invocation' ( temp uint)
+0:371            Constant:
+0:371              3 (const int)
+0:371          Constant:
+0:371            0 (const int)
+0:371        ERROR: Bad aggregation op
+ ( global double)
+0:371          direct index ( temp double)
+0:371            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:371              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:371                Constant:
+0:371                  0 (const int)
+0:371              Constant:
+0:371                3 (const int)
+0:371            Constant:
+0:371              0 (const int)
+0:371          'ballot' ( temp 4-component vector of uint)
+0:372      move second child to first child ( temp 2-component vector of double)
+0:372        vector swizzle ( temp 2-component vector of double)
+0:372          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:372            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372              'invocation' ( temp uint)
+0:372            Constant:
+0:372              3 (const int)
+0:372          Sequence
+0:372            Constant:
+0:372              0 (const int)
+0:372            Constant:
+0:372              1 (const int)
+0:372        ERROR: Bad aggregation op
+ ( global 2-component vector of double)
+0:372          vector swizzle ( temp 2-component vector of double)
+0:372            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:372              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:372                Constant:
+0:372                  1 (const int)
+0:372              Constant:
+0:372                3 (const int)
+0:372            Sequence
+0:372              Constant:
+0:372                0 (const int)
+0:372              Constant:
+0:372                1 (const int)
+0:372          'ballot' ( temp 4-component vector of uint)
+0:373      move second child to first child ( temp 3-component vector of double)
+0:373        vector swizzle ( temp 3-component vector of double)
+0:373          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:373            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:373              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:373              'invocation' ( temp uint)
+0:373            Constant:
+0:373              3 (const int)
+0:373          Sequence
+0:373            Constant:
+0:373              0 (const int)
+0:373            Constant:
+0:373              1 (const int)
+0:373            Constant:
+0:373              2 (const int)
+0:373        ERROR: Bad aggregation op
+ ( global 3-component vector of double)
+0:373          vector swizzle ( temp 3-component vector of double)
+0:373            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:373              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:373                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:373                Constant:
+0:373                  2 (const int)
+0:373              Constant:
+0:373                3 (const int)
+0:373            Sequence
+0:373              Constant:
+0:373                0 (const int)
+0:373              Constant:
+0:373                1 (const int)
+0:373              Constant:
+0:373                2 (const int)
+0:373          'ballot' ( temp 4-component vector of uint)
+0:374      move second child to first child ( temp 4-component vector of double)
+0:374        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:374          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374            'invocation' ( temp uint)
+0:374          Constant:
+0:374            3 (const int)
+0:374        ERROR: Bad aggregation op
+ ( global 4-component vector of double)
+0:374          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:374            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:374              Constant:
+0:374                3 (const int)
+0:374            Constant:
+0:374              3 (const int)
+0:374          'ballot' ( temp 4-component vector of uint)
+0:376      move second child to first child ( temp int)
+0:376        direct index ( temp int)
+0:376          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:376            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376              'invocation' ( temp uint)
+0:376            Constant:
+0:376              1 (const int)
+0:376          Constant:
+0:376            0 (const int)
+0:376        ERROR: Bad aggregation op
+ ( global int)
+0:376          direct index ( temp int)
+0:376            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:376              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:376                Constant:
+0:376                  0 (const int)
+0:376              Constant:
+0:376                1 (const int)
+0:376            Constant:
+0:376              0 (const int)
+0:376          'ballot' ( temp 4-component vector of uint)
+0:377      move second child to first child ( temp 2-component vector of int)
+0:377        vector swizzle ( temp 2-component vector of int)
+0:377          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:377            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377              'invocation' ( temp uint)
+0:377            Constant:
+0:377              1 (const int)
+0:377          Sequence
+0:377            Constant:
+0:377              0 (const int)
+0:377            Constant:
+0:377              1 (const int)
+0:377        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:377          vector swizzle ( temp 2-component vector of int)
+0:377            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:377              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:377                Constant:
+0:377                  1 (const int)
+0:377              Constant:
+0:377                1 (const int)
+0:377            Sequence
+0:377              Constant:
+0:377                0 (const int)
+0:377              Constant:
+0:377                1 (const int)
+0:377          'ballot' ( temp 4-component vector of uint)
+0:378      move second child to first child ( temp 3-component vector of int)
+0:378        vector swizzle ( temp 3-component vector of int)
+0:378          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:378            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:378              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:378              'invocation' ( temp uint)
+0:378            Constant:
+0:378              1 (const int)
+0:378          Sequence
+0:378            Constant:
+0:378              0 (const int)
+0:378            Constant:
+0:378              1 (const int)
+0:378            Constant:
+0:378              2 (const int)
+0:378        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:378          vector swizzle ( temp 3-component vector of int)
+0:378            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:378              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:378                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:378                Constant:
+0:378                  2 (const int)
+0:378              Constant:
+0:378                1 (const int)
+0:378            Sequence
+0:378              Constant:
+0:378                0 (const int)
+0:378              Constant:
+0:378                1 (const int)
+0:378              Constant:
+0:378                2 (const int)
+0:378          'ballot' ( temp 4-component vector of uint)
+0:379      move second child to first child ( temp 4-component vector of int)
+0:379        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:379          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379            'invocation' ( temp uint)
+0:379          Constant:
+0:379            1 (const int)
+0:379        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:379          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:379            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:379              Constant:
+0:379                3 (const int)
+0:379            Constant:
+0:379              1 (const int)
+0:379          'ballot' ( temp 4-component vector of uint)
+0:381      move second child to first child ( temp uint)
+0:381        direct index ( temp uint)
+0:381          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:381            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381              'invocation' ( temp uint)
+0:381            Constant:
+0:381              2 (const int)
+0:381          Constant:
+0:381            0 (const int)
+0:381        ERROR: Bad aggregation op
+ ( global uint)
+0:381          direct index ( temp uint)
+0:381            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:381              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:381                Constant:
+0:381                  0 (const int)
+0:381              Constant:
+0:381                2 (const int)
+0:381            Constant:
+0:381              0 (const int)
+0:381          'ballot' ( temp 4-component vector of uint)
+0:382      move second child to first child ( temp 2-component vector of uint)
+0:382        vector swizzle ( temp 2-component vector of uint)
+0:382          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:382            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382              'invocation' ( temp uint)
+0:382            Constant:
+0:382              2 (const int)
+0:382          Sequence
+0:382            Constant:
+0:382              0 (const int)
+0:382            Constant:
+0:382              1 (const int)
+0:382        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:382          vector swizzle ( temp 2-component vector of uint)
+0:382            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:382              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:382                Constant:
+0:382                  1 (const int)
+0:382              Constant:
+0:382                2 (const int)
+0:382            Sequence
+0:382              Constant:
+0:382                0 (const int)
+0:382              Constant:
+0:382                1 (const int)
+0:382          'ballot' ( temp 4-component vector of uint)
+0:383      move second child to first child ( temp 3-component vector of uint)
+0:383        vector swizzle ( temp 3-component vector of uint)
+0:383          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:383            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:383              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:383              'invocation' ( temp uint)
+0:383            Constant:
+0:383              2 (const int)
+0:383          Sequence
+0:383            Constant:
+0:383              0 (const int)
+0:383            Constant:
+0:383              1 (const int)
+0:383            Constant:
+0:383              2 (const int)
+0:383        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:383          vector swizzle ( temp 3-component vector of uint)
+0:383            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:383              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:383                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:383                Constant:
+0:383                  2 (const int)
+0:383              Constant:
+0:383                2 (const int)
+0:383            Sequence
+0:383              Constant:
+0:383                0 (const int)
+0:383              Constant:
+0:383                1 (const int)
+0:383              Constant:
+0:383                2 (const int)
+0:383          'ballot' ( temp 4-component vector of uint)
+0:384      move second child to first child ( temp 4-component vector of uint)
+0:384        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:384          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384            'invocation' ( temp uint)
+0:384          Constant:
+0:384            2 (const int)
+0:384        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:384          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:384            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:384              Constant:
+0:384                3 (const int)
+0:384            Constant:
+0:384              2 (const int)
+0:384          'ballot' ( temp 4-component vector of uint)
+0:386      move second child to first child ( temp int)
+0:386        direct index ( temp int)
+0:386          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:386            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386              'invocation' ( temp uint)
+0:386            Constant:
+0:386              1 (const int)
+0:386          Constant:
+0:386            0 (const int)
+0:386        Convert bool to int ( temp int)
+0:386          ERROR: Bad aggregation op
+ ( global bool)
+0:386            Compare Less Than ( temp bool)
+0:386              direct index ( temp int)
+0:386                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:386                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:386                    Constant:
+0:386                      0 (const int)
+0:386                  Constant:
+0:386                    1 (const int)
+0:386                Constant:
+0:386                  0 (const int)
+0:386              Constant:
+0:386                0 (const int)
+0:386            'ballot' ( temp 4-component vector of uint)
+0:387      move second child to first child ( temp 2-component vector of int)
+0:387        vector swizzle ( temp 2-component vector of int)
+0:387          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:387            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387              'invocation' ( temp uint)
+0:387            Constant:
+0:387              1 (const int)
+0:387          Sequence
+0:387            Constant:
+0:387              0 (const int)
+0:387            Constant:
+0:387              1 (const int)
+0:387        Convert bool to int ( temp 2-component vector of int)
+0:387          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:387            Compare Less Than ( global 2-component vector of bool)
+0:387              vector swizzle ( temp 2-component vector of int)
+0:387                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:387                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:387                    Constant:
+0:387                      1 (const int)
+0:387                  Constant:
+0:387                    1 (const int)
+0:387                Sequence
+0:387                  Constant:
+0:387                    0 (const int)
+0:387                  Constant:
+0:387                    1 (const int)
+0:387              Constant:
+0:387                0 (const int)
+0:387                0 (const int)
+0:387            'ballot' ( temp 4-component vector of uint)
+0:388      move second child to first child ( temp 3-component vector of int)
+0:388        vector swizzle ( temp 3-component vector of int)
+0:388          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:388            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:388              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:388              'invocation' ( temp uint)
+0:388            Constant:
+0:388              1 (const int)
+0:388          Sequence
+0:388            Constant:
+0:388              0 (const int)
+0:388            Constant:
+0:388              1 (const int)
+0:388            Constant:
+0:388              2 (const int)
+0:388        Convert bool to int ( temp 3-component vector of int)
+0:388          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:388            Compare Less Than ( global 3-component vector of bool)
+0:388              vector swizzle ( temp 3-component vector of int)
+0:388                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:388                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:388                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:388                    Constant:
+0:388                      1 (const int)
+0:388                  Constant:
+0:388                    1 (const int)
+0:388                Sequence
+0:388                  Constant:
+0:388                    0 (const int)
+0:388                  Constant:
+0:388                    1 (const int)
+0:388                  Constant:
+0:388                    2 (const int)
+0:388              Constant:
+0:388                0 (const int)
+0:388                0 (const int)
+0:388                0 (const int)
+0:388            'ballot' ( temp 4-component vector of uint)
+0:389      move second child to first child ( temp 4-component vector of int)
+0:389        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:389          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389            'invocation' ( temp uint)
+0:389          Constant:
+0:389            1 (const int)
+0:389        Convert bool to int ( temp 4-component vector of int)
+0:389          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:389            Compare Less Than ( global 4-component vector of bool)
+0:389              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:389                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:389                  Constant:
+0:389                    1 (const int)
+0:389                Constant:
+0:389                  1 (const int)
+0:389              Constant:
+0:389                0 (const int)
+0:389                0 (const int)
+0:389                0 (const int)
+0:389                0 (const int)
+0:389            'ballot' ( temp 4-component vector of uint)
+0:391      move second child to first child ( temp int)
+0:391        direct index ( temp int)
+0:391          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:391            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391              'invocation' ( temp uint)
+0:391            Constant:
+0:391              1 (const int)
+0:391          Constant:
+0:391            0 (const int)
+0:391        ERROR: Bad aggregation op
+ ( global int)
+0:391          direct index ( temp int)
+0:391            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:391              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:391                Constant:
+0:391                  0 (const int)
+0:391              Constant:
+0:391                1 (const int)
+0:391            Constant:
+0:391              0 (const int)
+0:391          'ballot' ( temp 4-component vector of uint)
+0:392      move second child to first child ( temp 2-component vector of int)
+0:392        vector swizzle ( temp 2-component vector of int)
+0:392          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:392            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392              'invocation' ( temp uint)
+0:392            Constant:
+0:392              1 (const int)
+0:392          Sequence
+0:392            Constant:
+0:392              0 (const int)
+0:392            Constant:
+0:392              1 (const int)
+0:392        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:392          vector swizzle ( temp 2-component vector of int)
+0:392            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:392              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:392                Constant:
+0:392                  1 (const int)
+0:392              Constant:
+0:392                1 (const int)
+0:392            Sequence
+0:392              Constant:
+0:392                0 (const int)
+0:392              Constant:
+0:392                1 (const int)
+0:392          'ballot' ( temp 4-component vector of uint)
+0:393      move second child to first child ( temp 3-component vector of int)
+0:393        vector swizzle ( temp 3-component vector of int)
+0:393          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:393            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:393              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:393              'invocation' ( temp uint)
+0:393            Constant:
+0:393              1 (const int)
+0:393          Sequence
+0:393            Constant:
+0:393              0 (const int)
+0:393            Constant:
+0:393              1 (const int)
+0:393            Constant:
+0:393              2 (const int)
+0:393        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:393          vector swizzle ( temp 3-component vector of int)
+0:393            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:393              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:393                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:393                Constant:
+0:393                  2 (const int)
+0:393              Constant:
+0:393                1 (const int)
+0:393            Sequence
+0:393              Constant:
+0:393                0 (const int)
+0:393              Constant:
+0:393                1 (const int)
+0:393              Constant:
+0:393                2 (const int)
+0:393          'ballot' ( temp 4-component vector of uint)
+0:394      move second child to first child ( temp 4-component vector of int)
+0:394        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:394          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:394            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:394            'invocation' ( temp uint)
+0:394          Constant:
+0:394            1 (const int)
+0:394        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:394          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:394            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:394              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:394              Constant:
+0:394                3 (const int)
+0:394            Constant:
+0:394              1 (const int)
+0:394          'ballot' ( temp 4-component vector of uint)
+0:396      move second child to first child ( temp uint)
+0:396        direct index ( temp uint)
+0:396          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:396            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:396              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:396              'invocation' ( temp uint)
+0:396            Constant:
+0:396              2 (const int)
+0:396          Constant:
+0:396            0 (const int)
+0:396        ERROR: Bad aggregation op
+ ( global uint)
+0:396          direct index ( temp uint)
+0:396            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:396              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:396                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:396                Constant:
+0:396                  0 (const int)
+0:396              Constant:
+0:396                2 (const int)
+0:396            Constant:
+0:396              0 (const int)
+0:396          'ballot' ( temp 4-component vector of uint)
+0:397      move second child to first child ( temp 2-component vector of uint)
+0:397        vector swizzle ( temp 2-component vector of uint)
+0:397          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:397            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:397              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:397              'invocation' ( temp uint)
+0:397            Constant:
+0:397              2 (const int)
+0:397          Sequence
+0:397            Constant:
+0:397              0 (const int)
+0:397            Constant:
+0:397              1 (const int)
+0:397        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:397          vector swizzle ( temp 2-component vector of uint)
+0:397            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:397              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:397                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:397                Constant:
+0:397                  1 (const int)
+0:397              Constant:
+0:397                2 (const int)
+0:397            Sequence
+0:397              Constant:
+0:397                0 (const int)
+0:397              Constant:
+0:397                1 (const int)
+0:397          'ballot' ( temp 4-component vector of uint)
+0:398      move second child to first child ( temp 3-component vector of uint)
+0:398        vector swizzle ( temp 3-component vector of uint)
+0:398          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:398            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:398              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:398              'invocation' ( temp uint)
+0:398            Constant:
+0:398              2 (const int)
+0:398          Sequence
+0:398            Constant:
+0:398              0 (const int)
+0:398            Constant:
+0:398              1 (const int)
+0:398            Constant:
+0:398              2 (const int)
+0:398        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:398          vector swizzle ( temp 3-component vector of uint)
+0:398            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:398              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:398                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:398                Constant:
+0:398                  2 (const int)
+0:398              Constant:
+0:398                2 (const int)
+0:398            Sequence
+0:398              Constant:
+0:398                0 (const int)
+0:398              Constant:
+0:398                1 (const int)
+0:398              Constant:
+0:398                2 (const int)
+0:398          'ballot' ( temp 4-component vector of uint)
+0:399      move second child to first child ( temp 4-component vector of uint)
+0:399        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:399          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:399            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:399            'invocation' ( temp uint)
+0:399          Constant:
+0:399            2 (const int)
+0:399        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:399          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:399            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:399              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:399              Constant:
+0:399                3 (const int)
+0:399            Constant:
+0:399              2 (const int)
+0:399          'ballot' ( temp 4-component vector of uint)
+0:401      move second child to first child ( temp int)
+0:401        direct index ( temp int)
+0:401          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:401            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:401              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:401              'invocation' ( temp uint)
+0:401            Constant:
+0:401              1 (const int)
+0:401          Constant:
+0:401            0 (const int)
+0:401        Convert bool to int ( temp int)
+0:401          ERROR: Bad aggregation op
+ ( global bool)
+0:401            Compare Less Than ( temp bool)
+0:401              direct index ( temp int)
+0:401                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:401                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:401                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:401                    Constant:
+0:401                      0 (const int)
+0:401                  Constant:
+0:401                    1 (const int)
+0:401                Constant:
+0:401                  0 (const int)
+0:401              Constant:
+0:401                0 (const int)
+0:401            'ballot' ( temp 4-component vector of uint)
+0:402      move second child to first child ( temp 2-component vector of int)
+0:402        vector swizzle ( temp 2-component vector of int)
+0:402          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:402            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:402              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:402              'invocation' ( temp uint)
+0:402            Constant:
+0:402              1 (const int)
+0:402          Sequence
+0:402            Constant:
+0:402              0 (const int)
+0:402            Constant:
+0:402              1 (const int)
+0:402        Convert bool to int ( temp 2-component vector of int)
+0:402          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:402            Compare Less Than ( global 2-component vector of bool)
+0:402              vector swizzle ( temp 2-component vector of int)
+0:402                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:402                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:402                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:402                    Constant:
+0:402                      1 (const int)
+0:402                  Constant:
+0:402                    1 (const int)
+0:402                Sequence
+0:402                  Constant:
+0:402                    0 (const int)
+0:402                  Constant:
+0:402                    1 (const int)
+0:402              Constant:
+0:402                0 (const int)
+0:402                0 (const int)
+0:402            'ballot' ( temp 4-component vector of uint)
+0:403      move second child to first child ( temp 3-component vector of int)
+0:403        vector swizzle ( temp 3-component vector of int)
+0:403          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:403            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:403              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:403              'invocation' ( temp uint)
+0:403            Constant:
+0:403              1 (const int)
+0:403          Sequence
+0:403            Constant:
+0:403              0 (const int)
+0:403            Constant:
+0:403              1 (const int)
+0:403            Constant:
+0:403              2 (const int)
+0:403        Convert bool to int ( temp 3-component vector of int)
+0:403          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:403            Compare Less Than ( global 3-component vector of bool)
+0:403              vector swizzle ( temp 3-component vector of int)
+0:403                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:403                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:403                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:403                    Constant:
+0:403                      1 (const int)
+0:403                  Constant:
+0:403                    1 (const int)
+0:403                Sequence
+0:403                  Constant:
+0:403                    0 (const int)
+0:403                  Constant:
+0:403                    1 (const int)
+0:403                  Constant:
+0:403                    2 (const int)
+0:403              Constant:
+0:403                0 (const int)
+0:403                0 (const int)
+0:403                0 (const int)
+0:403            'ballot' ( temp 4-component vector of uint)
+0:404      move second child to first child ( temp 4-component vector of int)
+0:404        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:404          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:404            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:404            'invocation' ( temp uint)
+0:404          Constant:
+0:404            1 (const int)
+0:404        Convert bool to int ( temp 4-component vector of int)
+0:404          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:404            Compare Less Than ( global 4-component vector of bool)
+0:404              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:404                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:404                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:404                  Constant:
+0:404                    1 (const int)
+0:404                Constant:
+0:404                  1 (const int)
+0:404              Constant:
+0:404                0 (const int)
+0:404                0 (const int)
+0:404                0 (const int)
+0:404                0 (const int)
+0:404            'ballot' ( temp 4-component vector of uint)
+0:406      move second child to first child ( temp int)
+0:406        direct index ( temp int)
+0:406          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:406            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:406              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:406              'invocation' ( temp uint)
+0:406            Constant:
+0:406              1 (const int)
+0:406          Constant:
+0:406            0 (const int)
+0:406        ERROR: Bad aggregation op
+ ( global int)
+0:406          direct index ( temp int)
+0:406            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:406              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:406                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:406                Constant:
+0:406                  0 (const int)
+0:406              Constant:
+0:406                1 (const int)
+0:406            Constant:
+0:406              0 (const int)
+0:406          'ballot' ( temp 4-component vector of uint)
+0:407      move second child to first child ( temp 2-component vector of int)
+0:407        vector swizzle ( temp 2-component vector of int)
+0:407          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:407            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:407              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:407              'invocation' ( temp uint)
+0:407            Constant:
+0:407              1 (const int)
+0:407          Sequence
+0:407            Constant:
+0:407              0 (const int)
+0:407            Constant:
+0:407              1 (const int)
+0:407        ERROR: Bad aggregation op
+ ( global 2-component vector of int)
+0:407          vector swizzle ( temp 2-component vector of int)
+0:407            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:407              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:407                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:407                Constant:
+0:407                  1 (const int)
+0:407              Constant:
+0:407                1 (const int)
+0:407            Sequence
+0:407              Constant:
+0:407                0 (const int)
+0:407              Constant:
+0:407                1 (const int)
+0:407          'ballot' ( temp 4-component vector of uint)
+0:408      move second child to first child ( temp 3-component vector of int)
+0:408        vector swizzle ( temp 3-component vector of int)
+0:408          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:408            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:408              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:408              'invocation' ( temp uint)
+0:408            Constant:
+0:408              1 (const int)
+0:408          Sequence
+0:408            Constant:
+0:408              0 (const int)
+0:408            Constant:
+0:408              1 (const int)
+0:408            Constant:
+0:408              2 (const int)
+0:408        ERROR: Bad aggregation op
+ ( global 3-component vector of int)
+0:408          vector swizzle ( temp 3-component vector of int)
+0:408            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:408              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:408                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:408                Constant:
+0:408                  2 (const int)
+0:408              Constant:
+0:408                1 (const int)
+0:408            Sequence
+0:408              Constant:
+0:408                0 (const int)
+0:408              Constant:
+0:408                1 (const int)
+0:408              Constant:
+0:408                2 (const int)
+0:408          'ballot' ( temp 4-component vector of uint)
+0:409      move second child to first child ( temp 4-component vector of int)
+0:409        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:409          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:409            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:409            'invocation' ( temp uint)
+0:409          Constant:
+0:409            1 (const int)
+0:409        ERROR: Bad aggregation op
+ ( global 4-component vector of int)
+0:409          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:409            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:409              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:409              Constant:
+0:409                3 (const int)
+0:409            Constant:
+0:409              1 (const int)
+0:409          'ballot' ( temp 4-component vector of uint)
+0:411      move second child to first child ( temp uint)
+0:411        direct index ( temp uint)
+0:411          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:411            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:411              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:411              'invocation' ( temp uint)
+0:411            Constant:
+0:411              2 (const int)
+0:411          Constant:
+0:411            0 (const int)
+0:411        ERROR: Bad aggregation op
+ ( global uint)
+0:411          direct index ( temp uint)
+0:411            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:411              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:411                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:411                Constant:
+0:411                  0 (const int)
+0:411              Constant:
+0:411                2 (const int)
+0:411            Constant:
+0:411              0 (const int)
+0:411          'ballot' ( temp 4-component vector of uint)
+0:412      move second child to first child ( temp 2-component vector of uint)
+0:412        vector swizzle ( temp 2-component vector of uint)
+0:412          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:412            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:412              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:412              'invocation' ( temp uint)
+0:412            Constant:
+0:412              2 (const int)
+0:412          Sequence
+0:412            Constant:
+0:412              0 (const int)
+0:412            Constant:
+0:412              1 (const int)
+0:412        ERROR: Bad aggregation op
+ ( global 2-component vector of uint)
+0:412          vector swizzle ( temp 2-component vector of uint)
+0:412            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:412              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:412                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:412                Constant:
+0:412                  1 (const int)
+0:412              Constant:
+0:412                2 (const int)
+0:412            Sequence
+0:412              Constant:
+0:412                0 (const int)
+0:412              Constant:
+0:412                1 (const int)
+0:412          'ballot' ( temp 4-component vector of uint)
+0:413      move second child to first child ( temp 3-component vector of uint)
+0:413        vector swizzle ( temp 3-component vector of uint)
+0:413          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:413            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:413              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:413              'invocation' ( temp uint)
+0:413            Constant:
+0:413              2 (const int)
+0:413          Sequence
+0:413            Constant:
+0:413              0 (const int)
+0:413            Constant:
+0:413              1 (const int)
+0:413            Constant:
+0:413              2 (const int)
+0:413        ERROR: Bad aggregation op
+ ( global 3-component vector of uint)
+0:413          vector swizzle ( temp 3-component vector of uint)
+0:413            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:413              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:413                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:413                Constant:
+0:413                  2 (const int)
+0:413              Constant:
+0:413                2 (const int)
+0:413            Sequence
+0:413              Constant:
+0:413                0 (const int)
+0:413              Constant:
+0:413                1 (const int)
+0:413              Constant:
+0:413                2 (const int)
+0:413          'ballot' ( temp 4-component vector of uint)
+0:414      move second child to first child ( temp 4-component vector of uint)
+0:414        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:414          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:414            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:414            'invocation' ( temp uint)
+0:414          Constant:
+0:414            2 (const int)
+0:414        ERROR: Bad aggregation op
+ ( global 4-component vector of uint)
+0:414          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:414            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:414              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:414              Constant:
+0:414                3 (const int)
+0:414            Constant:
+0:414              2 (const int)
+0:414          'ballot' ( temp 4-component vector of uint)
+0:416      move second child to first child ( temp int)
+0:416        direct index ( temp int)
+0:416          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:416            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:416              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:416              'invocation' ( temp uint)
+0:416            Constant:
+0:416              1 (const int)
+0:416          Constant:
+0:416            0 (const int)
+0:416        Convert bool to int ( temp int)
+0:416          ERROR: Bad aggregation op
+ ( global bool)
+0:416            Compare Less Than ( temp bool)
+0:416              direct index ( temp int)
+0:416                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:416                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:416                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:416                    Constant:
+0:416                      0 (const int)
+0:416                  Constant:
+0:416                    1 (const int)
+0:416                Constant:
+0:416                  0 (const int)
+0:416              Constant:
+0:416                0 (const int)
+0:416            'ballot' ( temp 4-component vector of uint)
+0:417      move second child to first child ( temp 2-component vector of int)
+0:417        vector swizzle ( temp 2-component vector of int)
+0:417          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:417            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:417              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:417              'invocation' ( temp uint)
+0:417            Constant:
+0:417              1 (const int)
+0:417          Sequence
+0:417            Constant:
+0:417              0 (const int)
+0:417            Constant:
+0:417              1 (const int)
+0:417        Convert bool to int ( temp 2-component vector of int)
+0:417          ERROR: Bad aggregation op
+ ( global 2-component vector of bool)
+0:417            Compare Less Than ( global 2-component vector of bool)
+0:417              vector swizzle ( temp 2-component vector of int)
+0:417                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:417                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:417                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:417                    Constant:
+0:417                      1 (const int)
+0:417                  Constant:
+0:417                    1 (const int)
+0:417                Sequence
+0:417                  Constant:
+0:417                    0 (const int)
+0:417                  Constant:
+0:417                    1 (const int)
+0:417              Constant:
+0:417                0 (const int)
+0:417                0 (const int)
+0:417            'ballot' ( temp 4-component vector of uint)
+0:418      move second child to first child ( temp 3-component vector of int)
+0:418        vector swizzle ( temp 3-component vector of int)
+0:418          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:418            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:418              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:418              'invocation' ( temp uint)
+0:418            Constant:
+0:418              1 (const int)
+0:418          Sequence
+0:418            Constant:
+0:418              0 (const int)
+0:418            Constant:
+0:418              1 (const int)
+0:418            Constant:
+0:418              2 (const int)
+0:418        Convert bool to int ( temp 3-component vector of int)
+0:418          ERROR: Bad aggregation op
+ ( global 3-component vector of bool)
+0:418            Compare Less Than ( global 3-component vector of bool)
+0:418              vector swizzle ( temp 3-component vector of int)
+0:418                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:418                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:418                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:418                    Constant:
+0:418                      1 (const int)
+0:418                  Constant:
+0:418                    1 (const int)
+0:418                Sequence
+0:418                  Constant:
+0:418                    0 (const int)
+0:418                  Constant:
+0:418                    1 (const int)
+0:418                  Constant:
+0:418                    2 (const int)
+0:418              Constant:
+0:418                0 (const int)
+0:418                0 (const int)
+0:418                0 (const int)
+0:418            'ballot' ( temp 4-component vector of uint)
+0:419      move second child to first child ( temp 4-component vector of int)
+0:419        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:419          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:419            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:419            'invocation' ( temp uint)
+0:419          Constant:
+0:419            1 (const int)
+0:419        Convert bool to int ( temp 4-component vector of int)
+0:419          ERROR: Bad aggregation op
+ ( global 4-component vector of bool)
+0:419            Compare Less Than ( global 4-component vector of bool)
+0:419              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:419                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:419                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:419                  Constant:
+0:419                    1 (const int)
+0:419                Constant:
+0:419                  1 (const int)
+0:419              Constant:
+0:419                0 (const int)
+0:419                0 (const int)
+0:419                0 (const int)
+0:419                0 (const int)
+0:419            'ballot' ( temp 4-component vector of uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
diff --git a/Test/baseResults/glsl.450.subgroupQuad.comp.out b/Test/baseResults/glsl.450.subgroupQuad.comp.out
new file mode 100644
index 0000000..766975d
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupQuad.comp.out
@@ -0,0 +1,4069 @@
+glsl.450.subgroupQuad.comp
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_quad
+local_size = (8, 1, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      move second child to first child ( temp float)
+0:19        direct index ( temp float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'invocation' ( temp uint)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            0 (const int)
+0:19        subgroupQuadBroadcast ( global float)
+0:19          direct index ( temp float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            1 (const uint)
+0:20      move second child to first child ( temp 2-component vector of float)
+0:20        vector swizzle ( temp 2-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'invocation' ( temp uint)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20        subgroupQuadBroadcast ( global 2-component vector of float)
+0:20          vector swizzle ( temp 2-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                Constant:
+0:20                  1 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20          Constant:
+0:20            1 (const uint)
+0:21      move second child to first child ( temp 3-component vector of float)
+0:21        vector swizzle ( temp 3-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'invocation' ( temp uint)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21            Constant:
+0:21              2 (const int)
+0:21        subgroupQuadBroadcast ( global 3-component vector of float)
+0:21          vector swizzle ( temp 3-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  2 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21              Constant:
+0:21                2 (const int)
+0:21          Constant:
+0:21            1 (const uint)
+0:22      move second child to first child ( temp 4-component vector of float)
+0:22        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            0 (const int)
+0:22        subgroupQuadBroadcast ( global 4-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              Constant:
+0:22                3 (const int)
+0:22            Constant:
+0:22              0 (const int)
+0:22          Constant:
+0:22            1 (const uint)
+0:24      move second child to first child ( temp int)
+0:24        direct index ( temp int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupQuadBroadcast ( global int)
+0:24          direct index ( temp int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:24          Constant:
+0:24            1 (const uint)
+0:25      move second child to first child ( temp 2-component vector of int)
+0:25        vector swizzle ( temp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'invocation' ( temp uint)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupQuadBroadcast ( global 2-component vector of int)
+0:25          vector swizzle ( temp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25          Constant:
+0:25            1 (const uint)
+0:26      move second child to first child ( temp 3-component vector of int)
+0:26        vector swizzle ( temp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupQuadBroadcast ( global 3-component vector of int)
+0:26          vector swizzle ( temp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26          Constant:
+0:26            1 (const uint)
+0:27      move second child to first child ( temp 4-component vector of int)
+0:27        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            1 (const int)
+0:27        subgroupQuadBroadcast ( global 4-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              Constant:
+0:27                3 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27          Constant:
+0:27            1 (const uint)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupQuadBroadcast ( global uint)
+0:29          direct index ( temp uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29          Constant:
+0:29            1 (const uint)
+0:30      move second child to first child ( temp 2-component vector of uint)
+0:30        vector swizzle ( temp 2-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30        subgroupQuadBroadcast ( global 2-component vector of uint)
+0:30          vector swizzle ( temp 2-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                Constant:
+0:30                  1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30          Constant:
+0:30            1 (const uint)
+0:31      move second child to first child ( temp 3-component vector of uint)
+0:31        vector swizzle ( temp 3-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'invocation' ( temp uint)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31        subgroupQuadBroadcast ( global 3-component vector of uint)
+0:31          vector swizzle ( temp 3-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  2 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31          Constant:
+0:31            1 (const uint)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupQuadBroadcast ( global 4-component vector of uint)
+0:32          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              Constant:
+0:32                3 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32          Constant:
+0:32            1 (const uint)
+0:34      move second child to first child ( temp double)
+0:34        direct index ( temp double)
+0:34          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              3 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupQuadBroadcast ( global double)
+0:34          direct index ( temp double)
+0:34            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          Constant:
+0:34            1 (const uint)
+0:35      move second child to first child ( temp 2-component vector of double)
+0:35        vector swizzle ( temp 2-component vector of double)
+0:35          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'invocation' ( temp uint)
+0:35            Constant:
+0:35              3 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35        subgroupQuadBroadcast ( global 2-component vector of double)
+0:35          vector swizzle ( temp 2-component vector of double)
+0:35            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                3 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35          Constant:
+0:35            1 (const uint)
+0:36      move second child to first child ( temp 3-component vector of double)
+0:36        vector swizzle ( temp 3-component vector of double)
+0:36          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              3 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36            Constant:
+0:36              2 (const int)
+0:36        subgroupQuadBroadcast ( global 3-component vector of double)
+0:36          vector swizzle ( temp 3-component vector of double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  2 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              Constant:
+0:36                2 (const int)
+0:36          Constant:
+0:36            1 (const uint)
+0:37      move second child to first child ( temp 4-component vector of double)
+0:37        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            3 (const int)
+0:37        subgroupQuadBroadcast ( global 4-component vector of double)
+0:37          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              Constant:
+0:37                3 (const int)
+0:37            Constant:
+0:37              3 (const int)
+0:37          Constant:
+0:37            1 (const uint)
+0:39      move second child to first child ( temp int)
+0:39        direct index ( temp int)
+0:39          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'invocation' ( temp uint)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Constant:
+0:39            0 (const int)
+0:39        Convert bool to int ( temp int)
+0:39          subgroupQuadBroadcast ( global bool)
+0:39            Compare Less Than ( temp bool)
+0:39              direct index ( temp int)
+0:39                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    Constant:
+0:39                      0 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              1 (const uint)
+0:40      move second child to first child ( temp 2-component vector of int)
+0:40        vector swizzle ( temp 2-component vector of int)
+0:40          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'invocation' ( temp uint)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40        Convert bool to int ( temp 2-component vector of int)
+0:40          subgroupQuadBroadcast ( global 2-component vector of bool)
+0:40            Compare Less Than ( global 2-component vector of bool)
+0:40              vector swizzle ( temp 2-component vector of int)
+0:40                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    Constant:
+0:40                      1 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Sequence
+0:40                  Constant:
+0:40                    0 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40                0 (const int)
+0:40            Constant:
+0:40              1 (const uint)
+0:41      move second child to first child ( temp 3-component vector of int)
+0:41        vector swizzle ( temp 3-component vector of int)
+0:41          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'invocation' ( temp uint)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41            Constant:
+0:41              2 (const int)
+0:41        Convert bool to int ( temp 3-component vector of int)
+0:41          subgroupQuadBroadcast ( global 3-component vector of bool)
+0:41            Compare Less Than ( global 3-component vector of bool)
+0:41              vector swizzle ( temp 3-component vector of int)
+0:41                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    Constant:
+0:41                      1 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                Sequence
+0:41                  Constant:
+0:41                    0 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                  Constant:
+0:41                    2 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41                0 (const int)
+0:41                0 (const int)
+0:41            Constant:
+0:41              1 (const uint)
+0:42      move second child to first child ( temp 4-component vector of int)
+0:42        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            1 (const int)
+0:42        Convert bool to int ( temp 4-component vector of int)
+0:42          subgroupQuadBroadcast ( global 4-component vector of bool)
+0:42            Compare Less Than ( global 4-component vector of bool)
+0:42              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  Constant:
+0:42                    1 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:42              Constant:
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42            Constant:
+0:42              1 (const uint)
+0:44      move second child to first child ( temp float)
+0:44        direct index ( temp float)
+0:44          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'invocation' ( temp uint)
+0:44            Constant:
+0:44              0 (const int)
+0:44          Constant:
+0:44            0 (const int)
+0:44        subgroupQuadSwapHorizontal ( global float)
+0:44          direct index ( temp float)
+0:44            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                0 (const int)
+0:44            Constant:
+0:44              0 (const int)
+0:45      move second child to first child ( temp 2-component vector of float)
+0:45        vector swizzle ( temp 2-component vector of float)
+0:45          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'invocation' ( temp uint)
+0:45            Constant:
+0:45              0 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45        subgroupQuadSwapHorizontal ( global 2-component vector of float)
+0:45          vector swizzle ( temp 2-component vector of float)
+0:45            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                Constant:
+0:45                  1 (const int)
+0:45              Constant:
+0:45                0 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:46      move second child to first child ( temp 3-component vector of float)
+0:46        vector swizzle ( temp 3-component vector of float)
+0:46          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              0 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46        subgroupQuadSwapHorizontal ( global 3-component vector of float)
+0:46          vector swizzle ( temp 3-component vector of float)
+0:46            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                0 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:47      move second child to first child ( temp 4-component vector of float)
+0:47        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'invocation' ( temp uint)
+0:47          Constant:
+0:47            0 (const int)
+0:47        subgroupQuadSwapHorizontal ( global 4-component vector of float)
+0:47          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              Constant:
+0:47                3 (const int)
+0:47            Constant:
+0:47              0 (const int)
+0:49      move second child to first child ( temp int)
+0:49        direct index ( temp int)
+0:49          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'invocation' ( temp uint)
+0:49            Constant:
+0:49              1 (const int)
+0:49          Constant:
+0:49            0 (const int)
+0:49        subgroupQuadSwapHorizontal ( global int)
+0:49          direct index ( temp int)
+0:49            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:50      move second child to first child ( temp 2-component vector of int)
+0:50        vector swizzle ( temp 2-component vector of int)
+0:50          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'invocation' ( temp uint)
+0:50            Constant:
+0:50              1 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50        subgroupQuadSwapHorizontal ( global 2-component vector of int)
+0:50          vector swizzle ( temp 2-component vector of int)
+0:50            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:51      move second child to first child ( temp 3-component vector of int)
+0:51        vector swizzle ( temp 3-component vector of int)
+0:51          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              1 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51        subgroupQuadSwapHorizontal ( global 3-component vector of int)
+0:51          vector swizzle ( temp 3-component vector of int)
+0:51            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  2 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:52      move second child to first child ( temp 4-component vector of int)
+0:52        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'invocation' ( temp uint)
+0:52          Constant:
+0:52            1 (const int)
+0:52        subgroupQuadSwapHorizontal ( global 4-component vector of int)
+0:52          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              Constant:
+0:52                3 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:54      move second child to first child ( temp uint)
+0:54        direct index ( temp uint)
+0:54          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'invocation' ( temp uint)
+0:54            Constant:
+0:54              2 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupQuadSwapHorizontal ( global uint)
+0:54          direct index ( temp uint)
+0:54            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                Constant:
+0:54                  0 (const int)
+0:54              Constant:
+0:54                2 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:55      move second child to first child ( temp 2-component vector of uint)
+0:55        vector swizzle ( temp 2-component vector of uint)
+0:55          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'invocation' ( temp uint)
+0:55            Constant:
+0:55              2 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55        subgroupQuadSwapHorizontal ( global 2-component vector of uint)
+0:55          vector swizzle ( temp 2-component vector of uint)
+0:55            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Constant:
+0:55                2 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:56      move second child to first child ( temp 3-component vector of uint)
+0:56        vector swizzle ( temp 3-component vector of uint)
+0:56          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              2 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56            Constant:
+0:56              2 (const int)
+0:56        subgroupQuadSwapHorizontal ( global 3-component vector of uint)
+0:56          vector swizzle ( temp 3-component vector of uint)
+0:56            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  2 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:57      move second child to first child ( temp 4-component vector of uint)
+0:57        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'invocation' ( temp uint)
+0:57          Constant:
+0:57            2 (const int)
+0:57        subgroupQuadSwapHorizontal ( global 4-component vector of uint)
+0:57          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              Constant:
+0:57                3 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:59      move second child to first child ( temp double)
+0:59        direct index ( temp double)
+0:59          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'invocation' ( temp uint)
+0:59            Constant:
+0:59              3 (const int)
+0:59          Constant:
+0:59            0 (const int)
+0:59        subgroupQuadSwapHorizontal ( global double)
+0:59          direct index ( temp double)
+0:59            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                Constant:
+0:59                  0 (const int)
+0:59              Constant:
+0:59                3 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:60      move second child to first child ( temp 2-component vector of double)
+0:60        vector swizzle ( temp 2-component vector of double)
+0:60          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'invocation' ( temp uint)
+0:60            Constant:
+0:60              3 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60        subgroupQuadSwapHorizontal ( global 2-component vector of double)
+0:60          vector swizzle ( temp 2-component vector of double)
+0:60            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                3 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:61      move second child to first child ( temp 3-component vector of double)
+0:61        vector swizzle ( temp 3-component vector of double)
+0:61          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              3 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61        subgroupQuadSwapHorizontal ( global 3-component vector of double)
+0:61          vector swizzle ( temp 3-component vector of double)
+0:61            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  2 (const int)
+0:61              Constant:
+0:61                3 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61              Constant:
+0:61                2 (const int)
+0:62      move second child to first child ( temp 4-component vector of double)
+0:62        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'invocation' ( temp uint)
+0:62          Constant:
+0:62            3 (const int)
+0:62        subgroupQuadSwapHorizontal ( global 4-component vector of double)
+0:62          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              Constant:
+0:62                3 (const int)
+0:62            Constant:
+0:62              3 (const int)
+0:64      move second child to first child ( temp int)
+0:64        direct index ( temp int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'invocation' ( temp uint)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Constant:
+0:64            0 (const int)
+0:64        Convert bool to int ( temp int)
+0:64          subgroupQuadSwapHorizontal ( global bool)
+0:64            Compare Less Than ( temp bool)
+0:64              direct index ( temp int)
+0:64                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    Constant:
+0:64                      0 (const int)
+0:64                  Constant:
+0:64                    1 (const int)
+0:64                Constant:
+0:64                  0 (const int)
+0:64              Constant:
+0:64                0 (const int)
+0:65      move second child to first child ( temp 2-component vector of int)
+0:65        vector swizzle ( temp 2-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'invocation' ( temp uint)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65        Convert bool to int ( temp 2-component vector of int)
+0:65          subgroupQuadSwapHorizontal ( global 2-component vector of bool)
+0:65            Compare Less Than ( global 2-component vector of bool)
+0:65              vector swizzle ( temp 2-component vector of int)
+0:65                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    Constant:
+0:65                      1 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65                Sequence
+0:65                  Constant:
+0:65                    0 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65                0 (const int)
+0:66      move second child to first child ( temp 3-component vector of int)
+0:66        vector swizzle ( temp 3-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              1 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66        Convert bool to int ( temp 3-component vector of int)
+0:66          subgroupQuadSwapHorizontal ( global 3-component vector of bool)
+0:66            Compare Less Than ( global 3-component vector of bool)
+0:66              vector swizzle ( temp 3-component vector of int)
+0:66                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    Constant:
+0:66                      1 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                Sequence
+0:66                  Constant:
+0:66                    0 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                  Constant:
+0:66                    2 (const int)
+0:66              Constant:
+0:66                0 (const int)
+0:66                0 (const int)
+0:66                0 (const int)
+0:67      move second child to first child ( temp 4-component vector of int)
+0:67        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'invocation' ( temp uint)
+0:67          Constant:
+0:67            1 (const int)
+0:67        Convert bool to int ( temp 4-component vector of int)
+0:67          subgroupQuadSwapHorizontal ( global 4-component vector of bool)
+0:67            Compare Less Than ( global 4-component vector of bool)
+0:67              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  Constant:
+0:67                    1 (const int)
+0:67                Constant:
+0:67                  1 (const int)
+0:67              Constant:
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:69      move second child to first child ( temp float)
+0:69        direct index ( temp float)
+0:69          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:69            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'invocation' ( temp uint)
+0:69            Constant:
+0:69              0 (const int)
+0:69          Constant:
+0:69            0 (const int)
+0:69        subgroupQuadSwapVertical ( global float)
+0:69          direct index ( temp float)
+0:69            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                Constant:
+0:69                  0 (const int)
+0:69              Constant:
+0:69                0 (const int)
+0:69            Constant:
+0:69              0 (const int)
+0:70      move second child to first child ( temp 2-component vector of float)
+0:70        vector swizzle ( temp 2-component vector of float)
+0:70          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:70            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'invocation' ( temp uint)
+0:70            Constant:
+0:70              0 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70        subgroupQuadSwapVertical ( global 2-component vector of float)
+0:70          vector swizzle ( temp 2-component vector of float)
+0:70            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                Constant:
+0:70                  1 (const int)
+0:70              Constant:
+0:70                0 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:71      move second child to first child ( temp 3-component vector of float)
+0:71        vector swizzle ( temp 3-component vector of float)
+0:71          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:71            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'invocation' ( temp uint)
+0:71            Constant:
+0:71              0 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71            Constant:
+0:71              2 (const int)
+0:71        subgroupQuadSwapVertical ( global 3-component vector of float)
+0:71          vector swizzle ( temp 3-component vector of float)
+0:71            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                Constant:
+0:71                  2 (const int)
+0:71              Constant:
+0:71                0 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71              Constant:
+0:71                2 (const int)
+0:72      move second child to first child ( temp 4-component vector of float)
+0:72        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:72          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'invocation' ( temp uint)
+0:72          Constant:
+0:72            0 (const int)
+0:72        subgroupQuadSwapVertical ( global 4-component vector of float)
+0:72          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:72            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              Constant:
+0:72                3 (const int)
+0:72            Constant:
+0:72              0 (const int)
+0:74      move second child to first child ( temp int)
+0:74        direct index ( temp int)
+0:74          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:74            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'invocation' ( temp uint)
+0:74            Constant:
+0:74              1 (const int)
+0:74          Constant:
+0:74            0 (const int)
+0:74        subgroupQuadSwapVertical ( global int)
+0:74          direct index ( temp int)
+0:74            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:74              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                Constant:
+0:74                  0 (const int)
+0:74              Constant:
+0:74                1 (const int)
+0:74            Constant:
+0:74              0 (const int)
+0:75      move second child to first child ( temp 2-component vector of int)
+0:75        vector swizzle ( temp 2-component vector of int)
+0:75          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:75            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'invocation' ( temp uint)
+0:75            Constant:
+0:75              1 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75        subgroupQuadSwapVertical ( global 2-component vector of int)
+0:75          vector swizzle ( temp 2-component vector of int)
+0:75            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                Constant:
+0:75                  1 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:75            Sequence
+0:75              Constant:
+0:75                0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:76      move second child to first child ( temp 3-component vector of int)
+0:76        vector swizzle ( temp 3-component vector of int)
+0:76          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:76            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'invocation' ( temp uint)
+0:76            Constant:
+0:76              1 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76            Constant:
+0:76              2 (const int)
+0:76        subgroupQuadSwapVertical ( global 3-component vector of int)
+0:76          vector swizzle ( temp 3-component vector of int)
+0:76            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                Constant:
+0:76                  2 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76              Constant:
+0:76                2 (const int)
+0:77      move second child to first child ( temp 4-component vector of int)
+0:77        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:77          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'invocation' ( temp uint)
+0:77          Constant:
+0:77            1 (const int)
+0:77        subgroupQuadSwapVertical ( global 4-component vector of int)
+0:77          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:77            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              Constant:
+0:77                3 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:79      move second child to first child ( temp uint)
+0:79        direct index ( temp uint)
+0:79          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:79            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'invocation' ( temp uint)
+0:79            Constant:
+0:79              2 (const int)
+0:79          Constant:
+0:79            0 (const int)
+0:79        subgroupQuadSwapVertical ( global uint)
+0:79          direct index ( temp uint)
+0:79            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                Constant:
+0:79                  0 (const int)
+0:79              Constant:
+0:79                2 (const int)
+0:79            Constant:
+0:79              0 (const int)
+0:80      move second child to first child ( temp 2-component vector of uint)
+0:80        vector swizzle ( temp 2-component vector of uint)
+0:80          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:80            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'invocation' ( temp uint)
+0:80            Constant:
+0:80              2 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80        subgroupQuadSwapVertical ( global 2-component vector of uint)
+0:80          vector swizzle ( temp 2-component vector of uint)
+0:80            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                Constant:
+0:80                  1 (const int)
+0:80              Constant:
+0:80                2 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:81      move second child to first child ( temp 3-component vector of uint)
+0:81        vector swizzle ( temp 3-component vector of uint)
+0:81          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:81            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'invocation' ( temp uint)
+0:81            Constant:
+0:81              2 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81            Constant:
+0:81              2 (const int)
+0:81        subgroupQuadSwapVertical ( global 3-component vector of uint)
+0:81          vector swizzle ( temp 3-component vector of uint)
+0:81            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                Constant:
+0:81                  2 (const int)
+0:81              Constant:
+0:81                2 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81              Constant:
+0:81                2 (const int)
+0:82      move second child to first child ( temp 4-component vector of uint)
+0:82        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:82          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'invocation' ( temp uint)
+0:82          Constant:
+0:82            2 (const int)
+0:82        subgroupQuadSwapVertical ( global 4-component vector of uint)
+0:82          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:82            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              Constant:
+0:82                3 (const int)
+0:82            Constant:
+0:82              2 (const int)
+0:84      move second child to first child ( temp double)
+0:84        direct index ( temp double)
+0:84          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:84            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'invocation' ( temp uint)
+0:84            Constant:
+0:84              3 (const int)
+0:84          Constant:
+0:84            0 (const int)
+0:84        subgroupQuadSwapVertical ( global double)
+0:84          direct index ( temp double)
+0:84            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                Constant:
+0:84                  0 (const int)
+0:84              Constant:
+0:84                3 (const int)
+0:84            Constant:
+0:84              0 (const int)
+0:85      move second child to first child ( temp 2-component vector of double)
+0:85        vector swizzle ( temp 2-component vector of double)
+0:85          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:85            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'invocation' ( temp uint)
+0:85            Constant:
+0:85              3 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85        subgroupQuadSwapVertical ( global 2-component vector of double)
+0:85          vector swizzle ( temp 2-component vector of double)
+0:85            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                Constant:
+0:85                  1 (const int)
+0:85              Constant:
+0:85                3 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:86      move second child to first child ( temp 3-component vector of double)
+0:86        vector swizzle ( temp 3-component vector of double)
+0:86          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:86            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'invocation' ( temp uint)
+0:86            Constant:
+0:86              3 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86        subgroupQuadSwapVertical ( global 3-component vector of double)
+0:86          vector swizzle ( temp 3-component vector of double)
+0:86            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                Constant:
+0:86                  2 (const int)
+0:86              Constant:
+0:86                3 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86              Constant:
+0:86                2 (const int)
+0:87      move second child to first child ( temp 4-component vector of double)
+0:87        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:87          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'invocation' ( temp uint)
+0:87          Constant:
+0:87            3 (const int)
+0:87        subgroupQuadSwapVertical ( global 4-component vector of double)
+0:87          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:87            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              Constant:
+0:87                3 (const int)
+0:87            Constant:
+0:87              3 (const int)
+0:89      move second child to first child ( temp int)
+0:89        direct index ( temp int)
+0:89          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:89            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'invocation' ( temp uint)
+0:89            Constant:
+0:89              1 (const int)
+0:89          Constant:
+0:89            0 (const int)
+0:89        Convert bool to int ( temp int)
+0:89          subgroupQuadSwapVertical ( global bool)
+0:89            Compare Less Than ( temp bool)
+0:89              direct index ( temp int)
+0:89                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:89                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                    Constant:
+0:89                      0 (const int)
+0:89                  Constant:
+0:89                    1 (const int)
+0:89                Constant:
+0:89                  0 (const int)
+0:89              Constant:
+0:89                0 (const int)
+0:90      move second child to first child ( temp 2-component vector of int)
+0:90        vector swizzle ( temp 2-component vector of int)
+0:90          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:90            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'invocation' ( temp uint)
+0:90            Constant:
+0:90              1 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90        Convert bool to int ( temp 2-component vector of int)
+0:90          subgroupQuadSwapVertical ( global 2-component vector of bool)
+0:90            Compare Less Than ( global 2-component vector of bool)
+0:90              vector swizzle ( temp 2-component vector of int)
+0:90                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:90                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                    Constant:
+0:90                      1 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90                Sequence
+0:90                  Constant:
+0:90                    0 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90              Constant:
+0:90                0 (const int)
+0:90                0 (const int)
+0:91      move second child to first child ( temp 3-component vector of int)
+0:91        vector swizzle ( temp 3-component vector of int)
+0:91          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:91            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'invocation' ( temp uint)
+0:91            Constant:
+0:91              1 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91            Constant:
+0:91              2 (const int)
+0:91        Convert bool to int ( temp 3-component vector of int)
+0:91          subgroupQuadSwapVertical ( global 3-component vector of bool)
+0:91            Compare Less Than ( global 3-component vector of bool)
+0:91              vector swizzle ( temp 3-component vector of int)
+0:91                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:91                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                    Constant:
+0:91                      1 (const int)
+0:91                  Constant:
+0:91                    1 (const int)
+0:91                Sequence
+0:91                  Constant:
+0:91                    0 (const int)
+0:91                  Constant:
+0:91                    1 (const int)
+0:91                  Constant:
+0:91                    2 (const int)
+0:91              Constant:
+0:91                0 (const int)
+0:91                0 (const int)
+0:91                0 (const int)
+0:92      move second child to first child ( temp 4-component vector of int)
+0:92        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:92          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'invocation' ( temp uint)
+0:92          Constant:
+0:92            1 (const int)
+0:92        Convert bool to int ( temp 4-component vector of int)
+0:92          subgroupQuadSwapVertical ( global 4-component vector of bool)
+0:92            Compare Less Than ( global 4-component vector of bool)
+0:92              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:92                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92                  Constant:
+0:92                    1 (const int)
+0:92                Constant:
+0:92                  1 (const int)
+0:92              Constant:
+0:92                0 (const int)
+0:92                0 (const int)
+0:92                0 (const int)
+0:92                0 (const int)
+0:94      move second child to first child ( temp float)
+0:94        direct index ( temp float)
+0:94          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:94            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'invocation' ( temp uint)
+0:94            Constant:
+0:94              0 (const int)
+0:94          Constant:
+0:94            0 (const int)
+0:94        subgroupQuadSwapDiagonal ( global float)
+0:94          direct index ( temp float)
+0:94            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:94              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                Constant:
+0:94                  0 (const int)
+0:94              Constant:
+0:94                0 (const int)
+0:94            Constant:
+0:94              0 (const int)
+0:95      move second child to first child ( temp 2-component vector of float)
+0:95        vector swizzle ( temp 2-component vector of float)
+0:95          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:95            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'invocation' ( temp uint)
+0:95            Constant:
+0:95              0 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95        subgroupQuadSwapDiagonal ( global 2-component vector of float)
+0:95          vector swizzle ( temp 2-component vector of float)
+0:95            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                Constant:
+0:95                  1 (const int)
+0:95              Constant:
+0:95                0 (const int)
+0:95            Sequence
+0:95              Constant:
+0:95                0 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:96      move second child to first child ( temp 3-component vector of float)
+0:96        vector swizzle ( temp 3-component vector of float)
+0:96          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:96            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'invocation' ( temp uint)
+0:96            Constant:
+0:96              0 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96            Constant:
+0:96              2 (const int)
+0:96        subgroupQuadSwapDiagonal ( global 3-component vector of float)
+0:96          vector swizzle ( temp 3-component vector of float)
+0:96            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                Constant:
+0:96                  2 (const int)
+0:96              Constant:
+0:96                0 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:96              Constant:
+0:96                2 (const int)
+0:97      move second child to first child ( temp 4-component vector of float)
+0:97        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:97          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'invocation' ( temp uint)
+0:97          Constant:
+0:97            0 (const int)
+0:97        subgroupQuadSwapDiagonal ( global 4-component vector of float)
+0:97          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:97            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              Constant:
+0:97                3 (const int)
+0:97            Constant:
+0:97              0 (const int)
+0:99      move second child to first child ( temp int)
+0:99        direct index ( temp int)
+0:99          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'invocation' ( temp uint)
+0:99            Constant:
+0:99              1 (const int)
+0:99          Constant:
+0:99            0 (const int)
+0:99        subgroupQuadSwapDiagonal ( global int)
+0:99          direct index ( temp int)
+0:99            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                Constant:
+0:99                  0 (const int)
+0:99              Constant:
+0:99                1 (const int)
+0:99            Constant:
+0:99              0 (const int)
+0:100      move second child to first child ( temp 2-component vector of int)
+0:100        vector swizzle ( temp 2-component vector of int)
+0:100          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'invocation' ( temp uint)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Sequence
+0:100            Constant:
+0:100              0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100        subgroupQuadSwapDiagonal ( global 2-component vector of int)
+0:100          vector swizzle ( temp 2-component vector of int)
+0:100            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                Constant:
+0:100                  1 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Sequence
+0:100              Constant:
+0:100                0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:101      move second child to first child ( temp 3-component vector of int)
+0:101        vector swizzle ( temp 3-component vector of int)
+0:101          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'invocation' ( temp uint)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101            Constant:
+0:101              2 (const int)
+0:101        subgroupQuadSwapDiagonal ( global 3-component vector of int)
+0:101          vector swizzle ( temp 3-component vector of int)
+0:101            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                Constant:
+0:101                  2 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101              Constant:
+0:101                2 (const int)
+0:102      move second child to first child ( temp 4-component vector of int)
+0:102        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'invocation' ( temp uint)
+0:102          Constant:
+0:102            1 (const int)
+0:102        subgroupQuadSwapDiagonal ( global 4-component vector of int)
+0:102          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              Constant:
+0:102                3 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:104      move second child to first child ( temp uint)
+0:104        direct index ( temp uint)
+0:104          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'invocation' ( temp uint)
+0:104            Constant:
+0:104              2 (const int)
+0:104          Constant:
+0:104            0 (const int)
+0:104        subgroupQuadSwapDiagonal ( global uint)
+0:104          direct index ( temp uint)
+0:104            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                Constant:
+0:104                  0 (const int)
+0:104              Constant:
+0:104                2 (const int)
+0:104            Constant:
+0:104              0 (const int)
+0:105      move second child to first child ( temp 2-component vector of uint)
+0:105        vector swizzle ( temp 2-component vector of uint)
+0:105          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'invocation' ( temp uint)
+0:105            Constant:
+0:105              2 (const int)
+0:105          Sequence
+0:105            Constant:
+0:105              0 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105        subgroupQuadSwapDiagonal ( global 2-component vector of uint)
+0:105          vector swizzle ( temp 2-component vector of uint)
+0:105            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                Constant:
+0:105                  1 (const int)
+0:105              Constant:
+0:105                2 (const int)
+0:105            Sequence
+0:105              Constant:
+0:105                0 (const int)
+0:105              Constant:
+0:105                1 (const int)
+0:106      move second child to first child ( temp 3-component vector of uint)
+0:106        vector swizzle ( temp 3-component vector of uint)
+0:106          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'invocation' ( temp uint)
+0:106            Constant:
+0:106              2 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106            Constant:
+0:106              2 (const int)
+0:106        subgroupQuadSwapDiagonal ( global 3-component vector of uint)
+0:106          vector swizzle ( temp 3-component vector of uint)
+0:106            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                Constant:
+0:106                  2 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:107      move second child to first child ( temp 4-component vector of uint)
+0:107        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'invocation' ( temp uint)
+0:107          Constant:
+0:107            2 (const int)
+0:107        subgroupQuadSwapDiagonal ( global 4-component vector of uint)
+0:107          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              Constant:
+0:107                3 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:109      move second child to first child ( temp double)
+0:109        direct index ( temp double)
+0:109          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:109            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'invocation' ( temp uint)
+0:109            Constant:
+0:109              3 (const int)
+0:109          Constant:
+0:109            0 (const int)
+0:109        subgroupQuadSwapDiagonal ( global double)
+0:109          direct index ( temp double)
+0:109            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:109              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                Constant:
+0:109                  0 (const int)
+0:109              Constant:
+0:109                3 (const int)
+0:109            Constant:
+0:109              0 (const int)
+0:110      move second child to first child ( temp 2-component vector of double)
+0:110        vector swizzle ( temp 2-component vector of double)
+0:110          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:110            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'invocation' ( temp uint)
+0:110            Constant:
+0:110              3 (const int)
+0:110          Sequence
+0:110            Constant:
+0:110              0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110        subgroupQuadSwapDiagonal ( global 2-component vector of double)
+0:110          vector swizzle ( temp 2-component vector of double)
+0:110            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:110              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                Constant:
+0:110                  1 (const int)
+0:110              Constant:
+0:110                3 (const int)
+0:110            Sequence
+0:110              Constant:
+0:110                0 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:111      move second child to first child ( temp 3-component vector of double)
+0:111        vector swizzle ( temp 3-component vector of double)
+0:111          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:111            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'invocation' ( temp uint)
+0:111            Constant:
+0:111              3 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111            Constant:
+0:111              2 (const int)
+0:111        subgroupQuadSwapDiagonal ( global 3-component vector of double)
+0:111          vector swizzle ( temp 3-component vector of double)
+0:111            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:111              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                Constant:
+0:111                  2 (const int)
+0:111              Constant:
+0:111                3 (const int)
+0:111            Sequence
+0:111              Constant:
+0:111                0 (const int)
+0:111              Constant:
+0:111                1 (const int)
+0:111              Constant:
+0:111                2 (const int)
+0:112      move second child to first child ( temp 4-component vector of double)
+0:112        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:112          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'invocation' ( temp uint)
+0:112          Constant:
+0:112            3 (const int)
+0:112        subgroupQuadSwapDiagonal ( global 4-component vector of double)
+0:112          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:112            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112              Constant:
+0:112                3 (const int)
+0:112            Constant:
+0:112              3 (const int)
+0:114      move second child to first child ( temp int)
+0:114        direct index ( temp int)
+0:114          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'invocation' ( temp uint)
+0:114            Constant:
+0:114              1 (const int)
+0:114          Constant:
+0:114            0 (const int)
+0:114        Convert bool to int ( temp int)
+0:114          subgroupQuadSwapDiagonal ( global bool)
+0:114            Compare Less Than ( temp bool)
+0:114              direct index ( temp int)
+0:114                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                    Constant:
+0:114                      0 (const int)
+0:114                  Constant:
+0:114                    1 (const int)
+0:114                Constant:
+0:114                  0 (const int)
+0:114              Constant:
+0:114                0 (const int)
+0:115      move second child to first child ( temp 2-component vector of int)
+0:115        vector swizzle ( temp 2-component vector of int)
+0:115          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'invocation' ( temp uint)
+0:115            Constant:
+0:115              1 (const int)
+0:115          Sequence
+0:115            Constant:
+0:115              0 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115        Convert bool to int ( temp 2-component vector of int)
+0:115          subgroupQuadSwapDiagonal ( global 2-component vector of bool)
+0:115            Compare Less Than ( global 2-component vector of bool)
+0:115              vector swizzle ( temp 2-component vector of int)
+0:115                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                    Constant:
+0:115                      1 (const int)
+0:115                  Constant:
+0:115                    1 (const int)
+0:115                Sequence
+0:115                  Constant:
+0:115                    0 (const int)
+0:115                  Constant:
+0:115                    1 (const int)
+0:115              Constant:
+0:115                0 (const int)
+0:115                0 (const int)
+0:116      move second child to first child ( temp 3-component vector of int)
+0:116        vector swizzle ( temp 3-component vector of int)
+0:116          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'invocation' ( temp uint)
+0:116            Constant:
+0:116              1 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116            Constant:
+0:116              2 (const int)
+0:116        Convert bool to int ( temp 3-component vector of int)
+0:116          subgroupQuadSwapDiagonal ( global 3-component vector of bool)
+0:116            Compare Less Than ( global 3-component vector of bool)
+0:116              vector swizzle ( temp 3-component vector of int)
+0:116                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                    Constant:
+0:116                      1 (const int)
+0:116                  Constant:
+0:116                    1 (const int)
+0:116                Sequence
+0:116                  Constant:
+0:116                    0 (const int)
+0:116                  Constant:
+0:116                    1 (const int)
+0:116                  Constant:
+0:116                    2 (const int)
+0:116              Constant:
+0:116                0 (const int)
+0:116                0 (const int)
+0:116                0 (const int)
+0:117      move second child to first child ( temp 4-component vector of int)
+0:117        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'invocation' ( temp uint)
+0:117          Constant:
+0:117            1 (const int)
+0:117        Convert bool to int ( temp 4-component vector of int)
+0:117          subgroupQuadSwapDiagonal ( global 4-component vector of bool)
+0:117            Compare Less Than ( global 4-component vector of bool)
+0:117              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117                  Constant:
+0:117                    1 (const int)
+0:117                Constant:
+0:117                  1 (const int)
+0:117              Constant:
+0:117                0 (const int)
+0:117                0 (const int)
+0:117                0 (const int)
+0:117                0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_quad
+local_size = (8, 1, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      move second child to first child ( temp float)
+0:19        direct index ( temp float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'invocation' ( temp uint)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            0 (const int)
+0:19        subgroupQuadBroadcast ( global float)
+0:19          direct index ( temp float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            1 (const uint)
+0:20      move second child to first child ( temp 2-component vector of float)
+0:20        vector swizzle ( temp 2-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'invocation' ( temp uint)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20        subgroupQuadBroadcast ( global 2-component vector of float)
+0:20          vector swizzle ( temp 2-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                Constant:
+0:20                  1 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20          Constant:
+0:20            1 (const uint)
+0:21      move second child to first child ( temp 3-component vector of float)
+0:21        vector swizzle ( temp 3-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'invocation' ( temp uint)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21            Constant:
+0:21              2 (const int)
+0:21        subgroupQuadBroadcast ( global 3-component vector of float)
+0:21          vector swizzle ( temp 3-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  2 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21              Constant:
+0:21                2 (const int)
+0:21          Constant:
+0:21            1 (const uint)
+0:22      move second child to first child ( temp 4-component vector of float)
+0:22        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            0 (const int)
+0:22        subgroupQuadBroadcast ( global 4-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              Constant:
+0:22                3 (const int)
+0:22            Constant:
+0:22              0 (const int)
+0:22          Constant:
+0:22            1 (const uint)
+0:24      move second child to first child ( temp int)
+0:24        direct index ( temp int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupQuadBroadcast ( global int)
+0:24          direct index ( temp int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:24          Constant:
+0:24            1 (const uint)
+0:25      move second child to first child ( temp 2-component vector of int)
+0:25        vector swizzle ( temp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'invocation' ( temp uint)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupQuadBroadcast ( global 2-component vector of int)
+0:25          vector swizzle ( temp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25          Constant:
+0:25            1 (const uint)
+0:26      move second child to first child ( temp 3-component vector of int)
+0:26        vector swizzle ( temp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupQuadBroadcast ( global 3-component vector of int)
+0:26          vector swizzle ( temp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26          Constant:
+0:26            1 (const uint)
+0:27      move second child to first child ( temp 4-component vector of int)
+0:27        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            1 (const int)
+0:27        subgroupQuadBroadcast ( global 4-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              Constant:
+0:27                3 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27          Constant:
+0:27            1 (const uint)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupQuadBroadcast ( global uint)
+0:29          direct index ( temp uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29          Constant:
+0:29            1 (const uint)
+0:30      move second child to first child ( temp 2-component vector of uint)
+0:30        vector swizzle ( temp 2-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30        subgroupQuadBroadcast ( global 2-component vector of uint)
+0:30          vector swizzle ( temp 2-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                Constant:
+0:30                  1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30          Constant:
+0:30            1 (const uint)
+0:31      move second child to first child ( temp 3-component vector of uint)
+0:31        vector swizzle ( temp 3-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'invocation' ( temp uint)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31        subgroupQuadBroadcast ( global 3-component vector of uint)
+0:31          vector swizzle ( temp 3-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  2 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31          Constant:
+0:31            1 (const uint)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupQuadBroadcast ( global 4-component vector of uint)
+0:32          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              Constant:
+0:32                3 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32          Constant:
+0:32            1 (const uint)
+0:34      move second child to first child ( temp double)
+0:34        direct index ( temp double)
+0:34          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              3 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupQuadBroadcast ( global double)
+0:34          direct index ( temp double)
+0:34            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          Constant:
+0:34            1 (const uint)
+0:35      move second child to first child ( temp 2-component vector of double)
+0:35        vector swizzle ( temp 2-component vector of double)
+0:35          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'invocation' ( temp uint)
+0:35            Constant:
+0:35              3 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35        subgroupQuadBroadcast ( global 2-component vector of double)
+0:35          vector swizzle ( temp 2-component vector of double)
+0:35            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                3 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35          Constant:
+0:35            1 (const uint)
+0:36      move second child to first child ( temp 3-component vector of double)
+0:36        vector swizzle ( temp 3-component vector of double)
+0:36          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              3 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36            Constant:
+0:36              2 (const int)
+0:36        subgroupQuadBroadcast ( global 3-component vector of double)
+0:36          vector swizzle ( temp 3-component vector of double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  2 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              Constant:
+0:36                2 (const int)
+0:36          Constant:
+0:36            1 (const uint)
+0:37      move second child to first child ( temp 4-component vector of double)
+0:37        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            3 (const int)
+0:37        subgroupQuadBroadcast ( global 4-component vector of double)
+0:37          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              Constant:
+0:37                3 (const int)
+0:37            Constant:
+0:37              3 (const int)
+0:37          Constant:
+0:37            1 (const uint)
+0:39      move second child to first child ( temp int)
+0:39        direct index ( temp int)
+0:39          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'invocation' ( temp uint)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Constant:
+0:39            0 (const int)
+0:39        Convert bool to int ( temp int)
+0:39          subgroupQuadBroadcast ( global bool)
+0:39            Compare Less Than ( temp bool)
+0:39              direct index ( temp int)
+0:39                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    Constant:
+0:39                      0 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              1 (const uint)
+0:40      move second child to first child ( temp 2-component vector of int)
+0:40        vector swizzle ( temp 2-component vector of int)
+0:40          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'invocation' ( temp uint)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40        Convert bool to int ( temp 2-component vector of int)
+0:40          subgroupQuadBroadcast ( global 2-component vector of bool)
+0:40            Compare Less Than ( global 2-component vector of bool)
+0:40              vector swizzle ( temp 2-component vector of int)
+0:40                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    Constant:
+0:40                      1 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Sequence
+0:40                  Constant:
+0:40                    0 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40                0 (const int)
+0:40            Constant:
+0:40              1 (const uint)
+0:41      move second child to first child ( temp 3-component vector of int)
+0:41        vector swizzle ( temp 3-component vector of int)
+0:41          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'invocation' ( temp uint)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41            Constant:
+0:41              2 (const int)
+0:41        Convert bool to int ( temp 3-component vector of int)
+0:41          subgroupQuadBroadcast ( global 3-component vector of bool)
+0:41            Compare Less Than ( global 3-component vector of bool)
+0:41              vector swizzle ( temp 3-component vector of int)
+0:41                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    Constant:
+0:41                      1 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                Sequence
+0:41                  Constant:
+0:41                    0 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                  Constant:
+0:41                    2 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41                0 (const int)
+0:41                0 (const int)
+0:41            Constant:
+0:41              1 (const uint)
+0:42      move second child to first child ( temp 4-component vector of int)
+0:42        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            1 (const int)
+0:42        Convert bool to int ( temp 4-component vector of int)
+0:42          subgroupQuadBroadcast ( global 4-component vector of bool)
+0:42            Compare Less Than ( global 4-component vector of bool)
+0:42              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  Constant:
+0:42                    1 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:42              Constant:
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42            Constant:
+0:42              1 (const uint)
+0:44      move second child to first child ( temp float)
+0:44        direct index ( temp float)
+0:44          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'invocation' ( temp uint)
+0:44            Constant:
+0:44              0 (const int)
+0:44          Constant:
+0:44            0 (const int)
+0:44        subgroupQuadSwapHorizontal ( global float)
+0:44          direct index ( temp float)
+0:44            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                0 (const int)
+0:44            Constant:
+0:44              0 (const int)
+0:45      move second child to first child ( temp 2-component vector of float)
+0:45        vector swizzle ( temp 2-component vector of float)
+0:45          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'invocation' ( temp uint)
+0:45            Constant:
+0:45              0 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45        subgroupQuadSwapHorizontal ( global 2-component vector of float)
+0:45          vector swizzle ( temp 2-component vector of float)
+0:45            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                Constant:
+0:45                  1 (const int)
+0:45              Constant:
+0:45                0 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:46      move second child to first child ( temp 3-component vector of float)
+0:46        vector swizzle ( temp 3-component vector of float)
+0:46          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              0 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46        subgroupQuadSwapHorizontal ( global 3-component vector of float)
+0:46          vector swizzle ( temp 3-component vector of float)
+0:46            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                0 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:47      move second child to first child ( temp 4-component vector of float)
+0:47        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'invocation' ( temp uint)
+0:47          Constant:
+0:47            0 (const int)
+0:47        subgroupQuadSwapHorizontal ( global 4-component vector of float)
+0:47          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              Constant:
+0:47                3 (const int)
+0:47            Constant:
+0:47              0 (const int)
+0:49      move second child to first child ( temp int)
+0:49        direct index ( temp int)
+0:49          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'invocation' ( temp uint)
+0:49            Constant:
+0:49              1 (const int)
+0:49          Constant:
+0:49            0 (const int)
+0:49        subgroupQuadSwapHorizontal ( global int)
+0:49          direct index ( temp int)
+0:49            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:50      move second child to first child ( temp 2-component vector of int)
+0:50        vector swizzle ( temp 2-component vector of int)
+0:50          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'invocation' ( temp uint)
+0:50            Constant:
+0:50              1 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50        subgroupQuadSwapHorizontal ( global 2-component vector of int)
+0:50          vector swizzle ( temp 2-component vector of int)
+0:50            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:51      move second child to first child ( temp 3-component vector of int)
+0:51        vector swizzle ( temp 3-component vector of int)
+0:51          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              1 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51        subgroupQuadSwapHorizontal ( global 3-component vector of int)
+0:51          vector swizzle ( temp 3-component vector of int)
+0:51            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  2 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:52      move second child to first child ( temp 4-component vector of int)
+0:52        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'invocation' ( temp uint)
+0:52          Constant:
+0:52            1 (const int)
+0:52        subgroupQuadSwapHorizontal ( global 4-component vector of int)
+0:52          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              Constant:
+0:52                3 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:54      move second child to first child ( temp uint)
+0:54        direct index ( temp uint)
+0:54          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'invocation' ( temp uint)
+0:54            Constant:
+0:54              2 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupQuadSwapHorizontal ( global uint)
+0:54          direct index ( temp uint)
+0:54            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                Constant:
+0:54                  0 (const int)
+0:54              Constant:
+0:54                2 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:55      move second child to first child ( temp 2-component vector of uint)
+0:55        vector swizzle ( temp 2-component vector of uint)
+0:55          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'invocation' ( temp uint)
+0:55            Constant:
+0:55              2 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55        subgroupQuadSwapHorizontal ( global 2-component vector of uint)
+0:55          vector swizzle ( temp 2-component vector of uint)
+0:55            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Constant:
+0:55                2 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:56      move second child to first child ( temp 3-component vector of uint)
+0:56        vector swizzle ( temp 3-component vector of uint)
+0:56          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              2 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56            Constant:
+0:56              2 (const int)
+0:56        subgroupQuadSwapHorizontal ( global 3-component vector of uint)
+0:56          vector swizzle ( temp 3-component vector of uint)
+0:56            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  2 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:57      move second child to first child ( temp 4-component vector of uint)
+0:57        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'invocation' ( temp uint)
+0:57          Constant:
+0:57            2 (const int)
+0:57        subgroupQuadSwapHorizontal ( global 4-component vector of uint)
+0:57          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              Constant:
+0:57                3 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:59      move second child to first child ( temp double)
+0:59        direct index ( temp double)
+0:59          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'invocation' ( temp uint)
+0:59            Constant:
+0:59              3 (const int)
+0:59          Constant:
+0:59            0 (const int)
+0:59        subgroupQuadSwapHorizontal ( global double)
+0:59          direct index ( temp double)
+0:59            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                Constant:
+0:59                  0 (const int)
+0:59              Constant:
+0:59                3 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:60      move second child to first child ( temp 2-component vector of double)
+0:60        vector swizzle ( temp 2-component vector of double)
+0:60          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'invocation' ( temp uint)
+0:60            Constant:
+0:60              3 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60        subgroupQuadSwapHorizontal ( global 2-component vector of double)
+0:60          vector swizzle ( temp 2-component vector of double)
+0:60            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                3 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:61      move second child to first child ( temp 3-component vector of double)
+0:61        vector swizzle ( temp 3-component vector of double)
+0:61          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              3 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61        subgroupQuadSwapHorizontal ( global 3-component vector of double)
+0:61          vector swizzle ( temp 3-component vector of double)
+0:61            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  2 (const int)
+0:61              Constant:
+0:61                3 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61              Constant:
+0:61                2 (const int)
+0:62      move second child to first child ( temp 4-component vector of double)
+0:62        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'invocation' ( temp uint)
+0:62          Constant:
+0:62            3 (const int)
+0:62        subgroupQuadSwapHorizontal ( global 4-component vector of double)
+0:62          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              Constant:
+0:62                3 (const int)
+0:62            Constant:
+0:62              3 (const int)
+0:64      move second child to first child ( temp int)
+0:64        direct index ( temp int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'invocation' ( temp uint)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Constant:
+0:64            0 (const int)
+0:64        Convert bool to int ( temp int)
+0:64          subgroupQuadSwapHorizontal ( global bool)
+0:64            Compare Less Than ( temp bool)
+0:64              direct index ( temp int)
+0:64                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    Constant:
+0:64                      0 (const int)
+0:64                  Constant:
+0:64                    1 (const int)
+0:64                Constant:
+0:64                  0 (const int)
+0:64              Constant:
+0:64                0 (const int)
+0:65      move second child to first child ( temp 2-component vector of int)
+0:65        vector swizzle ( temp 2-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'invocation' ( temp uint)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65        Convert bool to int ( temp 2-component vector of int)
+0:65          subgroupQuadSwapHorizontal ( global 2-component vector of bool)
+0:65            Compare Less Than ( global 2-component vector of bool)
+0:65              vector swizzle ( temp 2-component vector of int)
+0:65                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    Constant:
+0:65                      1 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65                Sequence
+0:65                  Constant:
+0:65                    0 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65                0 (const int)
+0:66      move second child to first child ( temp 3-component vector of int)
+0:66        vector swizzle ( temp 3-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              1 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66        Convert bool to int ( temp 3-component vector of int)
+0:66          subgroupQuadSwapHorizontal ( global 3-component vector of bool)
+0:66            Compare Less Than ( global 3-component vector of bool)
+0:66              vector swizzle ( temp 3-component vector of int)
+0:66                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    Constant:
+0:66                      1 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                Sequence
+0:66                  Constant:
+0:66                    0 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                  Constant:
+0:66                    2 (const int)
+0:66              Constant:
+0:66                0 (const int)
+0:66                0 (const int)
+0:66                0 (const int)
+0:67      move second child to first child ( temp 4-component vector of int)
+0:67        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'invocation' ( temp uint)
+0:67          Constant:
+0:67            1 (const int)
+0:67        Convert bool to int ( temp 4-component vector of int)
+0:67          subgroupQuadSwapHorizontal ( global 4-component vector of bool)
+0:67            Compare Less Than ( global 4-component vector of bool)
+0:67              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  Constant:
+0:67                    1 (const int)
+0:67                Constant:
+0:67                  1 (const int)
+0:67              Constant:
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:69      move second child to first child ( temp float)
+0:69        direct index ( temp float)
+0:69          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:69            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69              'invocation' ( temp uint)
+0:69            Constant:
+0:69              0 (const int)
+0:69          Constant:
+0:69            0 (const int)
+0:69        subgroupQuadSwapVertical ( global float)
+0:69          direct index ( temp float)
+0:69            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:69                Constant:
+0:69                  0 (const int)
+0:69              Constant:
+0:69                0 (const int)
+0:69            Constant:
+0:69              0 (const int)
+0:70      move second child to first child ( temp 2-component vector of float)
+0:70        vector swizzle ( temp 2-component vector of float)
+0:70          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:70            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70              'invocation' ( temp uint)
+0:70            Constant:
+0:70              0 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70        subgroupQuadSwapVertical ( global 2-component vector of float)
+0:70          vector swizzle ( temp 2-component vector of float)
+0:70            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:70                Constant:
+0:70                  1 (const int)
+0:70              Constant:
+0:70                0 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:71      move second child to first child ( temp 3-component vector of float)
+0:71        vector swizzle ( temp 3-component vector of float)
+0:71          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:71            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71              'invocation' ( temp uint)
+0:71            Constant:
+0:71              0 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71            Constant:
+0:71              2 (const int)
+0:71        subgroupQuadSwapVertical ( global 3-component vector of float)
+0:71          vector swizzle ( temp 3-component vector of float)
+0:71            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:71                Constant:
+0:71                  2 (const int)
+0:71              Constant:
+0:71                0 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71              Constant:
+0:71                2 (const int)
+0:72      move second child to first child ( temp 4-component vector of float)
+0:72        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:72          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72            'invocation' ( temp uint)
+0:72          Constant:
+0:72            0 (const int)
+0:72        subgroupQuadSwapVertical ( global 4-component vector of float)
+0:72          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:72            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:72              Constant:
+0:72                3 (const int)
+0:72            Constant:
+0:72              0 (const int)
+0:74      move second child to first child ( temp int)
+0:74        direct index ( temp int)
+0:74          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:74            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74              'invocation' ( temp uint)
+0:74            Constant:
+0:74              1 (const int)
+0:74          Constant:
+0:74            0 (const int)
+0:74        subgroupQuadSwapVertical ( global int)
+0:74          direct index ( temp int)
+0:74            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:74              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:74                Constant:
+0:74                  0 (const int)
+0:74              Constant:
+0:74                1 (const int)
+0:74            Constant:
+0:74              0 (const int)
+0:75      move second child to first child ( temp 2-component vector of int)
+0:75        vector swizzle ( temp 2-component vector of int)
+0:75          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:75            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75              'invocation' ( temp uint)
+0:75            Constant:
+0:75              1 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75        subgroupQuadSwapVertical ( global 2-component vector of int)
+0:75          vector swizzle ( temp 2-component vector of int)
+0:75            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:75                Constant:
+0:75                  1 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:75            Sequence
+0:75              Constant:
+0:75                0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:76      move second child to first child ( temp 3-component vector of int)
+0:76        vector swizzle ( temp 3-component vector of int)
+0:76          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:76            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76              'invocation' ( temp uint)
+0:76            Constant:
+0:76              1 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76            Constant:
+0:76              2 (const int)
+0:76        subgroupQuadSwapVertical ( global 3-component vector of int)
+0:76          vector swizzle ( temp 3-component vector of int)
+0:76            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:76                Constant:
+0:76                  2 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76              Constant:
+0:76                2 (const int)
+0:77      move second child to first child ( temp 4-component vector of int)
+0:77        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:77          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77            'invocation' ( temp uint)
+0:77          Constant:
+0:77            1 (const int)
+0:77        subgroupQuadSwapVertical ( global 4-component vector of int)
+0:77          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:77            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:77              Constant:
+0:77                3 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:79      move second child to first child ( temp uint)
+0:79        direct index ( temp uint)
+0:79          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:79            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79              'invocation' ( temp uint)
+0:79            Constant:
+0:79              2 (const int)
+0:79          Constant:
+0:79            0 (const int)
+0:79        subgroupQuadSwapVertical ( global uint)
+0:79          direct index ( temp uint)
+0:79            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:79                Constant:
+0:79                  0 (const int)
+0:79              Constant:
+0:79                2 (const int)
+0:79            Constant:
+0:79              0 (const int)
+0:80      move second child to first child ( temp 2-component vector of uint)
+0:80        vector swizzle ( temp 2-component vector of uint)
+0:80          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:80            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80              'invocation' ( temp uint)
+0:80            Constant:
+0:80              2 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80        subgroupQuadSwapVertical ( global 2-component vector of uint)
+0:80          vector swizzle ( temp 2-component vector of uint)
+0:80            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:80                Constant:
+0:80                  1 (const int)
+0:80              Constant:
+0:80                2 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:81      move second child to first child ( temp 3-component vector of uint)
+0:81        vector swizzle ( temp 3-component vector of uint)
+0:81          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:81            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81              'invocation' ( temp uint)
+0:81            Constant:
+0:81              2 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81            Constant:
+0:81              2 (const int)
+0:81        subgroupQuadSwapVertical ( global 3-component vector of uint)
+0:81          vector swizzle ( temp 3-component vector of uint)
+0:81            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:81                Constant:
+0:81                  2 (const int)
+0:81              Constant:
+0:81                2 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81              Constant:
+0:81                2 (const int)
+0:82      move second child to first child ( temp 4-component vector of uint)
+0:82        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:82          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82            'invocation' ( temp uint)
+0:82          Constant:
+0:82            2 (const int)
+0:82        subgroupQuadSwapVertical ( global 4-component vector of uint)
+0:82          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:82            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:82              Constant:
+0:82                3 (const int)
+0:82            Constant:
+0:82              2 (const int)
+0:84      move second child to first child ( temp double)
+0:84        direct index ( temp double)
+0:84          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:84            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84              'invocation' ( temp uint)
+0:84            Constant:
+0:84              3 (const int)
+0:84          Constant:
+0:84            0 (const int)
+0:84        subgroupQuadSwapVertical ( global double)
+0:84          direct index ( temp double)
+0:84            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:84                Constant:
+0:84                  0 (const int)
+0:84              Constant:
+0:84                3 (const int)
+0:84            Constant:
+0:84              0 (const int)
+0:85      move second child to first child ( temp 2-component vector of double)
+0:85        vector swizzle ( temp 2-component vector of double)
+0:85          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:85            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85              'invocation' ( temp uint)
+0:85            Constant:
+0:85              3 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85        subgroupQuadSwapVertical ( global 2-component vector of double)
+0:85          vector swizzle ( temp 2-component vector of double)
+0:85            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:85                Constant:
+0:85                  1 (const int)
+0:85              Constant:
+0:85                3 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:86      move second child to first child ( temp 3-component vector of double)
+0:86        vector swizzle ( temp 3-component vector of double)
+0:86          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:86            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86              'invocation' ( temp uint)
+0:86            Constant:
+0:86              3 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86        subgroupQuadSwapVertical ( global 3-component vector of double)
+0:86          vector swizzle ( temp 3-component vector of double)
+0:86            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:86                Constant:
+0:86                  2 (const int)
+0:86              Constant:
+0:86                3 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86              Constant:
+0:86                2 (const int)
+0:87      move second child to first child ( temp 4-component vector of double)
+0:87        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:87          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87            'invocation' ( temp uint)
+0:87          Constant:
+0:87            3 (const int)
+0:87        subgroupQuadSwapVertical ( global 4-component vector of double)
+0:87          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:87            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:87              Constant:
+0:87                3 (const int)
+0:87            Constant:
+0:87              3 (const int)
+0:89      move second child to first child ( temp int)
+0:89        direct index ( temp int)
+0:89          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:89            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89              'invocation' ( temp uint)
+0:89            Constant:
+0:89              1 (const int)
+0:89          Constant:
+0:89            0 (const int)
+0:89        Convert bool to int ( temp int)
+0:89          subgroupQuadSwapVertical ( global bool)
+0:89            Compare Less Than ( temp bool)
+0:89              direct index ( temp int)
+0:89                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:89                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:89                    Constant:
+0:89                      0 (const int)
+0:89                  Constant:
+0:89                    1 (const int)
+0:89                Constant:
+0:89                  0 (const int)
+0:89              Constant:
+0:89                0 (const int)
+0:90      move second child to first child ( temp 2-component vector of int)
+0:90        vector swizzle ( temp 2-component vector of int)
+0:90          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:90            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90              'invocation' ( temp uint)
+0:90            Constant:
+0:90              1 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90        Convert bool to int ( temp 2-component vector of int)
+0:90          subgroupQuadSwapVertical ( global 2-component vector of bool)
+0:90            Compare Less Than ( global 2-component vector of bool)
+0:90              vector swizzle ( temp 2-component vector of int)
+0:90                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:90                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:90                    Constant:
+0:90                      1 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90                Sequence
+0:90                  Constant:
+0:90                    0 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90              Constant:
+0:90                0 (const int)
+0:90                0 (const int)
+0:91      move second child to first child ( temp 3-component vector of int)
+0:91        vector swizzle ( temp 3-component vector of int)
+0:91          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:91            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91              'invocation' ( temp uint)
+0:91            Constant:
+0:91              1 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91            Constant:
+0:91              2 (const int)
+0:91        Convert bool to int ( temp 3-component vector of int)
+0:91          subgroupQuadSwapVertical ( global 3-component vector of bool)
+0:91            Compare Less Than ( global 3-component vector of bool)
+0:91              vector swizzle ( temp 3-component vector of int)
+0:91                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:91                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:91                    Constant:
+0:91                      1 (const int)
+0:91                  Constant:
+0:91                    1 (const int)
+0:91                Sequence
+0:91                  Constant:
+0:91                    0 (const int)
+0:91                  Constant:
+0:91                    1 (const int)
+0:91                  Constant:
+0:91                    2 (const int)
+0:91              Constant:
+0:91                0 (const int)
+0:91                0 (const int)
+0:91                0 (const int)
+0:92      move second child to first child ( temp 4-component vector of int)
+0:92        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:92          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92            'invocation' ( temp uint)
+0:92          Constant:
+0:92            1 (const int)
+0:92        Convert bool to int ( temp 4-component vector of int)
+0:92          subgroupQuadSwapVertical ( global 4-component vector of bool)
+0:92            Compare Less Than ( global 4-component vector of bool)
+0:92              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:92                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:92                  Constant:
+0:92                    1 (const int)
+0:92                Constant:
+0:92                  1 (const int)
+0:92              Constant:
+0:92                0 (const int)
+0:92                0 (const int)
+0:92                0 (const int)
+0:92                0 (const int)
+0:94      move second child to first child ( temp float)
+0:94        direct index ( temp float)
+0:94          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:94            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94              'invocation' ( temp uint)
+0:94            Constant:
+0:94              0 (const int)
+0:94          Constant:
+0:94            0 (const int)
+0:94        subgroupQuadSwapDiagonal ( global float)
+0:94          direct index ( temp float)
+0:94            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:94              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:94                Constant:
+0:94                  0 (const int)
+0:94              Constant:
+0:94                0 (const int)
+0:94            Constant:
+0:94              0 (const int)
+0:95      move second child to first child ( temp 2-component vector of float)
+0:95        vector swizzle ( temp 2-component vector of float)
+0:95          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:95            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95              'invocation' ( temp uint)
+0:95            Constant:
+0:95              0 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95        subgroupQuadSwapDiagonal ( global 2-component vector of float)
+0:95          vector swizzle ( temp 2-component vector of float)
+0:95            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:95                Constant:
+0:95                  1 (const int)
+0:95              Constant:
+0:95                0 (const int)
+0:95            Sequence
+0:95              Constant:
+0:95                0 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:96      move second child to first child ( temp 3-component vector of float)
+0:96        vector swizzle ( temp 3-component vector of float)
+0:96          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:96            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96              'invocation' ( temp uint)
+0:96            Constant:
+0:96              0 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96            Constant:
+0:96              2 (const int)
+0:96        subgroupQuadSwapDiagonal ( global 3-component vector of float)
+0:96          vector swizzle ( temp 3-component vector of float)
+0:96            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:96                Constant:
+0:96                  2 (const int)
+0:96              Constant:
+0:96                0 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:96              Constant:
+0:96                2 (const int)
+0:97      move second child to first child ( temp 4-component vector of float)
+0:97        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:97          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97            'invocation' ( temp uint)
+0:97          Constant:
+0:97            0 (const int)
+0:97        subgroupQuadSwapDiagonal ( global 4-component vector of float)
+0:97          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:97            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:97              Constant:
+0:97                3 (const int)
+0:97            Constant:
+0:97              0 (const int)
+0:99      move second child to first child ( temp int)
+0:99        direct index ( temp int)
+0:99          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99              'invocation' ( temp uint)
+0:99            Constant:
+0:99              1 (const int)
+0:99          Constant:
+0:99            0 (const int)
+0:99        subgroupQuadSwapDiagonal ( global int)
+0:99          direct index ( temp int)
+0:99            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:99              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:99                Constant:
+0:99                  0 (const int)
+0:99              Constant:
+0:99                1 (const int)
+0:99            Constant:
+0:99              0 (const int)
+0:100      move second child to first child ( temp 2-component vector of int)
+0:100        vector swizzle ( temp 2-component vector of int)
+0:100          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100              'invocation' ( temp uint)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Sequence
+0:100            Constant:
+0:100              0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100        subgroupQuadSwapDiagonal ( global 2-component vector of int)
+0:100          vector swizzle ( temp 2-component vector of int)
+0:100            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:100                Constant:
+0:100                  1 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Sequence
+0:100              Constant:
+0:100                0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:101      move second child to first child ( temp 3-component vector of int)
+0:101        vector swizzle ( temp 3-component vector of int)
+0:101          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101              'invocation' ( temp uint)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101            Constant:
+0:101              2 (const int)
+0:101        subgroupQuadSwapDiagonal ( global 3-component vector of int)
+0:101          vector swizzle ( temp 3-component vector of int)
+0:101            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:101                Constant:
+0:101                  2 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101              Constant:
+0:101                2 (const int)
+0:102      move second child to first child ( temp 4-component vector of int)
+0:102        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102            'invocation' ( temp uint)
+0:102          Constant:
+0:102            1 (const int)
+0:102        subgroupQuadSwapDiagonal ( global 4-component vector of int)
+0:102          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:102            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:102              Constant:
+0:102                3 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:104      move second child to first child ( temp uint)
+0:104        direct index ( temp uint)
+0:104          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104              'invocation' ( temp uint)
+0:104            Constant:
+0:104              2 (const int)
+0:104          Constant:
+0:104            0 (const int)
+0:104        subgroupQuadSwapDiagonal ( global uint)
+0:104          direct index ( temp uint)
+0:104            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:104              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:104                Constant:
+0:104                  0 (const int)
+0:104              Constant:
+0:104                2 (const int)
+0:104            Constant:
+0:104              0 (const int)
+0:105      move second child to first child ( temp 2-component vector of uint)
+0:105        vector swizzle ( temp 2-component vector of uint)
+0:105          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105              'invocation' ( temp uint)
+0:105            Constant:
+0:105              2 (const int)
+0:105          Sequence
+0:105            Constant:
+0:105              0 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105        subgroupQuadSwapDiagonal ( global 2-component vector of uint)
+0:105          vector swizzle ( temp 2-component vector of uint)
+0:105            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:105              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:105                Constant:
+0:105                  1 (const int)
+0:105              Constant:
+0:105                2 (const int)
+0:105            Sequence
+0:105              Constant:
+0:105                0 (const int)
+0:105              Constant:
+0:105                1 (const int)
+0:106      move second child to first child ( temp 3-component vector of uint)
+0:106        vector swizzle ( temp 3-component vector of uint)
+0:106          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106              'invocation' ( temp uint)
+0:106            Constant:
+0:106              2 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106            Constant:
+0:106              2 (const int)
+0:106        subgroupQuadSwapDiagonal ( global 3-component vector of uint)
+0:106          vector swizzle ( temp 3-component vector of uint)
+0:106            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:106                Constant:
+0:106                  2 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:107      move second child to first child ( temp 4-component vector of uint)
+0:107        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107            'invocation' ( temp uint)
+0:107          Constant:
+0:107            2 (const int)
+0:107        subgroupQuadSwapDiagonal ( global 4-component vector of uint)
+0:107          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:107            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:107              Constant:
+0:107                3 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:109      move second child to first child ( temp double)
+0:109        direct index ( temp double)
+0:109          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:109            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109              'invocation' ( temp uint)
+0:109            Constant:
+0:109              3 (const int)
+0:109          Constant:
+0:109            0 (const int)
+0:109        subgroupQuadSwapDiagonal ( global double)
+0:109          direct index ( temp double)
+0:109            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:109              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:109                Constant:
+0:109                  0 (const int)
+0:109              Constant:
+0:109                3 (const int)
+0:109            Constant:
+0:109              0 (const int)
+0:110      move second child to first child ( temp 2-component vector of double)
+0:110        vector swizzle ( temp 2-component vector of double)
+0:110          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:110            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110              'invocation' ( temp uint)
+0:110            Constant:
+0:110              3 (const int)
+0:110          Sequence
+0:110            Constant:
+0:110              0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110        subgroupQuadSwapDiagonal ( global 2-component vector of double)
+0:110          vector swizzle ( temp 2-component vector of double)
+0:110            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:110              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:110                Constant:
+0:110                  1 (const int)
+0:110              Constant:
+0:110                3 (const int)
+0:110            Sequence
+0:110              Constant:
+0:110                0 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:111      move second child to first child ( temp 3-component vector of double)
+0:111        vector swizzle ( temp 3-component vector of double)
+0:111          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:111            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111              'invocation' ( temp uint)
+0:111            Constant:
+0:111              3 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111            Constant:
+0:111              2 (const int)
+0:111        subgroupQuadSwapDiagonal ( global 3-component vector of double)
+0:111          vector swizzle ( temp 3-component vector of double)
+0:111            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:111              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:111                Constant:
+0:111                  2 (const int)
+0:111              Constant:
+0:111                3 (const int)
+0:111            Sequence
+0:111              Constant:
+0:111                0 (const int)
+0:111              Constant:
+0:111                1 (const int)
+0:111              Constant:
+0:111                2 (const int)
+0:112      move second child to first child ( temp 4-component vector of double)
+0:112        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:112          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112            'invocation' ( temp uint)
+0:112          Constant:
+0:112            3 (const int)
+0:112        subgroupQuadSwapDiagonal ( global 4-component vector of double)
+0:112          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:112            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:112              Constant:
+0:112                3 (const int)
+0:112            Constant:
+0:112              3 (const int)
+0:114      move second child to first child ( temp int)
+0:114        direct index ( temp int)
+0:114          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114              'invocation' ( temp uint)
+0:114            Constant:
+0:114              1 (const int)
+0:114          Constant:
+0:114            0 (const int)
+0:114        Convert bool to int ( temp int)
+0:114          subgroupQuadSwapDiagonal ( global bool)
+0:114            Compare Less Than ( temp bool)
+0:114              direct index ( temp int)
+0:114                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:114                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:114                    Constant:
+0:114                      0 (const int)
+0:114                  Constant:
+0:114                    1 (const int)
+0:114                Constant:
+0:114                  0 (const int)
+0:114              Constant:
+0:114                0 (const int)
+0:115      move second child to first child ( temp 2-component vector of int)
+0:115        vector swizzle ( temp 2-component vector of int)
+0:115          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115              'invocation' ( temp uint)
+0:115            Constant:
+0:115              1 (const int)
+0:115          Sequence
+0:115            Constant:
+0:115              0 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115        Convert bool to int ( temp 2-component vector of int)
+0:115          subgroupQuadSwapDiagonal ( global 2-component vector of bool)
+0:115            Compare Less Than ( global 2-component vector of bool)
+0:115              vector swizzle ( temp 2-component vector of int)
+0:115                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:115                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:115                    Constant:
+0:115                      1 (const int)
+0:115                  Constant:
+0:115                    1 (const int)
+0:115                Sequence
+0:115                  Constant:
+0:115                    0 (const int)
+0:115                  Constant:
+0:115                    1 (const int)
+0:115              Constant:
+0:115                0 (const int)
+0:115                0 (const int)
+0:116      move second child to first child ( temp 3-component vector of int)
+0:116        vector swizzle ( temp 3-component vector of int)
+0:116          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116              'invocation' ( temp uint)
+0:116            Constant:
+0:116              1 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116            Constant:
+0:116              2 (const int)
+0:116        Convert bool to int ( temp 3-component vector of int)
+0:116          subgroupQuadSwapDiagonal ( global 3-component vector of bool)
+0:116            Compare Less Than ( global 3-component vector of bool)
+0:116              vector swizzle ( temp 3-component vector of int)
+0:116                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:116                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:116                    Constant:
+0:116                      1 (const int)
+0:116                  Constant:
+0:116                    1 (const int)
+0:116                Sequence
+0:116                  Constant:
+0:116                    0 (const int)
+0:116                  Constant:
+0:116                    1 (const int)
+0:116                  Constant:
+0:116                    2 (const int)
+0:116              Constant:
+0:116                0 (const int)
+0:116                0 (const int)
+0:116                0 (const int)
+0:117      move second child to first child ( temp 4-component vector of int)
+0:117        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117            'invocation' ( temp uint)
+0:117          Constant:
+0:117            1 (const int)
+0:117        Convert bool to int ( temp 4-component vector of int)
+0:117          subgroupQuadSwapDiagonal ( global 4-component vector of bool)
+0:117            Compare Less Than ( global 4-component vector of bool)
+0:117              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:117                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:117                  Constant:
+0:117                    1 (const int)
+0:117                Constant:
+0:117                  1 (const int)
+0:117              Constant:
+0:117                0 (const int)
+0:117                0 (const int)
+0:117                0 (const int)
+0:117                0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
diff --git a/Test/baseResults/glsl.450.subgroupShuffle.comp.out b/Test/baseResults/glsl.450.subgroupShuffle.comp.out
new file mode 100644
index 0000000..8a9db56
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupShuffle.comp.out
@@ -0,0 +1,2101 @@
+glsl.450.subgroupShuffle.comp
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_shuffle
+local_size = (8, 8, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      move second child to first child ( temp float)
+0:19        direct index ( temp float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'invocation' ( temp uint)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            0 (const int)
+0:19        subgroupShuffle ( global float)
+0:19          direct index ( temp float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          'invocation' ( temp uint)
+0:20      move second child to first child ( temp 2-component vector of float)
+0:20        vector swizzle ( temp 2-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'invocation' ( temp uint)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20        subgroupShuffle ( global 2-component vector of float)
+0:20          vector swizzle ( temp 2-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                Constant:
+0:20                  1 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20          'invocation' ( temp uint)
+0:21      move second child to first child ( temp 3-component vector of float)
+0:21        vector swizzle ( temp 3-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'invocation' ( temp uint)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21            Constant:
+0:21              2 (const int)
+0:21        subgroupShuffle ( global 3-component vector of float)
+0:21          vector swizzle ( temp 3-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  2 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21              Constant:
+0:21                2 (const int)
+0:21          'invocation' ( temp uint)
+0:22      move second child to first child ( temp 4-component vector of float)
+0:22        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            0 (const int)
+0:22        subgroupShuffle ( global 4-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              Constant:
+0:22                3 (const int)
+0:22            Constant:
+0:22              0 (const int)
+0:22          'invocation' ( temp uint)
+0:24      move second child to first child ( temp int)
+0:24        direct index ( temp int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupShuffle ( global int)
+0:24          direct index ( temp int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:24          'invocation' ( temp uint)
+0:25      move second child to first child ( temp 2-component vector of int)
+0:25        vector swizzle ( temp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'invocation' ( temp uint)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupShuffle ( global 2-component vector of int)
+0:25          vector swizzle ( temp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25          'invocation' ( temp uint)
+0:26      move second child to first child ( temp 3-component vector of int)
+0:26        vector swizzle ( temp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupShuffle ( global 3-component vector of int)
+0:26          vector swizzle ( temp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26          'invocation' ( temp uint)
+0:27      move second child to first child ( temp 4-component vector of int)
+0:27        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            1 (const int)
+0:27        subgroupShuffle ( global 4-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              Constant:
+0:27                3 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27          'invocation' ( temp uint)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupShuffle ( global uint)
+0:29          direct index ( temp uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29          'invocation' ( temp uint)
+0:30      move second child to first child ( temp 2-component vector of uint)
+0:30        vector swizzle ( temp 2-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30        subgroupShuffle ( global 2-component vector of uint)
+0:30          vector swizzle ( temp 2-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                Constant:
+0:30                  1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30          'invocation' ( temp uint)
+0:31      move second child to first child ( temp 3-component vector of uint)
+0:31        vector swizzle ( temp 3-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'invocation' ( temp uint)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31        subgroupShuffle ( global 3-component vector of uint)
+0:31          vector swizzle ( temp 3-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  2 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31          'invocation' ( temp uint)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupShuffle ( global 4-component vector of uint)
+0:32          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              Constant:
+0:32                3 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32          'invocation' ( temp uint)
+0:34      move second child to first child ( temp double)
+0:34        direct index ( temp double)
+0:34          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              3 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupShuffle ( global double)
+0:34          direct index ( temp double)
+0:34            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          'invocation' ( temp uint)
+0:35      move second child to first child ( temp 2-component vector of double)
+0:35        vector swizzle ( temp 2-component vector of double)
+0:35          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'invocation' ( temp uint)
+0:35            Constant:
+0:35              3 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35        subgroupShuffle ( global 2-component vector of double)
+0:35          vector swizzle ( temp 2-component vector of double)
+0:35            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                3 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35          'invocation' ( temp uint)
+0:36      move second child to first child ( temp 3-component vector of double)
+0:36        vector swizzle ( temp 3-component vector of double)
+0:36          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              3 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36            Constant:
+0:36              2 (const int)
+0:36        subgroupShuffle ( global 3-component vector of double)
+0:36          vector swizzle ( temp 3-component vector of double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  2 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              Constant:
+0:36                2 (const int)
+0:36          'invocation' ( temp uint)
+0:37      move second child to first child ( temp 4-component vector of double)
+0:37        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            3 (const int)
+0:37        subgroupShuffle ( global 4-component vector of double)
+0:37          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              Constant:
+0:37                3 (const int)
+0:37            Constant:
+0:37              3 (const int)
+0:37          'invocation' ( temp uint)
+0:39      move second child to first child ( temp int)
+0:39        direct index ( temp int)
+0:39          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'invocation' ( temp uint)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Constant:
+0:39            0 (const int)
+0:39        Convert bool to int ( temp int)
+0:39          subgroupShuffle ( global bool)
+0:39            Compare Less Than ( temp bool)
+0:39              direct index ( temp int)
+0:39                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    Constant:
+0:39                      0 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            'invocation' ( temp uint)
+0:40      move second child to first child ( temp 2-component vector of int)
+0:40        vector swizzle ( temp 2-component vector of int)
+0:40          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'invocation' ( temp uint)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40        Convert bool to int ( temp 2-component vector of int)
+0:40          subgroupShuffle ( global 2-component vector of bool)
+0:40            Compare Less Than ( global 2-component vector of bool)
+0:40              vector swizzle ( temp 2-component vector of int)
+0:40                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    Constant:
+0:40                      1 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Sequence
+0:40                  Constant:
+0:40                    0 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40                0 (const int)
+0:40            'invocation' ( temp uint)
+0:41      move second child to first child ( temp 3-component vector of int)
+0:41        vector swizzle ( temp 3-component vector of int)
+0:41          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'invocation' ( temp uint)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41            Constant:
+0:41              2 (const int)
+0:41        Convert bool to int ( temp 3-component vector of int)
+0:41          subgroupShuffle ( global 3-component vector of bool)
+0:41            Compare Less Than ( global 3-component vector of bool)
+0:41              vector swizzle ( temp 3-component vector of int)
+0:41                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    Constant:
+0:41                      1 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                Sequence
+0:41                  Constant:
+0:41                    0 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                  Constant:
+0:41                    2 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41                0 (const int)
+0:41                0 (const int)
+0:41            'invocation' ( temp uint)
+0:42      move second child to first child ( temp 4-component vector of int)
+0:42        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            1 (const int)
+0:42        Convert bool to int ( temp 4-component vector of int)
+0:42          subgroupShuffle ( global 4-component vector of bool)
+0:42            Compare Less Than ( global 4-component vector of bool)
+0:42              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  Constant:
+0:42                    1 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:42              Constant:
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42            'invocation' ( temp uint)
+0:44      move second child to first child ( temp float)
+0:44        direct index ( temp float)
+0:44          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'invocation' ( temp uint)
+0:44            Constant:
+0:44              0 (const int)
+0:44          Constant:
+0:44            0 (const int)
+0:44        subgroupShuffleXor ( global float)
+0:44          direct index ( temp float)
+0:44            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                0 (const int)
+0:44            Constant:
+0:44              0 (const int)
+0:44          'invocation' ( temp uint)
+0:45      move second child to first child ( temp 2-component vector of float)
+0:45        vector swizzle ( temp 2-component vector of float)
+0:45          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'invocation' ( temp uint)
+0:45            Constant:
+0:45              0 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45        subgroupShuffleXor ( global 2-component vector of float)
+0:45          vector swizzle ( temp 2-component vector of float)
+0:45            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                Constant:
+0:45                  1 (const int)
+0:45              Constant:
+0:45                0 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45          'invocation' ( temp uint)
+0:46      move second child to first child ( temp 3-component vector of float)
+0:46        vector swizzle ( temp 3-component vector of float)
+0:46          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              0 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46        subgroupShuffleXor ( global 3-component vector of float)
+0:46          vector swizzle ( temp 3-component vector of float)
+0:46            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                0 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46          'invocation' ( temp uint)
+0:47      move second child to first child ( temp 4-component vector of float)
+0:47        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'invocation' ( temp uint)
+0:47          Constant:
+0:47            0 (const int)
+0:47        subgroupShuffleXor ( global 4-component vector of float)
+0:47          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              Constant:
+0:47                3 (const int)
+0:47            Constant:
+0:47              0 (const int)
+0:47          'invocation' ( temp uint)
+0:49      move second child to first child ( temp int)
+0:49        direct index ( temp int)
+0:49          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'invocation' ( temp uint)
+0:49            Constant:
+0:49              1 (const int)
+0:49          Constant:
+0:49            0 (const int)
+0:49        subgroupShuffleXor ( global int)
+0:49          direct index ( temp int)
+0:49            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          'invocation' ( temp uint)
+0:50      move second child to first child ( temp 2-component vector of int)
+0:50        vector swizzle ( temp 2-component vector of int)
+0:50          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'invocation' ( temp uint)
+0:50            Constant:
+0:50              1 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50        subgroupShuffleXor ( global 2-component vector of int)
+0:50          vector swizzle ( temp 2-component vector of int)
+0:50            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50          'invocation' ( temp uint)
+0:51      move second child to first child ( temp 3-component vector of int)
+0:51        vector swizzle ( temp 3-component vector of int)
+0:51          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              1 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51        subgroupShuffleXor ( global 3-component vector of int)
+0:51          vector swizzle ( temp 3-component vector of int)
+0:51            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  2 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51          'invocation' ( temp uint)
+0:52      move second child to first child ( temp 4-component vector of int)
+0:52        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'invocation' ( temp uint)
+0:52          Constant:
+0:52            1 (const int)
+0:52        subgroupShuffleXor ( global 4-component vector of int)
+0:52          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              Constant:
+0:52                3 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52          'invocation' ( temp uint)
+0:54      move second child to first child ( temp uint)
+0:54        direct index ( temp uint)
+0:54          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'invocation' ( temp uint)
+0:54            Constant:
+0:54              2 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupShuffleXor ( global uint)
+0:54          direct index ( temp uint)
+0:54            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                Constant:
+0:54                  0 (const int)
+0:54              Constant:
+0:54                2 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:54          'invocation' ( temp uint)
+0:55      move second child to first child ( temp 2-component vector of uint)
+0:55        vector swizzle ( temp 2-component vector of uint)
+0:55          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'invocation' ( temp uint)
+0:55            Constant:
+0:55              2 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55        subgroupShuffleXor ( global 2-component vector of uint)
+0:55          vector swizzle ( temp 2-component vector of uint)
+0:55            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Constant:
+0:55                2 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55          'invocation' ( temp uint)
+0:56      move second child to first child ( temp 3-component vector of uint)
+0:56        vector swizzle ( temp 3-component vector of uint)
+0:56          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              2 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56            Constant:
+0:56              2 (const int)
+0:56        subgroupShuffleXor ( global 3-component vector of uint)
+0:56          vector swizzle ( temp 3-component vector of uint)
+0:56            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  2 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56          'invocation' ( temp uint)
+0:57      move second child to first child ( temp 4-component vector of uint)
+0:57        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'invocation' ( temp uint)
+0:57          Constant:
+0:57            2 (const int)
+0:57        subgroupShuffleXor ( global 4-component vector of uint)
+0:57          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              Constant:
+0:57                3 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:57          'invocation' ( temp uint)
+0:59      move second child to first child ( temp double)
+0:59        direct index ( temp double)
+0:59          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'invocation' ( temp uint)
+0:59            Constant:
+0:59              3 (const int)
+0:59          Constant:
+0:59            0 (const int)
+0:59        subgroupShuffleXor ( global double)
+0:59          direct index ( temp double)
+0:59            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                Constant:
+0:59                  0 (const int)
+0:59              Constant:
+0:59                3 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:59          'invocation' ( temp uint)
+0:60      move second child to first child ( temp 2-component vector of double)
+0:60        vector swizzle ( temp 2-component vector of double)
+0:60          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'invocation' ( temp uint)
+0:60            Constant:
+0:60              3 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60        subgroupShuffleXor ( global 2-component vector of double)
+0:60          vector swizzle ( temp 2-component vector of double)
+0:60            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                3 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60          'invocation' ( temp uint)
+0:61      move second child to first child ( temp 3-component vector of double)
+0:61        vector swizzle ( temp 3-component vector of double)
+0:61          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              3 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61        subgroupShuffleXor ( global 3-component vector of double)
+0:61          vector swizzle ( temp 3-component vector of double)
+0:61            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  2 (const int)
+0:61              Constant:
+0:61                3 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61              Constant:
+0:61                2 (const int)
+0:61          'invocation' ( temp uint)
+0:62      move second child to first child ( temp 4-component vector of double)
+0:62        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'invocation' ( temp uint)
+0:62          Constant:
+0:62            3 (const int)
+0:62        subgroupShuffleXor ( global 4-component vector of double)
+0:62          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              Constant:
+0:62                3 (const int)
+0:62            Constant:
+0:62              3 (const int)
+0:62          'invocation' ( temp uint)
+0:64      move second child to first child ( temp int)
+0:64        direct index ( temp int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'invocation' ( temp uint)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Constant:
+0:64            0 (const int)
+0:64        Convert bool to int ( temp int)
+0:64          subgroupShuffleXor ( global bool)
+0:64            Compare Less Than ( temp bool)
+0:64              direct index ( temp int)
+0:64                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    Constant:
+0:64                      0 (const int)
+0:64                  Constant:
+0:64                    1 (const int)
+0:64                Constant:
+0:64                  0 (const int)
+0:64              Constant:
+0:64                0 (const int)
+0:64            'invocation' ( temp uint)
+0:65      move second child to first child ( temp 2-component vector of int)
+0:65        vector swizzle ( temp 2-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'invocation' ( temp uint)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65        Convert bool to int ( temp 2-component vector of int)
+0:65          subgroupShuffleXor ( global 2-component vector of bool)
+0:65            Compare Less Than ( global 2-component vector of bool)
+0:65              vector swizzle ( temp 2-component vector of int)
+0:65                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    Constant:
+0:65                      1 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65                Sequence
+0:65                  Constant:
+0:65                    0 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65                0 (const int)
+0:65            'invocation' ( temp uint)
+0:66      move second child to first child ( temp 3-component vector of int)
+0:66        vector swizzle ( temp 3-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              1 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66        Convert bool to int ( temp 3-component vector of int)
+0:66          subgroupShuffleXor ( global 3-component vector of bool)
+0:66            Compare Less Than ( global 3-component vector of bool)
+0:66              vector swizzle ( temp 3-component vector of int)
+0:66                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    Constant:
+0:66                      1 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                Sequence
+0:66                  Constant:
+0:66                    0 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                  Constant:
+0:66                    2 (const int)
+0:66              Constant:
+0:66                0 (const int)
+0:66                0 (const int)
+0:66                0 (const int)
+0:66            'invocation' ( temp uint)
+0:67      move second child to first child ( temp 4-component vector of int)
+0:67        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'invocation' ( temp uint)
+0:67          Constant:
+0:67            1 (const int)
+0:67        Convert bool to int ( temp 4-component vector of int)
+0:67          subgroupShuffleXor ( global 4-component vector of bool)
+0:67            Compare Less Than ( global 4-component vector of bool)
+0:67              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  Constant:
+0:67                    1 (const int)
+0:67                Constant:
+0:67                  1 (const int)
+0:67              Constant:
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:67            'invocation' ( temp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_shuffle
+local_size = (8, 8, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      move second child to first child ( temp float)
+0:19        direct index ( temp float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'invocation' ( temp uint)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            0 (const int)
+0:19        subgroupShuffle ( global float)
+0:19          direct index ( temp float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          'invocation' ( temp uint)
+0:20      move second child to first child ( temp 2-component vector of float)
+0:20        vector swizzle ( temp 2-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'invocation' ( temp uint)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20        subgroupShuffle ( global 2-component vector of float)
+0:20          vector swizzle ( temp 2-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                Constant:
+0:20                  1 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20          'invocation' ( temp uint)
+0:21      move second child to first child ( temp 3-component vector of float)
+0:21        vector swizzle ( temp 3-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'invocation' ( temp uint)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21            Constant:
+0:21              2 (const int)
+0:21        subgroupShuffle ( global 3-component vector of float)
+0:21          vector swizzle ( temp 3-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  2 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21              Constant:
+0:21                2 (const int)
+0:21          'invocation' ( temp uint)
+0:22      move second child to first child ( temp 4-component vector of float)
+0:22        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            0 (const int)
+0:22        subgroupShuffle ( global 4-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              Constant:
+0:22                3 (const int)
+0:22            Constant:
+0:22              0 (const int)
+0:22          'invocation' ( temp uint)
+0:24      move second child to first child ( temp int)
+0:24        direct index ( temp int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupShuffle ( global int)
+0:24          direct index ( temp int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:24          'invocation' ( temp uint)
+0:25      move second child to first child ( temp 2-component vector of int)
+0:25        vector swizzle ( temp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'invocation' ( temp uint)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupShuffle ( global 2-component vector of int)
+0:25          vector swizzle ( temp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25          'invocation' ( temp uint)
+0:26      move second child to first child ( temp 3-component vector of int)
+0:26        vector swizzle ( temp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupShuffle ( global 3-component vector of int)
+0:26          vector swizzle ( temp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26          'invocation' ( temp uint)
+0:27      move second child to first child ( temp 4-component vector of int)
+0:27        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            1 (const int)
+0:27        subgroupShuffle ( global 4-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              Constant:
+0:27                3 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27          'invocation' ( temp uint)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupShuffle ( global uint)
+0:29          direct index ( temp uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29          'invocation' ( temp uint)
+0:30      move second child to first child ( temp 2-component vector of uint)
+0:30        vector swizzle ( temp 2-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30        subgroupShuffle ( global 2-component vector of uint)
+0:30          vector swizzle ( temp 2-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                Constant:
+0:30                  1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30          'invocation' ( temp uint)
+0:31      move second child to first child ( temp 3-component vector of uint)
+0:31        vector swizzle ( temp 3-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'invocation' ( temp uint)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31        subgroupShuffle ( global 3-component vector of uint)
+0:31          vector swizzle ( temp 3-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  2 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31          'invocation' ( temp uint)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupShuffle ( global 4-component vector of uint)
+0:32          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              Constant:
+0:32                3 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32          'invocation' ( temp uint)
+0:34      move second child to first child ( temp double)
+0:34        direct index ( temp double)
+0:34          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              3 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupShuffle ( global double)
+0:34          direct index ( temp double)
+0:34            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          'invocation' ( temp uint)
+0:35      move second child to first child ( temp 2-component vector of double)
+0:35        vector swizzle ( temp 2-component vector of double)
+0:35          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'invocation' ( temp uint)
+0:35            Constant:
+0:35              3 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35        subgroupShuffle ( global 2-component vector of double)
+0:35          vector swizzle ( temp 2-component vector of double)
+0:35            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                3 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35          'invocation' ( temp uint)
+0:36      move second child to first child ( temp 3-component vector of double)
+0:36        vector swizzle ( temp 3-component vector of double)
+0:36          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              3 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36            Constant:
+0:36              2 (const int)
+0:36        subgroupShuffle ( global 3-component vector of double)
+0:36          vector swizzle ( temp 3-component vector of double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  2 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              Constant:
+0:36                2 (const int)
+0:36          'invocation' ( temp uint)
+0:37      move second child to first child ( temp 4-component vector of double)
+0:37        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            3 (const int)
+0:37        subgroupShuffle ( global 4-component vector of double)
+0:37          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              Constant:
+0:37                3 (const int)
+0:37            Constant:
+0:37              3 (const int)
+0:37          'invocation' ( temp uint)
+0:39      move second child to first child ( temp int)
+0:39        direct index ( temp int)
+0:39          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'invocation' ( temp uint)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Constant:
+0:39            0 (const int)
+0:39        Convert bool to int ( temp int)
+0:39          subgroupShuffle ( global bool)
+0:39            Compare Less Than ( temp bool)
+0:39              direct index ( temp int)
+0:39                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    Constant:
+0:39                      0 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            'invocation' ( temp uint)
+0:40      move second child to first child ( temp 2-component vector of int)
+0:40        vector swizzle ( temp 2-component vector of int)
+0:40          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'invocation' ( temp uint)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40        Convert bool to int ( temp 2-component vector of int)
+0:40          subgroupShuffle ( global 2-component vector of bool)
+0:40            Compare Less Than ( global 2-component vector of bool)
+0:40              vector swizzle ( temp 2-component vector of int)
+0:40                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    Constant:
+0:40                      1 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Sequence
+0:40                  Constant:
+0:40                    0 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40                0 (const int)
+0:40            'invocation' ( temp uint)
+0:41      move second child to first child ( temp 3-component vector of int)
+0:41        vector swizzle ( temp 3-component vector of int)
+0:41          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'invocation' ( temp uint)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41            Constant:
+0:41              2 (const int)
+0:41        Convert bool to int ( temp 3-component vector of int)
+0:41          subgroupShuffle ( global 3-component vector of bool)
+0:41            Compare Less Than ( global 3-component vector of bool)
+0:41              vector swizzle ( temp 3-component vector of int)
+0:41                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    Constant:
+0:41                      1 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                Sequence
+0:41                  Constant:
+0:41                    0 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                  Constant:
+0:41                    2 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41                0 (const int)
+0:41                0 (const int)
+0:41            'invocation' ( temp uint)
+0:42      move second child to first child ( temp 4-component vector of int)
+0:42        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            1 (const int)
+0:42        Convert bool to int ( temp 4-component vector of int)
+0:42          subgroupShuffle ( global 4-component vector of bool)
+0:42            Compare Less Than ( global 4-component vector of bool)
+0:42              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  Constant:
+0:42                    1 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:42              Constant:
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42            'invocation' ( temp uint)
+0:44      move second child to first child ( temp float)
+0:44        direct index ( temp float)
+0:44          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'invocation' ( temp uint)
+0:44            Constant:
+0:44              0 (const int)
+0:44          Constant:
+0:44            0 (const int)
+0:44        subgroupShuffleXor ( global float)
+0:44          direct index ( temp float)
+0:44            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                0 (const int)
+0:44            Constant:
+0:44              0 (const int)
+0:44          'invocation' ( temp uint)
+0:45      move second child to first child ( temp 2-component vector of float)
+0:45        vector swizzle ( temp 2-component vector of float)
+0:45          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'invocation' ( temp uint)
+0:45            Constant:
+0:45              0 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45        subgroupShuffleXor ( global 2-component vector of float)
+0:45          vector swizzle ( temp 2-component vector of float)
+0:45            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                Constant:
+0:45                  1 (const int)
+0:45              Constant:
+0:45                0 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45          'invocation' ( temp uint)
+0:46      move second child to first child ( temp 3-component vector of float)
+0:46        vector swizzle ( temp 3-component vector of float)
+0:46          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              0 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46        subgroupShuffleXor ( global 3-component vector of float)
+0:46          vector swizzle ( temp 3-component vector of float)
+0:46            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                0 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46          'invocation' ( temp uint)
+0:47      move second child to first child ( temp 4-component vector of float)
+0:47        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'invocation' ( temp uint)
+0:47          Constant:
+0:47            0 (const int)
+0:47        subgroupShuffleXor ( global 4-component vector of float)
+0:47          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              Constant:
+0:47                3 (const int)
+0:47            Constant:
+0:47              0 (const int)
+0:47          'invocation' ( temp uint)
+0:49      move second child to first child ( temp int)
+0:49        direct index ( temp int)
+0:49          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'invocation' ( temp uint)
+0:49            Constant:
+0:49              1 (const int)
+0:49          Constant:
+0:49            0 (const int)
+0:49        subgroupShuffleXor ( global int)
+0:49          direct index ( temp int)
+0:49            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          'invocation' ( temp uint)
+0:50      move second child to first child ( temp 2-component vector of int)
+0:50        vector swizzle ( temp 2-component vector of int)
+0:50          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'invocation' ( temp uint)
+0:50            Constant:
+0:50              1 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50        subgroupShuffleXor ( global 2-component vector of int)
+0:50          vector swizzle ( temp 2-component vector of int)
+0:50            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50          'invocation' ( temp uint)
+0:51      move second child to first child ( temp 3-component vector of int)
+0:51        vector swizzle ( temp 3-component vector of int)
+0:51          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              1 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51        subgroupShuffleXor ( global 3-component vector of int)
+0:51          vector swizzle ( temp 3-component vector of int)
+0:51            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  2 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51          'invocation' ( temp uint)
+0:52      move second child to first child ( temp 4-component vector of int)
+0:52        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'invocation' ( temp uint)
+0:52          Constant:
+0:52            1 (const int)
+0:52        subgroupShuffleXor ( global 4-component vector of int)
+0:52          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              Constant:
+0:52                3 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52          'invocation' ( temp uint)
+0:54      move second child to first child ( temp uint)
+0:54        direct index ( temp uint)
+0:54          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'invocation' ( temp uint)
+0:54            Constant:
+0:54              2 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupShuffleXor ( global uint)
+0:54          direct index ( temp uint)
+0:54            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                Constant:
+0:54                  0 (const int)
+0:54              Constant:
+0:54                2 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:54          'invocation' ( temp uint)
+0:55      move second child to first child ( temp 2-component vector of uint)
+0:55        vector swizzle ( temp 2-component vector of uint)
+0:55          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'invocation' ( temp uint)
+0:55            Constant:
+0:55              2 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55        subgroupShuffleXor ( global 2-component vector of uint)
+0:55          vector swizzle ( temp 2-component vector of uint)
+0:55            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Constant:
+0:55                2 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55          'invocation' ( temp uint)
+0:56      move second child to first child ( temp 3-component vector of uint)
+0:56        vector swizzle ( temp 3-component vector of uint)
+0:56          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              2 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56            Constant:
+0:56              2 (const int)
+0:56        subgroupShuffleXor ( global 3-component vector of uint)
+0:56          vector swizzle ( temp 3-component vector of uint)
+0:56            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  2 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56          'invocation' ( temp uint)
+0:57      move second child to first child ( temp 4-component vector of uint)
+0:57        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'invocation' ( temp uint)
+0:57          Constant:
+0:57            2 (const int)
+0:57        subgroupShuffleXor ( global 4-component vector of uint)
+0:57          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              Constant:
+0:57                3 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:57          'invocation' ( temp uint)
+0:59      move second child to first child ( temp double)
+0:59        direct index ( temp double)
+0:59          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'invocation' ( temp uint)
+0:59            Constant:
+0:59              3 (const int)
+0:59          Constant:
+0:59            0 (const int)
+0:59        subgroupShuffleXor ( global double)
+0:59          direct index ( temp double)
+0:59            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                Constant:
+0:59                  0 (const int)
+0:59              Constant:
+0:59                3 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:59          'invocation' ( temp uint)
+0:60      move second child to first child ( temp 2-component vector of double)
+0:60        vector swizzle ( temp 2-component vector of double)
+0:60          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'invocation' ( temp uint)
+0:60            Constant:
+0:60              3 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60        subgroupShuffleXor ( global 2-component vector of double)
+0:60          vector swizzle ( temp 2-component vector of double)
+0:60            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                3 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60          'invocation' ( temp uint)
+0:61      move second child to first child ( temp 3-component vector of double)
+0:61        vector swizzle ( temp 3-component vector of double)
+0:61          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              3 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61        subgroupShuffleXor ( global 3-component vector of double)
+0:61          vector swizzle ( temp 3-component vector of double)
+0:61            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  2 (const int)
+0:61              Constant:
+0:61                3 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61              Constant:
+0:61                2 (const int)
+0:61          'invocation' ( temp uint)
+0:62      move second child to first child ( temp 4-component vector of double)
+0:62        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'invocation' ( temp uint)
+0:62          Constant:
+0:62            3 (const int)
+0:62        subgroupShuffleXor ( global 4-component vector of double)
+0:62          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              Constant:
+0:62                3 (const int)
+0:62            Constant:
+0:62              3 (const int)
+0:62          'invocation' ( temp uint)
+0:64      move second child to first child ( temp int)
+0:64        direct index ( temp int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'invocation' ( temp uint)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Constant:
+0:64            0 (const int)
+0:64        Convert bool to int ( temp int)
+0:64          subgroupShuffleXor ( global bool)
+0:64            Compare Less Than ( temp bool)
+0:64              direct index ( temp int)
+0:64                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    Constant:
+0:64                      0 (const int)
+0:64                  Constant:
+0:64                    1 (const int)
+0:64                Constant:
+0:64                  0 (const int)
+0:64              Constant:
+0:64                0 (const int)
+0:64            'invocation' ( temp uint)
+0:65      move second child to first child ( temp 2-component vector of int)
+0:65        vector swizzle ( temp 2-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'invocation' ( temp uint)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65        Convert bool to int ( temp 2-component vector of int)
+0:65          subgroupShuffleXor ( global 2-component vector of bool)
+0:65            Compare Less Than ( global 2-component vector of bool)
+0:65              vector swizzle ( temp 2-component vector of int)
+0:65                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    Constant:
+0:65                      1 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65                Sequence
+0:65                  Constant:
+0:65                    0 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65                0 (const int)
+0:65            'invocation' ( temp uint)
+0:66      move second child to first child ( temp 3-component vector of int)
+0:66        vector swizzle ( temp 3-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              1 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66        Convert bool to int ( temp 3-component vector of int)
+0:66          subgroupShuffleXor ( global 3-component vector of bool)
+0:66            Compare Less Than ( global 3-component vector of bool)
+0:66              vector swizzle ( temp 3-component vector of int)
+0:66                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    Constant:
+0:66                      1 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                Sequence
+0:66                  Constant:
+0:66                    0 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                  Constant:
+0:66                    2 (const int)
+0:66              Constant:
+0:66                0 (const int)
+0:66                0 (const int)
+0:66                0 (const int)
+0:66            'invocation' ( temp uint)
+0:67      move second child to first child ( temp 4-component vector of int)
+0:67        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'invocation' ( temp uint)
+0:67          Constant:
+0:67            1 (const int)
+0:67        Convert bool to int ( temp 4-component vector of int)
+0:67          subgroupShuffleXor ( global 4-component vector of bool)
+0:67            Compare Less Than ( global 4-component vector of bool)
+0:67              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  Constant:
+0:67                    1 (const int)
+0:67                Constant:
+0:67                  1 (const int)
+0:67              Constant:
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:67            'invocation' ( temp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
diff --git a/Test/baseResults/glsl.450.subgroupShuffleRelative.comp.out b/Test/baseResults/glsl.450.subgroupShuffleRelative.comp.out
new file mode 100644
index 0000000..d60e2f7
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupShuffleRelative.comp.out
@@ -0,0 +1,2101 @@
+glsl.450.subgroupShuffleRelative.comp
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_shuffle_relative
+local_size = (8, 8, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      move second child to first child ( temp float)
+0:19        direct index ( temp float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'invocation' ( temp uint)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            0 (const int)
+0:19        subgroupShuffleUp ( global float)
+0:19          direct index ( temp float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          'invocation' ( temp uint)
+0:20      move second child to first child ( temp 2-component vector of float)
+0:20        vector swizzle ( temp 2-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'invocation' ( temp uint)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20        subgroupShuffleUp ( global 2-component vector of float)
+0:20          vector swizzle ( temp 2-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                Constant:
+0:20                  1 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20          'invocation' ( temp uint)
+0:21      move second child to first child ( temp 3-component vector of float)
+0:21        vector swizzle ( temp 3-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'invocation' ( temp uint)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21            Constant:
+0:21              2 (const int)
+0:21        subgroupShuffleUp ( global 3-component vector of float)
+0:21          vector swizzle ( temp 3-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  2 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21              Constant:
+0:21                2 (const int)
+0:21          'invocation' ( temp uint)
+0:22      move second child to first child ( temp 4-component vector of float)
+0:22        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            0 (const int)
+0:22        subgroupShuffleUp ( global 4-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              Constant:
+0:22                3 (const int)
+0:22            Constant:
+0:22              0 (const int)
+0:22          'invocation' ( temp uint)
+0:24      move second child to first child ( temp int)
+0:24        direct index ( temp int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupShuffleUp ( global int)
+0:24          direct index ( temp int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:24          'invocation' ( temp uint)
+0:25      move second child to first child ( temp 2-component vector of int)
+0:25        vector swizzle ( temp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'invocation' ( temp uint)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupShuffleUp ( global 2-component vector of int)
+0:25          vector swizzle ( temp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25          'invocation' ( temp uint)
+0:26      move second child to first child ( temp 3-component vector of int)
+0:26        vector swizzle ( temp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupShuffleUp ( global 3-component vector of int)
+0:26          vector swizzle ( temp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26          'invocation' ( temp uint)
+0:27      move second child to first child ( temp 4-component vector of int)
+0:27        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            1 (const int)
+0:27        subgroupShuffleUp ( global 4-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              Constant:
+0:27                3 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27          'invocation' ( temp uint)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupShuffleUp ( global uint)
+0:29          direct index ( temp uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29          'invocation' ( temp uint)
+0:30      move second child to first child ( temp 2-component vector of uint)
+0:30        vector swizzle ( temp 2-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30        subgroupShuffleUp ( global 2-component vector of uint)
+0:30          vector swizzle ( temp 2-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                Constant:
+0:30                  1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30          'invocation' ( temp uint)
+0:31      move second child to first child ( temp 3-component vector of uint)
+0:31        vector swizzle ( temp 3-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'invocation' ( temp uint)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31        subgroupShuffleUp ( global 3-component vector of uint)
+0:31          vector swizzle ( temp 3-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  2 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31          'invocation' ( temp uint)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupShuffleUp ( global 4-component vector of uint)
+0:32          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              Constant:
+0:32                3 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32          'invocation' ( temp uint)
+0:34      move second child to first child ( temp double)
+0:34        direct index ( temp double)
+0:34          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              3 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupShuffleUp ( global double)
+0:34          direct index ( temp double)
+0:34            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          'invocation' ( temp uint)
+0:35      move second child to first child ( temp 2-component vector of double)
+0:35        vector swizzle ( temp 2-component vector of double)
+0:35          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'invocation' ( temp uint)
+0:35            Constant:
+0:35              3 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35        subgroupShuffleUp ( global 2-component vector of double)
+0:35          vector swizzle ( temp 2-component vector of double)
+0:35            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                3 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35          'invocation' ( temp uint)
+0:36      move second child to first child ( temp 3-component vector of double)
+0:36        vector swizzle ( temp 3-component vector of double)
+0:36          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              3 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36            Constant:
+0:36              2 (const int)
+0:36        subgroupShuffleUp ( global 3-component vector of double)
+0:36          vector swizzle ( temp 3-component vector of double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  2 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              Constant:
+0:36                2 (const int)
+0:36          'invocation' ( temp uint)
+0:37      move second child to first child ( temp 4-component vector of double)
+0:37        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            3 (const int)
+0:37        subgroupShuffleUp ( global 4-component vector of double)
+0:37          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              Constant:
+0:37                3 (const int)
+0:37            Constant:
+0:37              3 (const int)
+0:37          'invocation' ( temp uint)
+0:39      move second child to first child ( temp int)
+0:39        direct index ( temp int)
+0:39          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'invocation' ( temp uint)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Constant:
+0:39            0 (const int)
+0:39        Convert bool to int ( temp int)
+0:39          subgroupShuffleUp ( global bool)
+0:39            Compare Less Than ( temp bool)
+0:39              direct index ( temp int)
+0:39                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    Constant:
+0:39                      0 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            'invocation' ( temp uint)
+0:40      move second child to first child ( temp 2-component vector of int)
+0:40        vector swizzle ( temp 2-component vector of int)
+0:40          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'invocation' ( temp uint)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40        Convert bool to int ( temp 2-component vector of int)
+0:40          subgroupShuffleUp ( global 2-component vector of bool)
+0:40            Compare Less Than ( global 2-component vector of bool)
+0:40              vector swizzle ( temp 2-component vector of int)
+0:40                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    Constant:
+0:40                      1 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Sequence
+0:40                  Constant:
+0:40                    0 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40                0 (const int)
+0:40            'invocation' ( temp uint)
+0:41      move second child to first child ( temp 3-component vector of int)
+0:41        vector swizzle ( temp 3-component vector of int)
+0:41          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'invocation' ( temp uint)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41            Constant:
+0:41              2 (const int)
+0:41        Convert bool to int ( temp 3-component vector of int)
+0:41          subgroupShuffleUp ( global 3-component vector of bool)
+0:41            Compare Less Than ( global 3-component vector of bool)
+0:41              vector swizzle ( temp 3-component vector of int)
+0:41                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    Constant:
+0:41                      1 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                Sequence
+0:41                  Constant:
+0:41                    0 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                  Constant:
+0:41                    2 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41                0 (const int)
+0:41                0 (const int)
+0:41            'invocation' ( temp uint)
+0:42      move second child to first child ( temp 4-component vector of int)
+0:42        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            1 (const int)
+0:42        Convert bool to int ( temp 4-component vector of int)
+0:42          subgroupShuffleUp ( global 4-component vector of bool)
+0:42            Compare Less Than ( global 4-component vector of bool)
+0:42              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  Constant:
+0:42                    1 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:42              Constant:
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42            'invocation' ( temp uint)
+0:44      move second child to first child ( temp float)
+0:44        direct index ( temp float)
+0:44          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'invocation' ( temp uint)
+0:44            Constant:
+0:44              0 (const int)
+0:44          Constant:
+0:44            0 (const int)
+0:44        subgroupShuffleDown ( global float)
+0:44          direct index ( temp float)
+0:44            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                0 (const int)
+0:44            Constant:
+0:44              0 (const int)
+0:44          'invocation' ( temp uint)
+0:45      move second child to first child ( temp 2-component vector of float)
+0:45        vector swizzle ( temp 2-component vector of float)
+0:45          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'invocation' ( temp uint)
+0:45            Constant:
+0:45              0 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45        subgroupShuffleDown ( global 2-component vector of float)
+0:45          vector swizzle ( temp 2-component vector of float)
+0:45            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                Constant:
+0:45                  1 (const int)
+0:45              Constant:
+0:45                0 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45          'invocation' ( temp uint)
+0:46      move second child to first child ( temp 3-component vector of float)
+0:46        vector swizzle ( temp 3-component vector of float)
+0:46          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              0 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46        subgroupShuffleDown ( global 3-component vector of float)
+0:46          vector swizzle ( temp 3-component vector of float)
+0:46            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                0 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46          'invocation' ( temp uint)
+0:47      move second child to first child ( temp 4-component vector of float)
+0:47        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'invocation' ( temp uint)
+0:47          Constant:
+0:47            0 (const int)
+0:47        subgroupShuffleDown ( global 4-component vector of float)
+0:47          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              Constant:
+0:47                3 (const int)
+0:47            Constant:
+0:47              0 (const int)
+0:47          'invocation' ( temp uint)
+0:49      move second child to first child ( temp int)
+0:49        direct index ( temp int)
+0:49          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'invocation' ( temp uint)
+0:49            Constant:
+0:49              1 (const int)
+0:49          Constant:
+0:49            0 (const int)
+0:49        subgroupShuffleDown ( global int)
+0:49          direct index ( temp int)
+0:49            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          'invocation' ( temp uint)
+0:50      move second child to first child ( temp 2-component vector of int)
+0:50        vector swizzle ( temp 2-component vector of int)
+0:50          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'invocation' ( temp uint)
+0:50            Constant:
+0:50              1 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50        subgroupShuffleDown ( global 2-component vector of int)
+0:50          vector swizzle ( temp 2-component vector of int)
+0:50            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50          'invocation' ( temp uint)
+0:51      move second child to first child ( temp 3-component vector of int)
+0:51        vector swizzle ( temp 3-component vector of int)
+0:51          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              1 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51        subgroupShuffleDown ( global 3-component vector of int)
+0:51          vector swizzle ( temp 3-component vector of int)
+0:51            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  2 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51          'invocation' ( temp uint)
+0:52      move second child to first child ( temp 4-component vector of int)
+0:52        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'invocation' ( temp uint)
+0:52          Constant:
+0:52            1 (const int)
+0:52        subgroupShuffleDown ( global 4-component vector of int)
+0:52          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              Constant:
+0:52                3 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52          'invocation' ( temp uint)
+0:54      move second child to first child ( temp uint)
+0:54        direct index ( temp uint)
+0:54          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'invocation' ( temp uint)
+0:54            Constant:
+0:54              2 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupShuffleDown ( global uint)
+0:54          direct index ( temp uint)
+0:54            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                Constant:
+0:54                  0 (const int)
+0:54              Constant:
+0:54                2 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:54          'invocation' ( temp uint)
+0:55      move second child to first child ( temp 2-component vector of uint)
+0:55        vector swizzle ( temp 2-component vector of uint)
+0:55          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'invocation' ( temp uint)
+0:55            Constant:
+0:55              2 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55        subgroupShuffleDown ( global 2-component vector of uint)
+0:55          vector swizzle ( temp 2-component vector of uint)
+0:55            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Constant:
+0:55                2 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55          'invocation' ( temp uint)
+0:56      move second child to first child ( temp 3-component vector of uint)
+0:56        vector swizzle ( temp 3-component vector of uint)
+0:56          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              2 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56            Constant:
+0:56              2 (const int)
+0:56        subgroupShuffleDown ( global 3-component vector of uint)
+0:56          vector swizzle ( temp 3-component vector of uint)
+0:56            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  2 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56          'invocation' ( temp uint)
+0:57      move second child to first child ( temp 4-component vector of uint)
+0:57        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'invocation' ( temp uint)
+0:57          Constant:
+0:57            2 (const int)
+0:57        subgroupShuffleDown ( global 4-component vector of uint)
+0:57          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              Constant:
+0:57                3 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:57          'invocation' ( temp uint)
+0:59      move second child to first child ( temp double)
+0:59        direct index ( temp double)
+0:59          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'invocation' ( temp uint)
+0:59            Constant:
+0:59              3 (const int)
+0:59          Constant:
+0:59            0 (const int)
+0:59        subgroupShuffleDown ( global double)
+0:59          direct index ( temp double)
+0:59            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                Constant:
+0:59                  0 (const int)
+0:59              Constant:
+0:59                3 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:59          'invocation' ( temp uint)
+0:60      move second child to first child ( temp 2-component vector of double)
+0:60        vector swizzle ( temp 2-component vector of double)
+0:60          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'invocation' ( temp uint)
+0:60            Constant:
+0:60              3 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60        subgroupShuffleDown ( global 2-component vector of double)
+0:60          vector swizzle ( temp 2-component vector of double)
+0:60            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                3 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60          'invocation' ( temp uint)
+0:61      move second child to first child ( temp 3-component vector of double)
+0:61        vector swizzle ( temp 3-component vector of double)
+0:61          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              3 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61        subgroupShuffleDown ( global 3-component vector of double)
+0:61          vector swizzle ( temp 3-component vector of double)
+0:61            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  2 (const int)
+0:61              Constant:
+0:61                3 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61              Constant:
+0:61                2 (const int)
+0:61          'invocation' ( temp uint)
+0:62      move second child to first child ( temp 4-component vector of double)
+0:62        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'invocation' ( temp uint)
+0:62          Constant:
+0:62            3 (const int)
+0:62        subgroupShuffleDown ( global 4-component vector of double)
+0:62          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              Constant:
+0:62                3 (const int)
+0:62            Constant:
+0:62              3 (const int)
+0:62          'invocation' ( temp uint)
+0:64      move second child to first child ( temp int)
+0:64        direct index ( temp int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'invocation' ( temp uint)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Constant:
+0:64            0 (const int)
+0:64        Convert bool to int ( temp int)
+0:64          subgroupShuffleDown ( global bool)
+0:64            Compare Less Than ( temp bool)
+0:64              direct index ( temp int)
+0:64                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    Constant:
+0:64                      0 (const int)
+0:64                  Constant:
+0:64                    1 (const int)
+0:64                Constant:
+0:64                  0 (const int)
+0:64              Constant:
+0:64                0 (const int)
+0:64            'invocation' ( temp uint)
+0:65      move second child to first child ( temp 2-component vector of int)
+0:65        vector swizzle ( temp 2-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'invocation' ( temp uint)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65        Convert bool to int ( temp 2-component vector of int)
+0:65          subgroupShuffleDown ( global 2-component vector of bool)
+0:65            Compare Less Than ( global 2-component vector of bool)
+0:65              vector swizzle ( temp 2-component vector of int)
+0:65                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    Constant:
+0:65                      1 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65                Sequence
+0:65                  Constant:
+0:65                    0 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65                0 (const int)
+0:65            'invocation' ( temp uint)
+0:66      move second child to first child ( temp 3-component vector of int)
+0:66        vector swizzle ( temp 3-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              1 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66        Convert bool to int ( temp 3-component vector of int)
+0:66          subgroupShuffleDown ( global 3-component vector of bool)
+0:66            Compare Less Than ( global 3-component vector of bool)
+0:66              vector swizzle ( temp 3-component vector of int)
+0:66                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    Constant:
+0:66                      1 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                Sequence
+0:66                  Constant:
+0:66                    0 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                  Constant:
+0:66                    2 (const int)
+0:66              Constant:
+0:66                0 (const int)
+0:66                0 (const int)
+0:66                0 (const int)
+0:66            'invocation' ( temp uint)
+0:67      move second child to first child ( temp 4-component vector of int)
+0:67        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'invocation' ( temp uint)
+0:67          Constant:
+0:67            1 (const int)
+0:67        Convert bool to int ( temp 4-component vector of int)
+0:67          subgroupShuffleDown ( global 4-component vector of bool)
+0:67            Compare Less Than ( global 4-component vector of bool)
+0:67              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  Constant:
+0:67                    1 (const int)
+0:67                Constant:
+0:67                  1 (const int)
+0:67              Constant:
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:67            'invocation' ( temp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_shuffle_relative
+local_size = (8, 8, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp uint)
+0:17          'invocation' ( temp uint)
+0:17          mod ( temp uint)
+0:17            add ( temp uint)
+0:17              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      move second child to first child ( temp float)
+0:19        direct index ( temp float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19              'invocation' ( temp uint)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Constant:
+0:19            0 (const int)
+0:19        subgroupShuffleUp ( global float)
+0:19          direct index ( temp float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          'invocation' ( temp uint)
+0:20      move second child to first child ( temp 2-component vector of float)
+0:20        vector swizzle ( temp 2-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20              'invocation' ( temp uint)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20        subgroupShuffleUp ( global 2-component vector of float)
+0:20          vector swizzle ( temp 2-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:20                Constant:
+0:20                  1 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20          'invocation' ( temp uint)
+0:21      move second child to first child ( temp 3-component vector of float)
+0:21        vector swizzle ( temp 3-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21              'invocation' ( temp uint)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21            Constant:
+0:21              2 (const int)
+0:21        subgroupShuffleUp ( global 3-component vector of float)
+0:21          vector swizzle ( temp 3-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:21                Constant:
+0:21                  2 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21              Constant:
+0:21                2 (const int)
+0:21          'invocation' ( temp uint)
+0:22      move second child to first child ( temp 4-component vector of float)
+0:22        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22            'invocation' ( temp uint)
+0:22          Constant:
+0:22            0 (const int)
+0:22        subgroupShuffleUp ( global 4-component vector of float)
+0:22          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:22              Constant:
+0:22                3 (const int)
+0:22            Constant:
+0:22              0 (const int)
+0:22          'invocation' ( temp uint)
+0:24      move second child to first child ( temp int)
+0:24        direct index ( temp int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24              'invocation' ( temp uint)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Constant:
+0:24            0 (const int)
+0:24        subgroupShuffleUp ( global int)
+0:24          direct index ( temp int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              0 (const int)
+0:24          'invocation' ( temp uint)
+0:25      move second child to first child ( temp 2-component vector of int)
+0:25        vector swizzle ( temp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25              'invocation' ( temp uint)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupShuffleUp ( global 2-component vector of int)
+0:25          vector swizzle ( temp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25          'invocation' ( temp uint)
+0:26      move second child to first child ( temp 3-component vector of int)
+0:26        vector swizzle ( temp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26              'invocation' ( temp uint)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupShuffleUp ( global 3-component vector of int)
+0:26          vector swizzle ( temp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26          'invocation' ( temp uint)
+0:27      move second child to first child ( temp 4-component vector of int)
+0:27        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27            'invocation' ( temp uint)
+0:27          Constant:
+0:27            1 (const int)
+0:27        subgroupShuffleUp ( global 4-component vector of int)
+0:27          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:27              Constant:
+0:27                3 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27          'invocation' ( temp uint)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29              'invocation' ( temp uint)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            0 (const int)
+0:29        subgroupShuffleUp ( global uint)
+0:29          direct index ( temp uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29          'invocation' ( temp uint)
+0:30      move second child to first child ( temp 2-component vector of uint)
+0:30        vector swizzle ( temp 2-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30              'invocation' ( temp uint)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30        subgroupShuffleUp ( global 2-component vector of uint)
+0:30          vector swizzle ( temp 2-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:30                Constant:
+0:30                  1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30          'invocation' ( temp uint)
+0:31      move second child to first child ( temp 3-component vector of uint)
+0:31        vector swizzle ( temp 3-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31              'invocation' ( temp uint)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31        subgroupShuffleUp ( global 3-component vector of uint)
+0:31          vector swizzle ( temp 3-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:31                Constant:
+0:31                  2 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31          'invocation' ( temp uint)
+0:32      move second child to first child ( temp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32            'invocation' ( temp uint)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupShuffleUp ( global 4-component vector of uint)
+0:32          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:32              Constant:
+0:32                3 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32          'invocation' ( temp uint)
+0:34      move second child to first child ( temp double)
+0:34        direct index ( temp double)
+0:34          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34              'invocation' ( temp uint)
+0:34            Constant:
+0:34              3 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupShuffleUp ( global double)
+0:34          direct index ( temp double)
+0:34            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          'invocation' ( temp uint)
+0:35      move second child to first child ( temp 2-component vector of double)
+0:35        vector swizzle ( temp 2-component vector of double)
+0:35          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35              'invocation' ( temp uint)
+0:35            Constant:
+0:35              3 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35        subgroupShuffleUp ( global 2-component vector of double)
+0:35          vector swizzle ( temp 2-component vector of double)
+0:35            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                3 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35          'invocation' ( temp uint)
+0:36      move second child to first child ( temp 3-component vector of double)
+0:36        vector swizzle ( temp 3-component vector of double)
+0:36          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36              'invocation' ( temp uint)
+0:36            Constant:
+0:36              3 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36            Constant:
+0:36              2 (const int)
+0:36        subgroupShuffleUp ( global 3-component vector of double)
+0:36          vector swizzle ( temp 3-component vector of double)
+0:36            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:36                Constant:
+0:36                  2 (const int)
+0:36              Constant:
+0:36                3 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36              Constant:
+0:36                2 (const int)
+0:36          'invocation' ( temp uint)
+0:37      move second child to first child ( temp 4-component vector of double)
+0:37        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37            'invocation' ( temp uint)
+0:37          Constant:
+0:37            3 (const int)
+0:37        subgroupShuffleUp ( global 4-component vector of double)
+0:37          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:37              Constant:
+0:37                3 (const int)
+0:37            Constant:
+0:37              3 (const int)
+0:37          'invocation' ( temp uint)
+0:39      move second child to first child ( temp int)
+0:39        direct index ( temp int)
+0:39          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39              'invocation' ( temp uint)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Constant:
+0:39            0 (const int)
+0:39        Convert bool to int ( temp int)
+0:39          subgroupShuffleUp ( global bool)
+0:39            Compare Less Than ( temp bool)
+0:39              direct index ( temp int)
+0:39                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:39                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:39                    Constant:
+0:39                      0 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Constant:
+0:39                  0 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            'invocation' ( temp uint)
+0:40      move second child to first child ( temp 2-component vector of int)
+0:40        vector swizzle ( temp 2-component vector of int)
+0:40          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40              'invocation' ( temp uint)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40        Convert bool to int ( temp 2-component vector of int)
+0:40          subgroupShuffleUp ( global 2-component vector of bool)
+0:40            Compare Less Than ( global 2-component vector of bool)
+0:40              vector swizzle ( temp 2-component vector of int)
+0:40                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:40                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:40                    Constant:
+0:40                      1 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Sequence
+0:40                  Constant:
+0:40                    0 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40                0 (const int)
+0:40            'invocation' ( temp uint)
+0:41      move second child to first child ( temp 3-component vector of int)
+0:41        vector swizzle ( temp 3-component vector of int)
+0:41          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41              'invocation' ( temp uint)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41            Constant:
+0:41              2 (const int)
+0:41        Convert bool to int ( temp 3-component vector of int)
+0:41          subgroupShuffleUp ( global 3-component vector of bool)
+0:41            Compare Less Than ( global 3-component vector of bool)
+0:41              vector swizzle ( temp 3-component vector of int)
+0:41                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:41                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:41                    Constant:
+0:41                      1 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                Sequence
+0:41                  Constant:
+0:41                    0 (const int)
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                  Constant:
+0:41                    2 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41                0 (const int)
+0:41                0 (const int)
+0:41            'invocation' ( temp uint)
+0:42      move second child to first child ( temp 4-component vector of int)
+0:42        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42            'invocation' ( temp uint)
+0:42          Constant:
+0:42            1 (const int)
+0:42        Convert bool to int ( temp 4-component vector of int)
+0:42          subgroupShuffleUp ( global 4-component vector of bool)
+0:42            Compare Less Than ( global 4-component vector of bool)
+0:42              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:42                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:42                  Constant:
+0:42                    1 (const int)
+0:42                Constant:
+0:42                  1 (const int)
+0:42              Constant:
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42                0 (const int)
+0:42            'invocation' ( temp uint)
+0:44      move second child to first child ( temp float)
+0:44        direct index ( temp float)
+0:44          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44              'invocation' ( temp uint)
+0:44            Constant:
+0:44              0 (const int)
+0:44          Constant:
+0:44            0 (const int)
+0:44        subgroupShuffleDown ( global float)
+0:44          direct index ( temp float)
+0:44            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:44                Constant:
+0:44                  0 (const int)
+0:44              Constant:
+0:44                0 (const int)
+0:44            Constant:
+0:44              0 (const int)
+0:44          'invocation' ( temp uint)
+0:45      move second child to first child ( temp 2-component vector of float)
+0:45        vector swizzle ( temp 2-component vector of float)
+0:45          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45              'invocation' ( temp uint)
+0:45            Constant:
+0:45              0 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45        subgroupShuffleDown ( global 2-component vector of float)
+0:45          vector swizzle ( temp 2-component vector of float)
+0:45            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:45                Constant:
+0:45                  1 (const int)
+0:45              Constant:
+0:45                0 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45          'invocation' ( temp uint)
+0:46      move second child to first child ( temp 3-component vector of float)
+0:46        vector swizzle ( temp 3-component vector of float)
+0:46          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46              'invocation' ( temp uint)
+0:46            Constant:
+0:46              0 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46        subgroupShuffleDown ( global 3-component vector of float)
+0:46          vector swizzle ( temp 3-component vector of float)
+0:46            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                0 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46          'invocation' ( temp uint)
+0:47      move second child to first child ( temp 4-component vector of float)
+0:47        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47            'invocation' ( temp uint)
+0:47          Constant:
+0:47            0 (const int)
+0:47        subgroupShuffleDown ( global 4-component vector of float)
+0:47          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:47              Constant:
+0:47                3 (const int)
+0:47            Constant:
+0:47              0 (const int)
+0:47          'invocation' ( temp uint)
+0:49      move second child to first child ( temp int)
+0:49        direct index ( temp int)
+0:49          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49              'invocation' ( temp uint)
+0:49            Constant:
+0:49              1 (const int)
+0:49          Constant:
+0:49            0 (const int)
+0:49        subgroupShuffleDown ( global int)
+0:49          direct index ( temp int)
+0:49            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:49                Constant:
+0:49                  0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          'invocation' ( temp uint)
+0:50      move second child to first child ( temp 2-component vector of int)
+0:50        vector swizzle ( temp 2-component vector of int)
+0:50          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50              'invocation' ( temp uint)
+0:50            Constant:
+0:50              1 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50        subgroupShuffleDown ( global 2-component vector of int)
+0:50          vector swizzle ( temp 2-component vector of int)
+0:50            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50          'invocation' ( temp uint)
+0:51      move second child to first child ( temp 3-component vector of int)
+0:51        vector swizzle ( temp 3-component vector of int)
+0:51          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51              'invocation' ( temp uint)
+0:51            Constant:
+0:51              1 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51        subgroupShuffleDown ( global 3-component vector of int)
+0:51          vector swizzle ( temp 3-component vector of int)
+0:51            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:51                Constant:
+0:51                  2 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51          'invocation' ( temp uint)
+0:52      move second child to first child ( temp 4-component vector of int)
+0:52        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52            'invocation' ( temp uint)
+0:52          Constant:
+0:52            1 (const int)
+0:52        subgroupShuffleDown ( global 4-component vector of int)
+0:52          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:52              Constant:
+0:52                3 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52          'invocation' ( temp uint)
+0:54      move second child to first child ( temp uint)
+0:54        direct index ( temp uint)
+0:54          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54              'invocation' ( temp uint)
+0:54            Constant:
+0:54              2 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupShuffleDown ( global uint)
+0:54          direct index ( temp uint)
+0:54            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:54                Constant:
+0:54                  0 (const int)
+0:54              Constant:
+0:54                2 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:54          'invocation' ( temp uint)
+0:55      move second child to first child ( temp 2-component vector of uint)
+0:55        vector swizzle ( temp 2-component vector of uint)
+0:55          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55              'invocation' ( temp uint)
+0:55            Constant:
+0:55              2 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55        subgroupShuffleDown ( global 2-component vector of uint)
+0:55          vector swizzle ( temp 2-component vector of uint)
+0:55            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:55                Constant:
+0:55                  1 (const int)
+0:55              Constant:
+0:55                2 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55          'invocation' ( temp uint)
+0:56      move second child to first child ( temp 3-component vector of uint)
+0:56        vector swizzle ( temp 3-component vector of uint)
+0:56          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56              'invocation' ( temp uint)
+0:56            Constant:
+0:56              2 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56            Constant:
+0:56              2 (const int)
+0:56        subgroupShuffleDown ( global 3-component vector of uint)
+0:56          vector swizzle ( temp 3-component vector of uint)
+0:56            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:56                Constant:
+0:56                  2 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56              Constant:
+0:56                2 (const int)
+0:56          'invocation' ( temp uint)
+0:57      move second child to first child ( temp 4-component vector of uint)
+0:57        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57            'invocation' ( temp uint)
+0:57          Constant:
+0:57            2 (const int)
+0:57        subgroupShuffleDown ( global 4-component vector of uint)
+0:57          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:57              Constant:
+0:57                3 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:57          'invocation' ( temp uint)
+0:59      move second child to first child ( temp double)
+0:59        direct index ( temp double)
+0:59          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59              'invocation' ( temp uint)
+0:59            Constant:
+0:59              3 (const int)
+0:59          Constant:
+0:59            0 (const int)
+0:59        subgroupShuffleDown ( global double)
+0:59          direct index ( temp double)
+0:59            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:59                Constant:
+0:59                  0 (const int)
+0:59              Constant:
+0:59                3 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:59          'invocation' ( temp uint)
+0:60      move second child to first child ( temp 2-component vector of double)
+0:60        vector swizzle ( temp 2-component vector of double)
+0:60          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60              'invocation' ( temp uint)
+0:60            Constant:
+0:60              3 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60        subgroupShuffleDown ( global 2-component vector of double)
+0:60          vector swizzle ( temp 2-component vector of double)
+0:60            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                3 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60          'invocation' ( temp uint)
+0:61      move second child to first child ( temp 3-component vector of double)
+0:61        vector swizzle ( temp 3-component vector of double)
+0:61          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61              'invocation' ( temp uint)
+0:61            Constant:
+0:61              3 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61        subgroupShuffleDown ( global 3-component vector of double)
+0:61          vector swizzle ( temp 3-component vector of double)
+0:61            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:61                Constant:
+0:61                  2 (const int)
+0:61              Constant:
+0:61                3 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61              Constant:
+0:61                2 (const int)
+0:61          'invocation' ( temp uint)
+0:62      move second child to first child ( temp 4-component vector of double)
+0:62        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62            'invocation' ( temp uint)
+0:62          Constant:
+0:62            3 (const int)
+0:62        subgroupShuffleDown ( global 4-component vector of double)
+0:62          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:62              Constant:
+0:62                3 (const int)
+0:62            Constant:
+0:62              3 (const int)
+0:62          'invocation' ( temp uint)
+0:64      move second child to first child ( temp int)
+0:64        direct index ( temp int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64              'invocation' ( temp uint)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Constant:
+0:64            0 (const int)
+0:64        Convert bool to int ( temp int)
+0:64          subgroupShuffleDown ( global bool)
+0:64            Compare Less Than ( temp bool)
+0:64              direct index ( temp int)
+0:64                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:64                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:64                    Constant:
+0:64                      0 (const int)
+0:64                  Constant:
+0:64                    1 (const int)
+0:64                Constant:
+0:64                  0 (const int)
+0:64              Constant:
+0:64                0 (const int)
+0:64            'invocation' ( temp uint)
+0:65      move second child to first child ( temp 2-component vector of int)
+0:65        vector swizzle ( temp 2-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65              'invocation' ( temp uint)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65        Convert bool to int ( temp 2-component vector of int)
+0:65          subgroupShuffleDown ( global 2-component vector of bool)
+0:65            Compare Less Than ( global 2-component vector of bool)
+0:65              vector swizzle ( temp 2-component vector of int)
+0:65                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:65                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:65                    Constant:
+0:65                      1 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65                Sequence
+0:65                  Constant:
+0:65                    0 (const int)
+0:65                  Constant:
+0:65                    1 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65                0 (const int)
+0:65            'invocation' ( temp uint)
+0:66      move second child to first child ( temp 3-component vector of int)
+0:66        vector swizzle ( temp 3-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66              'invocation' ( temp uint)
+0:66            Constant:
+0:66              1 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66        Convert bool to int ( temp 3-component vector of int)
+0:66          subgroupShuffleDown ( global 3-component vector of bool)
+0:66            Compare Less Than ( global 3-component vector of bool)
+0:66              vector swizzle ( temp 3-component vector of int)
+0:66                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:66                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:66                    Constant:
+0:66                      1 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                Sequence
+0:66                  Constant:
+0:66                    0 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:66                  Constant:
+0:66                    2 (const int)
+0:66              Constant:
+0:66                0 (const int)
+0:66                0 (const int)
+0:66                0 (const int)
+0:66            'invocation' ( temp uint)
+0:67      move second child to first child ( temp 4-component vector of int)
+0:67        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67            'invocation' ( temp uint)
+0:67          Constant:
+0:67            1 (const int)
+0:67        Convert bool to int ( temp 4-component vector of int)
+0:67          subgroupShuffleDown ( global 4-component vector of bool)
+0:67            Compare Less Than ( global 4-component vector of bool)
+0:67              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:67                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+0:67                  Constant:
+0:67                    1 (const int)
+0:67                Constant:
+0:67                  1 (const int)
+0:67              Constant:
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:67                0 (const int)
+0:67            'invocation' ( temp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
+
diff --git a/Test/baseResults/glsl.450.subgroupVote.comp.out b/Test/baseResults/glsl.450.subgroupVote.comp.out
new file mode 100644
index 0000000..3c49de2
--- /dev/null
+++ b/Test/baseResults/glsl.450.subgroupVote.comp.out
@@ -0,0 +1,971 @@
+glsl.450.subgroupVote.comp
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_vote
+local_size = (8, 8, 1)
+0:? Sequence
+0:16  Function Definition: main( ( global void)
+0:16    Function Parameters: 
+0:18    Sequence
+0:18      Sequence
+0:18        move second child to first child ( temp uint)
+0:18          'invocation' ( temp uint)
+0:18          mod ( temp uint)
+0:18            add ( temp uint)
+0:18              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:18              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:18            Constant:
+0:18              4 (const uint)
+0:20      Test condition and select ( temp void)
+0:20        Condition
+0:20        subgroupAll ( global bool)
+0:20          Compare Less Than ( temp bool)
+0:20            r: direct index for structure (layout( column_major shared) buffer int)
+0:20              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:20                'invocation' ( temp uint)
+0:20              Constant:
+0:20                4 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20        true case
+0:22        Sequence
+0:22          move second child to first child ( temp int)
+0:22            r: direct index for structure (layout( column_major shared) buffer int)
+0:22              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:22                'invocation' ( temp uint)
+0:22              Constant:
+0:22                4 (const int)
+0:22            Convert bool to int ( temp int)
+0:22              subgroupAllEqual ( global bool)
+0:22                direct index ( temp float)
+0:22                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:22                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:22                      Constant:
+0:22                        0 (const int)
+0:22                    Constant:
+0:22                      0 (const int)
+0:22                  Constant:
+0:22                    0 (const int)
+0:23          move second child to first child ( temp int)
+0:23            r: direct index for structure (layout( column_major shared) buffer int)
+0:23              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:23                'invocation' ( temp uint)
+0:23              Constant:
+0:23                4 (const int)
+0:23            Convert bool to int ( temp int)
+0:23              subgroupAllEqual ( global bool)
+0:23                vector swizzle ( temp 2-component vector of float)
+0:23                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:23                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:23                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:23                      Constant:
+0:23                        1 (const int)
+0:23                    Constant:
+0:23                      0 (const int)
+0:23                  Sequence
+0:23                    Constant:
+0:23                      0 (const int)
+0:23                    Constant:
+0:23                      1 (const int)
+0:24          move second child to first child ( temp int)
+0:24            r: direct index for structure (layout( column_major shared) buffer int)
+0:24              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:24                'invocation' ( temp uint)
+0:24              Constant:
+0:24                4 (const int)
+0:24            Convert bool to int ( temp int)
+0:24              subgroupAllEqual ( global bool)
+0:24                vector swizzle ( temp 3-component vector of float)
+0:24                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:24                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:24                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:24                      Constant:
+0:24                        2 (const int)
+0:24                    Constant:
+0:24                      0 (const int)
+0:24                  Sequence
+0:24                    Constant:
+0:24                      0 (const int)
+0:24                    Constant:
+0:24                      1 (const int)
+0:24                    Constant:
+0:24                      2 (const int)
+0:25          move second child to first child ( temp int)
+0:25            r: direct index for structure (layout( column_major shared) buffer int)
+0:25              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:25                'invocation' ( temp uint)
+0:25              Constant:
+0:25                4 (const int)
+0:25            Convert bool to int ( temp int)
+0:25              subgroupAllEqual ( global bool)
+0:25                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:25                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:25                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:25                    Constant:
+0:25                      3 (const int)
+0:25                  Constant:
+0:25                    0 (const int)
+0:27          move second child to first child ( temp int)
+0:27            r: direct index for structure (layout( column_major shared) buffer int)
+0:27              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:27                'invocation' ( temp uint)
+0:27              Constant:
+0:27                4 (const int)
+0:27            Convert bool to int ( temp int)
+0:27              subgroupAllEqual ( global bool)
+0:27                direct index ( temp int)
+0:27                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:27                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:27                      Constant:
+0:27                        0 (const int)
+0:27                    Constant:
+0:27                      1 (const int)
+0:27                  Constant:
+0:27                    0 (const int)
+0:28          move second child to first child ( temp int)
+0:28            r: direct index for structure (layout( column_major shared) buffer int)
+0:28              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:28                'invocation' ( temp uint)
+0:28              Constant:
+0:28                4 (const int)
+0:28            Convert bool to int ( temp int)
+0:28              subgroupAllEqual ( global bool)
+0:28                vector swizzle ( temp 2-component vector of int)
+0:28                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:28                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:28                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:28                      Constant:
+0:28                        1 (const int)
+0:28                    Constant:
+0:28                      1 (const int)
+0:28                  Sequence
+0:28                    Constant:
+0:28                      0 (const int)
+0:28                    Constant:
+0:28                      1 (const int)
+0:29          move second child to first child ( temp int)
+0:29            r: direct index for structure (layout( column_major shared) buffer int)
+0:29              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:29                'invocation' ( temp uint)
+0:29              Constant:
+0:29                4 (const int)
+0:29            Convert bool to int ( temp int)
+0:29              subgroupAllEqual ( global bool)
+0:29                vector swizzle ( temp 3-component vector of int)
+0:29                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:29                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:29                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:29                      Constant:
+0:29                        2 (const int)
+0:29                    Constant:
+0:29                      1 (const int)
+0:29                  Sequence
+0:29                    Constant:
+0:29                      0 (const int)
+0:29                    Constant:
+0:29                      1 (const int)
+0:29                    Constant:
+0:29                      2 (const int)
+0:30          move second child to first child ( temp int)
+0:30            r: direct index for structure (layout( column_major shared) buffer int)
+0:30              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:30                'invocation' ( temp uint)
+0:30              Constant:
+0:30                4 (const int)
+0:30            Convert bool to int ( temp int)
+0:30              subgroupAllEqual ( global bool)
+0:30                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:30                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:30                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:30                    Constant:
+0:30                      3 (const int)
+0:30                  Constant:
+0:30                    1 (const int)
+0:32          move second child to first child ( temp int)
+0:32            r: direct index for structure (layout( column_major shared) buffer int)
+0:32              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:32                'invocation' ( temp uint)
+0:32              Constant:
+0:32                4 (const int)
+0:32            Convert bool to int ( temp int)
+0:32              subgroupAllEqual ( global bool)
+0:32                direct index ( temp uint)
+0:32                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:32                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:32                      Constant:
+0:32                        0 (const int)
+0:32                    Constant:
+0:32                      2 (const int)
+0:32                  Constant:
+0:32                    0 (const int)
+0:33          move second child to first child ( temp int)
+0:33            r: direct index for structure (layout( column_major shared) buffer int)
+0:33              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:33                'invocation' ( temp uint)
+0:33              Constant:
+0:33                4 (const int)
+0:33            Convert bool to int ( temp int)
+0:33              subgroupAllEqual ( global bool)
+0:33                vector swizzle ( temp 2-component vector of uint)
+0:33                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:33                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:33                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:33                      Constant:
+0:33                        1 (const int)
+0:33                    Constant:
+0:33                      2 (const int)
+0:33                  Sequence
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                    Constant:
+0:33                      1 (const int)
+0:34          move second child to first child ( temp int)
+0:34            r: direct index for structure (layout( column_major shared) buffer int)
+0:34              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:34                'invocation' ( temp uint)
+0:34              Constant:
+0:34                4 (const int)
+0:34            Convert bool to int ( temp int)
+0:34              subgroupAllEqual ( global bool)
+0:34                vector swizzle ( temp 3-component vector of uint)
+0:34                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:34                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:34                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:34                      Constant:
+0:34                        2 (const int)
+0:34                    Constant:
+0:34                      2 (const int)
+0:34                  Sequence
+0:34                    Constant:
+0:34                      0 (const int)
+0:34                    Constant:
+0:34                      1 (const int)
+0:34                    Constant:
+0:34                      2 (const int)
+0:35          move second child to first child ( temp int)
+0:35            r: direct index for structure (layout( column_major shared) buffer int)
+0:35              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:35                'invocation' ( temp uint)
+0:35              Constant:
+0:35                4 (const int)
+0:35            Convert bool to int ( temp int)
+0:35              subgroupAllEqual ( global bool)
+0:35                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:35                    Constant:
+0:35                      3 (const int)
+0:35                  Constant:
+0:35                    2 (const int)
+0:20        false case
+0:37        Test condition and select ( temp void)
+0:37          Condition
+0:37          subgroupAny ( global bool)
+0:37            Compare Less Than ( temp bool)
+0:37              r: direct index for structure (layout( column_major shared) buffer int)
+0:37                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:37                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:37                  'invocation' ( temp uint)
+0:37                Constant:
+0:37                  4 (const int)
+0:37              Constant:
+0:37                0 (const int)
+0:37          true case
+0:39          Sequence
+0:39            move second child to first child ( temp int)
+0:39              r: direct index for structure (layout( column_major shared) buffer int)
+0:39                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:39                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:39                  'invocation' ( temp uint)
+0:39                Constant:
+0:39                  4 (const int)
+0:39              Convert bool to int ( temp int)
+0:39                subgroupAllEqual ( global bool)
+0:39                  direct index ( temp double)
+0:39                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:39                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:39                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:39                        Constant:
+0:39                          0 (const int)
+0:39                      Constant:
+0:39                        3 (const int)
+0:39                    Constant:
+0:39                      0 (const int)
+0:40            move second child to first child ( temp int)
+0:40              r: direct index for structure (layout( column_major shared) buffer int)
+0:40                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:40                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:40                  'invocation' ( temp uint)
+0:40                Constant:
+0:40                  4 (const int)
+0:40              Convert bool to int ( temp int)
+0:40                subgroupAllEqual ( global bool)
+0:40                  vector swizzle ( temp 2-component vector of double)
+0:40                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:40                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:40                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:40                        Constant:
+0:40                          1 (const int)
+0:40                      Constant:
+0:40                        3 (const int)
+0:40                    Sequence
+0:40                      Constant:
+0:40                        0 (const int)
+0:40                      Constant:
+0:40                        1 (const int)
+0:41            move second child to first child ( temp int)
+0:41              r: direct index for structure (layout( column_major shared) buffer int)
+0:41                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:41                  'invocation' ( temp uint)
+0:41                Constant:
+0:41                  4 (const int)
+0:41              Convert bool to int ( temp int)
+0:41                subgroupAllEqual ( global bool)
+0:41                  vector swizzle ( temp 3-component vector of double)
+0:41                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:41                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:41                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:41                        Constant:
+0:41                          2 (const int)
+0:41                      Constant:
+0:41                        3 (const int)
+0:41                    Sequence
+0:41                      Constant:
+0:41                        0 (const int)
+0:41                      Constant:
+0:41                        1 (const int)
+0:41                      Constant:
+0:41                        2 (const int)
+0:42            move second child to first child ( temp int)
+0:42              r: direct index for structure (layout( column_major shared) buffer int)
+0:42                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:42                  'invocation' ( temp uint)
+0:42                Constant:
+0:42                  4 (const int)
+0:42              Convert bool to int ( temp int)
+0:42                subgroupAllEqual ( global bool)
+0:42                  d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:42                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:42                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:42                      Constant:
+0:42                        3 (const int)
+0:42                    Constant:
+0:42                      3 (const int)
+0:44            move second child to first child ( temp int)
+0:44              r: direct index for structure (layout( column_major shared) buffer int)
+0:44                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:44                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:44                  'invocation' ( temp uint)
+0:44                Constant:
+0:44                  4 (const int)
+0:44              Construct int ( temp int)
+0:44                Convert bool to int ( temp int)
+0:44                  subgroupAllEqual ( global bool)
+0:44                    Compare Less Than ( temp bool)
+0:44                      direct index ( temp int)
+0:44                        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:44                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:44                            Constant:
+0:44                              0 (const int)
+0:44                          Constant:
+0:44                            1 (const int)
+0:44                        Constant:
+0:44                          0 (const int)
+0:44                      Constant:
+0:44                        0 (const int)
+0:45            move second child to first child ( temp int)
+0:45              r: direct index for structure (layout( column_major shared) buffer int)
+0:45                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:45                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:45                  'invocation' ( temp uint)
+0:45                Constant:
+0:45                  4 (const int)
+0:45              Construct int ( temp int)
+0:45                Construct ivec2 ( temp 2-component vector of int)
+0:45                  Convert bool to int ( temp int)
+0:45                    subgroupAllEqual ( global bool)
+0:45                      Compare Less Than ( global 2-component vector of bool)
+0:45                        vector swizzle ( temp 2-component vector of int)
+0:45                          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:45                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:45                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:45                              Constant:
+0:45                                1 (const int)
+0:45                            Constant:
+0:45                              1 (const int)
+0:45                          Sequence
+0:45                            Constant:
+0:45                              0 (const int)
+0:45                            Constant:
+0:45                              1 (const int)
+0:45                        Constant:
+0:45                          0 (const int)
+0:45                          0 (const int)
+0:46            move second child to first child ( temp int)
+0:46              r: direct index for structure (layout( column_major shared) buffer int)
+0:46                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:46                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:46                  'invocation' ( temp uint)
+0:46                Constant:
+0:46                  4 (const int)
+0:46              Construct int ( temp int)
+0:46                Construct ivec3 ( temp 3-component vector of int)
+0:46                  Convert bool to int ( temp int)
+0:46                    subgroupAllEqual ( global bool)
+0:46                      Compare Less Than ( global 3-component vector of bool)
+0:46                        vector swizzle ( temp 3-component vector of int)
+0:46                          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:46                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:46                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:46                              Constant:
+0:46                                1 (const int)
+0:46                            Constant:
+0:46                              1 (const int)
+0:46                          Sequence
+0:46                            Constant:
+0:46                              0 (const int)
+0:46                            Constant:
+0:46                              1 (const int)
+0:46                            Constant:
+0:46                              2 (const int)
+0:46                        Constant:
+0:46                          0 (const int)
+0:46                          0 (const int)
+0:46                          0 (const int)
+0:47            move second child to first child ( temp int)
+0:47              r: direct index for structure (layout( column_major shared) buffer int)
+0:47                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:47                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:47                  'invocation' ( temp uint)
+0:47                Constant:
+0:47                  4 (const int)
+0:47              Construct int ( temp int)
+0:47                Construct ivec4 ( temp 4-component vector of int)
+0:47                  Convert bool to int ( temp int)
+0:47                    subgroupAllEqual ( global bool)
+0:47                      Compare Less Than ( global 4-component vector of bool)
+0:47                        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:47                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:47                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:47                            Constant:
+0:47                              1 (const int)
+0:47                          Constant:
+0:47                            1 (const int)
+0:47                        Constant:
+0:47                          0 (const int)
+0:47                          0 (const int)
+0:47                          0 (const int)
+0:47                          0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_vote
+local_size = (8, 8, 1)
+0:? Sequence
+0:16  Function Definition: main( ( global void)
+0:16    Function Parameters: 
+0:18    Sequence
+0:18      Sequence
+0:18        move second child to first child ( temp uint)
+0:18          'invocation' ( temp uint)
+0:18          mod ( temp uint)
+0:18            add ( temp uint)
+0:18              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:18              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:18            Constant:
+0:18              4 (const uint)
+0:20      Test condition and select ( temp void)
+0:20        Condition
+0:20        subgroupAll ( global bool)
+0:20          Compare Less Than ( temp bool)
+0:20            r: direct index for structure (layout( column_major shared) buffer int)
+0:20              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:20                'invocation' ( temp uint)
+0:20              Constant:
+0:20                4 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20        true case
+0:22        Sequence
+0:22          move second child to first child ( temp int)
+0:22            r: direct index for structure (layout( column_major shared) buffer int)
+0:22              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:22                'invocation' ( temp uint)
+0:22              Constant:
+0:22                4 (const int)
+0:22            Convert bool to int ( temp int)
+0:22              subgroupAllEqual ( global bool)
+0:22                direct index ( temp float)
+0:22                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:22                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:22                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:22                      Constant:
+0:22                        0 (const int)
+0:22                    Constant:
+0:22                      0 (const int)
+0:22                  Constant:
+0:22                    0 (const int)
+0:23          move second child to first child ( temp int)
+0:23            r: direct index for structure (layout( column_major shared) buffer int)
+0:23              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:23                'invocation' ( temp uint)
+0:23              Constant:
+0:23                4 (const int)
+0:23            Convert bool to int ( temp int)
+0:23              subgroupAllEqual ( global bool)
+0:23                vector swizzle ( temp 2-component vector of float)
+0:23                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:23                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:23                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:23                      Constant:
+0:23                        1 (const int)
+0:23                    Constant:
+0:23                      0 (const int)
+0:23                  Sequence
+0:23                    Constant:
+0:23                      0 (const int)
+0:23                    Constant:
+0:23                      1 (const int)
+0:24          move second child to first child ( temp int)
+0:24            r: direct index for structure (layout( column_major shared) buffer int)
+0:24              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:24                'invocation' ( temp uint)
+0:24              Constant:
+0:24                4 (const int)
+0:24            Convert bool to int ( temp int)
+0:24              subgroupAllEqual ( global bool)
+0:24                vector swizzle ( temp 3-component vector of float)
+0:24                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:24                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:24                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:24                      Constant:
+0:24                        2 (const int)
+0:24                    Constant:
+0:24                      0 (const int)
+0:24                  Sequence
+0:24                    Constant:
+0:24                      0 (const int)
+0:24                    Constant:
+0:24                      1 (const int)
+0:24                    Constant:
+0:24                      2 (const int)
+0:25          move second child to first child ( temp int)
+0:25            r: direct index for structure (layout( column_major shared) buffer int)
+0:25              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:25                'invocation' ( temp uint)
+0:25              Constant:
+0:25                4 (const int)
+0:25            Convert bool to int ( temp int)
+0:25              subgroupAllEqual ( global bool)
+0:25                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:25                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:25                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:25                    Constant:
+0:25                      3 (const int)
+0:25                  Constant:
+0:25                    0 (const int)
+0:27          move second child to first child ( temp int)
+0:27            r: direct index for structure (layout( column_major shared) buffer int)
+0:27              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:27                'invocation' ( temp uint)
+0:27              Constant:
+0:27                4 (const int)
+0:27            Convert bool to int ( temp int)
+0:27              subgroupAllEqual ( global bool)
+0:27                direct index ( temp int)
+0:27                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:27                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:27                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:27                      Constant:
+0:27                        0 (const int)
+0:27                    Constant:
+0:27                      1 (const int)
+0:27                  Constant:
+0:27                    0 (const int)
+0:28          move second child to first child ( temp int)
+0:28            r: direct index for structure (layout( column_major shared) buffer int)
+0:28              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:28                'invocation' ( temp uint)
+0:28              Constant:
+0:28                4 (const int)
+0:28            Convert bool to int ( temp int)
+0:28              subgroupAllEqual ( global bool)
+0:28                vector swizzle ( temp 2-component vector of int)
+0:28                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:28                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:28                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:28                      Constant:
+0:28                        1 (const int)
+0:28                    Constant:
+0:28                      1 (const int)
+0:28                  Sequence
+0:28                    Constant:
+0:28                      0 (const int)
+0:28                    Constant:
+0:28                      1 (const int)
+0:29          move second child to first child ( temp int)
+0:29            r: direct index for structure (layout( column_major shared) buffer int)
+0:29              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:29                'invocation' ( temp uint)
+0:29              Constant:
+0:29                4 (const int)
+0:29            Convert bool to int ( temp int)
+0:29              subgroupAllEqual ( global bool)
+0:29                vector swizzle ( temp 3-component vector of int)
+0:29                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:29                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:29                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:29                      Constant:
+0:29                        2 (const int)
+0:29                    Constant:
+0:29                      1 (const int)
+0:29                  Sequence
+0:29                    Constant:
+0:29                      0 (const int)
+0:29                    Constant:
+0:29                      1 (const int)
+0:29                    Constant:
+0:29                      2 (const int)
+0:30          move second child to first child ( temp int)
+0:30            r: direct index for structure (layout( column_major shared) buffer int)
+0:30              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:30                'invocation' ( temp uint)
+0:30              Constant:
+0:30                4 (const int)
+0:30            Convert bool to int ( temp int)
+0:30              subgroupAllEqual ( global bool)
+0:30                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:30                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:30                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:30                    Constant:
+0:30                      3 (const int)
+0:30                  Constant:
+0:30                    1 (const int)
+0:32          move second child to first child ( temp int)
+0:32            r: direct index for structure (layout( column_major shared) buffer int)
+0:32              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:32                'invocation' ( temp uint)
+0:32              Constant:
+0:32                4 (const int)
+0:32            Convert bool to int ( temp int)
+0:32              subgroupAllEqual ( global bool)
+0:32                direct index ( temp uint)
+0:32                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:32                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:32                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:32                      Constant:
+0:32                        0 (const int)
+0:32                    Constant:
+0:32                      2 (const int)
+0:32                  Constant:
+0:32                    0 (const int)
+0:33          move second child to first child ( temp int)
+0:33            r: direct index for structure (layout( column_major shared) buffer int)
+0:33              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:33                'invocation' ( temp uint)
+0:33              Constant:
+0:33                4 (const int)
+0:33            Convert bool to int ( temp int)
+0:33              subgroupAllEqual ( global bool)
+0:33                vector swizzle ( temp 2-component vector of uint)
+0:33                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:33                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:33                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:33                      Constant:
+0:33                        1 (const int)
+0:33                    Constant:
+0:33                      2 (const int)
+0:33                  Sequence
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                    Constant:
+0:33                      1 (const int)
+0:34          move second child to first child ( temp int)
+0:34            r: direct index for structure (layout( column_major shared) buffer int)
+0:34              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:34                'invocation' ( temp uint)
+0:34              Constant:
+0:34                4 (const int)
+0:34            Convert bool to int ( temp int)
+0:34              subgroupAllEqual ( global bool)
+0:34                vector swizzle ( temp 3-component vector of uint)
+0:34                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:34                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:34                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:34                      Constant:
+0:34                        2 (const int)
+0:34                    Constant:
+0:34                      2 (const int)
+0:34                  Sequence
+0:34                    Constant:
+0:34                      0 (const int)
+0:34                    Constant:
+0:34                      1 (const int)
+0:34                    Constant:
+0:34                      2 (const int)
+0:35          move second child to first child ( temp int)
+0:35            r: direct index for structure (layout( column_major shared) buffer int)
+0:35              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:35                'invocation' ( temp uint)
+0:35              Constant:
+0:35                4 (const int)
+0:35            Convert bool to int ( temp int)
+0:35              subgroupAllEqual ( global bool)
+0:35                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:35                    Constant:
+0:35                      3 (const int)
+0:35                  Constant:
+0:35                    2 (const int)
+0:20        false case
+0:37        Test condition and select ( temp void)
+0:37          Condition
+0:37          subgroupAny ( global bool)
+0:37            Compare Less Than ( temp bool)
+0:37              r: direct index for structure (layout( column_major shared) buffer int)
+0:37                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:37                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:37                  'invocation' ( temp uint)
+0:37                Constant:
+0:37                  4 (const int)
+0:37              Constant:
+0:37                0 (const int)
+0:37          true case
+0:39          Sequence
+0:39            move second child to first child ( temp int)
+0:39              r: direct index for structure (layout( column_major shared) buffer int)
+0:39                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:39                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:39                  'invocation' ( temp uint)
+0:39                Constant:
+0:39                  4 (const int)
+0:39              Convert bool to int ( temp int)
+0:39                subgroupAllEqual ( global bool)
+0:39                  direct index ( temp double)
+0:39                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:39                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:39                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:39                        Constant:
+0:39                          0 (const int)
+0:39                      Constant:
+0:39                        3 (const int)
+0:39                    Constant:
+0:39                      0 (const int)
+0:40            move second child to first child ( temp int)
+0:40              r: direct index for structure (layout( column_major shared) buffer int)
+0:40                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:40                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:40                  'invocation' ( temp uint)
+0:40                Constant:
+0:40                  4 (const int)
+0:40              Convert bool to int ( temp int)
+0:40                subgroupAllEqual ( global bool)
+0:40                  vector swizzle ( temp 2-component vector of double)
+0:40                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:40                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:40                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:40                        Constant:
+0:40                          1 (const int)
+0:40                      Constant:
+0:40                        3 (const int)
+0:40                    Sequence
+0:40                      Constant:
+0:40                        0 (const int)
+0:40                      Constant:
+0:40                        1 (const int)
+0:41            move second child to first child ( temp int)
+0:41              r: direct index for structure (layout( column_major shared) buffer int)
+0:41                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:41                  'invocation' ( temp uint)
+0:41                Constant:
+0:41                  4 (const int)
+0:41              Convert bool to int ( temp int)
+0:41                subgroupAllEqual ( global bool)
+0:41                  vector swizzle ( temp 3-component vector of double)
+0:41                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:41                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:41                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:41                        Constant:
+0:41                          2 (const int)
+0:41                      Constant:
+0:41                        3 (const int)
+0:41                    Sequence
+0:41                      Constant:
+0:41                        0 (const int)
+0:41                      Constant:
+0:41                        1 (const int)
+0:41                      Constant:
+0:41                        2 (const int)
+0:42            move second child to first child ( temp int)
+0:42              r: direct index for structure (layout( column_major shared) buffer int)
+0:42                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:42                  'invocation' ( temp uint)
+0:42                Constant:
+0:42                  4 (const int)
+0:42              Convert bool to int ( temp int)
+0:42                subgroupAllEqual ( global bool)
+0:42                  d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
+0:42                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:42                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:42                      Constant:
+0:42                        3 (const int)
+0:42                    Constant:
+0:42                      3 (const int)
+0:44            move second child to first child ( temp int)
+0:44              r: direct index for structure (layout( column_major shared) buffer int)
+0:44                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:44                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:44                  'invocation' ( temp uint)
+0:44                Constant:
+0:44                  4 (const int)
+0:44              Construct int ( temp int)
+0:44                Convert bool to int ( temp int)
+0:44                  subgroupAllEqual ( global bool)
+0:44                    Compare Less Than ( temp bool)
+0:44                      direct index ( temp int)
+0:44                        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:44                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:44                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:44                            Constant:
+0:44                              0 (const int)
+0:44                          Constant:
+0:44                            1 (const int)
+0:44                        Constant:
+0:44                          0 (const int)
+0:44                      Constant:
+0:44                        0 (const int)
+0:45            move second child to first child ( temp int)
+0:45              r: direct index for structure (layout( column_major shared) buffer int)
+0:45                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:45                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:45                  'invocation' ( temp uint)
+0:45                Constant:
+0:45                  4 (const int)
+0:45              Construct int ( temp int)
+0:45                Construct ivec2 ( temp 2-component vector of int)
+0:45                  Convert bool to int ( temp int)
+0:45                    subgroupAllEqual ( global bool)
+0:45                      Compare Less Than ( global 2-component vector of bool)
+0:45                        vector swizzle ( temp 2-component vector of int)
+0:45                          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:45                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:45                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:45                              Constant:
+0:45                                1 (const int)
+0:45                            Constant:
+0:45                              1 (const int)
+0:45                          Sequence
+0:45                            Constant:
+0:45                              0 (const int)
+0:45                            Constant:
+0:45                              1 (const int)
+0:45                        Constant:
+0:45                          0 (const int)
+0:45                          0 (const int)
+0:46            move second child to first child ( temp int)
+0:46              r: direct index for structure (layout( column_major shared) buffer int)
+0:46                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:46                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:46                  'invocation' ( temp uint)
+0:46                Constant:
+0:46                  4 (const int)
+0:46              Construct int ( temp int)
+0:46                Construct ivec3 ( temp 3-component vector of int)
+0:46                  Convert bool to int ( temp int)
+0:46                    subgroupAllEqual ( global bool)
+0:46                      Compare Less Than ( global 3-component vector of bool)
+0:46                        vector swizzle ( temp 3-component vector of int)
+0:46                          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:46                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:46                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:46                              Constant:
+0:46                                1 (const int)
+0:46                            Constant:
+0:46                              1 (const int)
+0:46                          Sequence
+0:46                            Constant:
+0:46                              0 (const int)
+0:46                            Constant:
+0:46                              1 (const int)
+0:46                            Constant:
+0:46                              2 (const int)
+0:46                        Constant:
+0:46                          0 (const int)
+0:46                          0 (const int)
+0:46                          0 (const int)
+0:47            move second child to first child ( temp int)
+0:47              r: direct index for structure (layout( column_major shared) buffer int)
+0:47                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:47                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:47                  'invocation' ( temp uint)
+0:47                Constant:
+0:47                  4 (const int)
+0:47              Construct int ( temp int)
+0:47                Construct ivec4 ( temp 4-component vector of int)
+0:47                  Convert bool to int ( temp int)
+0:47                    subgroupAllEqual ( global bool)
+0:47                      Compare Less Than ( global 4-component vector of bool)
+0:47                        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
+0:47                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:47                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+0:47                            Constant:
+0:47                              1 (const int)
+0:47                          Constant:
+0:47                            1 (const int)
+0:47                        Constant:
+0:47                          0 (const int)
+0:47                          0 (const int)
+0:47                          0 (const int)
+0:47                          0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
+
diff --git a/Test/baseResults/glsl.es320.subgroup.frag.out b/Test/baseResults/glsl.es320.subgroup.frag.out
new file mode 100644
index 0000000..f5447e2
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroup.frag.out
@@ -0,0 +1,41 @@
+glsl.es320.subgroup.frag
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+0:? Sequence
+0:4  Function Definition: main( ( global void)
+0:4    Function Parameters: 
+0:6    Sequence
+0:6      move second child to first child ( temp mediump 4-component vector of uint)
+0:6        'data' (layout( location=0) out mediump 4-component vector of uint)
+0:6        Construct uvec4 ( temp mediump 4-component vector of uint)
+0:6          'gl_SubgroupSize' ( flat in mediump uint unknown built-in variable)
+0:6          'gl_SubgroupInvocationID' ( flat in mediump uint unknown built-in variable)
+0:6          Constant:
+0:6            0 (const uint)
+0:6          Constant:
+0:6            0 (const uint)
+0:?   Linker Objects
+0:?     'data' (layout( location=0) out mediump 4-component vector of uint)
+
+
+Linked fragment stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+0:? Sequence
+0:4  Function Definition: main( ( global void)
+0:4    Function Parameters: 
+0:6    Sequence
+0:6      move second child to first child ( temp mediump 4-component vector of uint)
+0:6        'data' (layout( location=0) out mediump 4-component vector of uint)
+0:6        Construct uvec4 ( temp mediump 4-component vector of uint)
+0:6          'gl_SubgroupSize' ( flat in mediump uint unknown built-in variable)
+0:6          'gl_SubgroupInvocationID' ( flat in mediump uint unknown built-in variable)
+0:6          Constant:
+0:6            0 (const uint)
+0:6          Constant:
+0:6            0 (const uint)
+0:?   Linker Objects
+0:?     'data' (layout( location=0) out mediump 4-component vector of uint)
+
diff --git a/Test/baseResults/glsl.es320.subgroup.geom.out b/Test/baseResults/glsl.es320.subgroup.geom.out
new file mode 100644
index 0000000..ef408b3
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroup.geom.out
@@ -0,0 +1,59 @@
+glsl.es320.subgroup.geom
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+invocations = -1
+max_vertices = 1
+input primitive = points
+output primitive = points
+0:? Sequence
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      move second child to first child ( temp highp 4-component vector of uint)
+0:12        indirect index (layout( column_major std430 offset=0) temp highp 4-component vector of uint)
+0:12          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint)
+0:12            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+0:12            Constant:
+0:12              0 (const uint)
+0:12          'gl_PrimitiveIDIn' ( in highp int PrimitiveID)
+0:12        Construct uvec4 ( temp highp 4-component vector of uint)
+0:12          'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:12          'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:12          Constant:
+0:12            0 (const uint)
+0:12          Constant:
+0:12            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+
+
+Linked geometry stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+invocations = 1
+max_vertices = 1
+input primitive = points
+output primitive = points
+0:? Sequence
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      move second child to first child ( temp highp 4-component vector of uint)
+0:12        indirect index (layout( column_major std430 offset=0) temp highp 4-component vector of uint)
+0:12          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint)
+0:12            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+0:12            Constant:
+0:12              0 (const uint)
+0:12          'gl_PrimitiveIDIn' ( in highp int PrimitiveID)
+0:12        Construct uvec4 ( temp highp 4-component vector of uint)
+0:12          'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:12          'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:12          Constant:
+0:12            0 (const uint)
+0:12          Constant:
+0:12            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+
diff --git a/Test/baseResults/glsl.es320.subgroup.tesc.out b/Test/baseResults/glsl.es320.subgroup.tesc.out
new file mode 100644
index 0000000..60d835c
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroup.tesc.out
@@ -0,0 +1,53 @@
+glsl.es320.subgroup.tesc
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+vertices = 1
+0:? Sequence
+0:9  Function Definition: main( ( global void)
+0:9    Function Parameters: 
+0:11    Sequence
+0:11      move second child to first child ( temp highp 4-component vector of uint)
+0:11        indirect index (layout( column_major std430 offset=0) temp highp 4-component vector of uint)
+0:11          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint)
+0:11            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+0:11            Constant:
+0:11              0 (const uint)
+0:11          'gl_PrimitiveID' ( in highp int PrimitiveID)
+0:11        Construct uvec4 ( temp highp 4-component vector of uint)
+0:11          'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:11          'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:11          Constant:
+0:11            0 (const uint)
+0:11          Constant:
+0:11            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+
+
+Linked tessellation control stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+vertices = 1
+0:? Sequence
+0:9  Function Definition: main( ( global void)
+0:9    Function Parameters: 
+0:11    Sequence
+0:11      move second child to first child ( temp highp 4-component vector of uint)
+0:11        indirect index (layout( column_major std430 offset=0) temp highp 4-component vector of uint)
+0:11          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint)
+0:11            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+0:11            Constant:
+0:11              0 (const uint)
+0:11          'gl_PrimitiveID' ( in highp int PrimitiveID)
+0:11        Construct uvec4 ( temp highp 4-component vector of uint)
+0:11          'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:11          'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:11          Constant:
+0:11            0 (const uint)
+0:11          Constant:
+0:11            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+
diff --git a/Test/baseResults/glsl.es320.subgroup.tese.out b/Test/baseResults/glsl.es320.subgroup.tese.out
new file mode 100644
index 0000000..acde7db
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroup.tese.out
@@ -0,0 +1,57 @@
+glsl.es320.subgroup.tese
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+input primitive = isolines
+vertex spacing = none
+triangle order = none
+0:? Sequence
+0:9  Function Definition: main( ( global void)
+0:9    Function Parameters: 
+0:11    Sequence
+0:11      move second child to first child ( temp highp 4-component vector of uint)
+0:11        indirect index (layout( column_major std430 offset=0) temp highp 4-component vector of uint)
+0:11          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint)
+0:11            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+0:11            Constant:
+0:11              0 (const uint)
+0:11          'gl_PrimitiveID' ( in highp int PrimitiveID)
+0:11        Construct uvec4 ( temp highp 4-component vector of uint)
+0:11          'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:11          'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:11          Constant:
+0:11            0 (const uint)
+0:11          Constant:
+0:11            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+
+
+Linked tessellation evaluation stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+input primitive = isolines
+vertex spacing = equal_spacing
+triangle order = ccw
+0:? Sequence
+0:9  Function Definition: main( ( global void)
+0:9    Function Parameters: 
+0:11    Sequence
+0:11      move second child to first child ( temp highp 4-component vector of uint)
+0:11        indirect index (layout( column_major std430 offset=0) temp highp 4-component vector of uint)
+0:11          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint)
+0:11            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+0:11            Constant:
+0:11              0 (const uint)
+0:11          'gl_PrimitiveID' ( in highp int PrimitiveID)
+0:11        Construct uvec4 ( temp highp 4-component vector of uint)
+0:11          'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:11          'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:11          Constant:
+0:11            0 (const uint)
+0:11          Constant:
+0:11            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+
diff --git a/Test/baseResults/glsl.es320.subgroup.vert.out b/Test/baseResults/glsl.es320.subgroup.vert.out
new file mode 100644
index 0000000..d44fde3
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroup.vert.out
@@ -0,0 +1,55 @@
+glsl.es320.subgroup.vert
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+0:? Sequence
+0:8  Function Definition: main( ( global void)
+0:8    Function Parameters: 
+0:10    Sequence
+0:10      move second child to first child ( temp highp 4-component vector of uint)
+0:10        indirect index (layout( column_major std430 offset=0) temp highp 4-component vector of uint)
+0:10          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint)
+0:10            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+0:10            Constant:
+0:10              0 (const uint)
+0:10          'gl_VertexID' ( gl_VertexId highp int VertexId)
+0:10        Construct uvec4 ( temp highp 4-component vector of uint)
+0:10          'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:10          'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:10          Constant:
+0:10            0 (const uint)
+0:10          Constant:
+0:10            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+0:?     'gl_VertexID' ( gl_VertexId highp int VertexId)
+0:?     'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+0:? Sequence
+0:8  Function Definition: main( ( global void)
+0:8    Function Parameters: 
+0:10    Sequence
+0:10      move second child to first child ( temp highp 4-component vector of uint)
+0:10        indirect index (layout( column_major std430 offset=0) temp highp 4-component vector of uint)
+0:10          result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint)
+0:10            'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+0:10            Constant:
+0:10              0 (const uint)
+0:10          'gl_VertexID' ( gl_VertexId highp int VertexId)
+0:10        Construct uvec4 ( temp highp 4-component vector of uint)
+0:10          'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:10          'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:10          Constant:
+0:10            0 (const uint)
+0:10          Constant:
+0:10            0 (const uint)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of highp 4-component vector of uint result})
+0:?     'gl_VertexID' ( gl_VertexId highp int VertexId)
+0:?     'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/glsl.es320.subgroupArithmetic.comp.out b/Test/baseResults/glsl.es320.subgroupArithmetic.comp.out
new file mode 100644
index 0000000..14aefbf
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupArithmetic.comp.out
@@ -0,0 +1,12797 @@
+glsl.es320.subgroupArithmetic.comp
+Shader version: 320
+Requested GL_KHR_shader_subgroup_arithmetic
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 1, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      move second child to first child ( temp highp float)
+0:18        direct index ( temp highp float)
+0:18          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            0 (const int)
+0:18        subgroupAdd ( global highp float)
+0:18          direct index ( temp highp float)
+0:18            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                Constant:
+0:18                  0 (const int)
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:19      move second child to first child ( temp highp 2-component vector of float)
+0:19        vector swizzle ( temp highp 2-component vector of float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Sequence
+0:19            Constant:
+0:19              0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19        subgroupAdd ( global highp 2-component vector of float)
+0:19          vector swizzle ( temp highp 2-component vector of float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                Constant:
+0:19                  1 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Sequence
+0:19              Constant:
+0:19                0 (const int)
+0:19              Constant:
+0:19                1 (const int)
+0:20      move second child to first child ( temp highp 3-component vector of float)
+0:20        vector swizzle ( temp highp 3-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20            Constant:
+0:20              2 (const int)
+0:20        subgroupAdd ( global highp 3-component vector of float)
+0:20          vector swizzle ( temp highp 3-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  2 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20              Constant:
+0:20                2 (const int)
+0:21      move second child to first child ( temp highp 4-component vector of float)
+0:21        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            0 (const int)
+0:21        subgroupAdd ( global highp 4-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                3 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:23      move second child to first child ( temp highp int)
+0:23        direct index ( temp highp int)
+0:23          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              1 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupAdd ( global highp int)
+0:23          direct index ( temp highp int)
+0:23            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:24      move second child to first child ( temp highp 2-component vector of int)
+0:24        vector swizzle ( temp highp 2-component vector of int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Sequence
+0:24            Constant:
+0:24              0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24        subgroupAdd ( global highp 2-component vector of int)
+0:24          vector swizzle ( temp highp 2-component vector of int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                Constant:
+0:24                  1 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Sequence
+0:24              Constant:
+0:24                0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:25      move second child to first child ( temp highp 3-component vector of int)
+0:25        vector swizzle ( temp highp 3-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                1 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25        subgroupAdd ( global highp 3-component vector of int)
+0:25          vector swizzle ( temp highp 3-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  2 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:26      move second child to first child ( temp highp 4-component vector of int)
+0:26        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              1 (const int)
+0:26          Constant:
+0:26            1 (const int)
+0:26        subgroupAdd ( global highp 4-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                3 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupAdd ( global highp uint)
+0:28          direct index ( temp highp uint)
+0:28            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:29      move second child to first child ( temp highp 2-component vector of uint)
+0:29        vector swizzle ( temp highp 2-component vector of uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupAdd ( global highp 2-component vector of uint)
+0:29          vector swizzle ( temp highp 2-component vector of uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:30      move second child to first child ( temp highp 3-component vector of uint)
+0:30        vector swizzle ( temp highp 3-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              Constant:
+0:30                2 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30        subgroupAdd ( global highp 3-component vector of uint)
+0:30          vector swizzle ( temp highp 3-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  2 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              2 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupAdd ( global highp 4-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:33      move second child to first child ( temp highp float)
+0:33        direct index ( temp highp float)
+0:33          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                3 (const int)
+0:33            Constant:
+0:33              0 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        subgroupMul ( global highp float)
+0:33          direct index ( temp highp float)
+0:33            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            Constant:
+0:33              0 (const int)
+0:34      move second child to first child ( temp highp 2-component vector of float)
+0:34        vector swizzle ( temp highp 2-component vector of float)
+0:34          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        subgroupMul ( global highp 2-component vector of float)
+0:34          vector swizzle ( temp highp 2-component vector of float)
+0:34            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                Constant:
+0:34                  1 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34            Sequence
+0:34              Constant:
+0:34                0 (const int)
+0:34              Constant:
+0:34                1 (const int)
+0:35      move second child to first child ( temp highp 3-component vector of float)
+0:35        vector swizzle ( temp highp 3-component vector of float)
+0:35          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              Constant:
+0:35                3 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35            Constant:
+0:35              2 (const int)
+0:35        subgroupMul ( global highp 3-component vector of float)
+0:35          vector swizzle ( temp highp 3-component vector of float)
+0:35            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                Constant:
+0:35                  2 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35              Constant:
+0:35                2 (const int)
+0:36      move second child to first child ( temp highp 4-component vector of float)
+0:36        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              3 (const int)
+0:36          Constant:
+0:36            0 (const int)
+0:36        subgroupMul ( global highp 4-component vector of float)
+0:36          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36              Constant:
+0:36                3 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:38      move second child to first child ( temp highp int)
+0:38        direct index ( temp highp int)
+0:38          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              Constant:
+0:38                0 (const int)
+0:38            Constant:
+0:38              1 (const int)
+0:38          Constant:
+0:38            0 (const int)
+0:38        subgroupMul ( global highp int)
+0:38          direct index ( temp highp int)
+0:38            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:39      move second child to first child ( temp highp 2-component vector of int)
+0:39        vector swizzle ( temp highp 2-component vector of int)
+0:39          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Sequence
+0:39            Constant:
+0:39              0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39        subgroupMul ( global highp 2-component vector of int)
+0:39          vector swizzle ( temp highp 2-component vector of int)
+0:39            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:39            Sequence
+0:39              Constant:
+0:39                0 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:40      move second child to first child ( temp highp 3-component vector of int)
+0:40        vector swizzle ( temp highp 3-component vector of int)
+0:40          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40            Constant:
+0:40              2 (const int)
+0:40        subgroupMul ( global highp 3-component vector of int)
+0:40          vector swizzle ( temp highp 3-component vector of int)
+0:40            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  2 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40              Constant:
+0:40                2 (const int)
+0:41      move second child to first child ( temp highp 4-component vector of int)
+0:41        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            Constant:
+0:41              0 (const int)
+0:41          Constant:
+0:41            1 (const int)
+0:41        subgroupMul ( global highp 4-component vector of int)
+0:41          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                3 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:43      move second child to first child ( temp highp uint)
+0:43        direct index ( temp highp uint)
+0:43          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              2 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        subgroupMul ( global highp uint)
+0:43          direct index ( temp highp uint)
+0:43            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                2 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:44      move second child to first child ( temp highp 2-component vector of uint)
+0:44        vector swizzle ( temp highp 2-component vector of uint)
+0:44          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              Constant:
+0:44                1 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:44          Sequence
+0:44            Constant:
+0:44              0 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44        subgroupMul ( global highp 2-component vector of uint)
+0:44          vector swizzle ( temp highp 2-component vector of uint)
+0:44            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                Constant:
+0:44                  1 (const int)
+0:44              Constant:
+0:44                2 (const int)
+0:44            Sequence
+0:44              Constant:
+0:44                0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:45      move second child to first child ( temp highp 3-component vector of uint)
+0:45        vector swizzle ( temp highp 3-component vector of uint)
+0:45          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45        subgroupMul ( global highp 3-component vector of uint)
+0:45          vector swizzle ( temp highp 3-component vector of uint)
+0:45            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:46      move second child to first child ( temp highp 4-component vector of uint)
+0:46        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            Constant:
+0:46              1 (const int)
+0:46          Constant:
+0:46            2 (const int)
+0:46        subgroupMul ( global highp 4-component vector of uint)
+0:46          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                3 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:48      move second child to first child ( temp highp float)
+0:48        direct index ( temp highp float)
+0:48          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                2 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:48          Constant:
+0:48            0 (const int)
+0:48        subgroupMin ( global highp float)
+0:48          direct index ( temp highp float)
+0:48            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                Constant:
+0:48                  0 (const int)
+0:48              Constant:
+0:48                0 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:49      move second child to first child ( temp highp 2-component vector of float)
+0:49        vector swizzle ( temp highp 2-component vector of float)
+0:49          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              Constant:
+0:49                2 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          Sequence
+0:49            Constant:
+0:49              0 (const int)
+0:49            Constant:
+0:49              1 (const int)
+0:49        subgroupMin ( global highp 2-component vector of float)
+0:49          vector swizzle ( temp highp 2-component vector of float)
+0:49            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Constant:
+0:49                0 (const int)
+0:49            Sequence
+0:49              Constant:
+0:49                0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:50      move second child to first child ( temp highp 3-component vector of float)
+0:50        vector swizzle ( temp highp 3-component vector of float)
+0:50          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                2 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50        subgroupMin ( global highp 3-component vector of float)
+0:50          vector swizzle ( temp highp 3-component vector of float)
+0:50            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  2 (const int)
+0:50              Constant:
+0:50                0 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:51      move second child to first child ( temp highp 4-component vector of float)
+0:51        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:51          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            Constant:
+0:51              2 (const int)
+0:51          Constant:
+0:51            0 (const int)
+0:51        subgroupMin ( global highp 4-component vector of float)
+0:51          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                3 (const int)
+0:51            Constant:
+0:51              0 (const int)
+0:53      move second child to first child ( temp highp int)
+0:53        direct index ( temp highp int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                3 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            0 (const int)
+0:53        subgroupMin ( global highp int)
+0:53          direct index ( temp highp int)
+0:53            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                Constant:
+0:53                  0 (const int)
+0:53              Constant:
+0:53                1 (const int)
+0:53            Constant:
+0:53              0 (const int)
+0:54      move second child to first child ( temp highp 2-component vector of int)
+0:54        vector swizzle ( temp highp 2-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          Sequence
+0:54            Constant:
+0:54              0 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54        subgroupMin ( global highp 2-component vector of int)
+0:54          vector swizzle ( temp highp 2-component vector of int)
+0:54            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                Constant:
+0:54                  1 (const int)
+0:54              Constant:
+0:54                1 (const int)
+0:54            Sequence
+0:54              Constant:
+0:54                0 (const int)
+0:54              Constant:
+0:54                1 (const int)
+0:55      move second child to first child ( temp highp 3-component vector of int)
+0:55        vector swizzle ( temp highp 3-component vector of int)
+0:55          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                3 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55            Constant:
+0:55              2 (const int)
+0:55        subgroupMin ( global highp 3-component vector of int)
+0:55          vector swizzle ( temp highp 3-component vector of int)
+0:55            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                Constant:
+0:55                  2 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55              Constant:
+0:55                2 (const int)
+0:56      move second child to first child ( temp highp 4-component vector of int)
+0:56        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            Constant:
+0:56              3 (const int)
+0:56          Constant:
+0:56            1 (const int)
+0:56        subgroupMin ( global highp 4-component vector of int)
+0:56          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              Constant:
+0:56                3 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:58      move second child to first child ( temp highp uint)
+0:58        direct index ( temp highp uint)
+0:58          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:58            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              Constant:
+0:58                0 (const int)
+0:58            Constant:
+0:58              2 (const int)
+0:58          Constant:
+0:58            0 (const int)
+0:58        subgroupMin ( global highp uint)
+0:58          direct index ( temp highp uint)
+0:58            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:58              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                Constant:
+0:58                  0 (const int)
+0:58              Constant:
+0:58                2 (const int)
+0:58            Constant:
+0:58              0 (const int)
+0:59      move second child to first child ( temp highp 2-component vector of uint)
+0:59        vector swizzle ( temp highp 2-component vector of uint)
+0:59          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:59            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              Constant:
+0:59                0 (const int)
+0:59            Constant:
+0:59              2 (const int)
+0:59          Sequence
+0:59            Constant:
+0:59              0 (const int)
+0:59            Constant:
+0:59              1 (const int)
+0:59        subgroupMin ( global highp 2-component vector of uint)
+0:59          vector swizzle ( temp highp 2-component vector of uint)
+0:59            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                Constant:
+0:59                  1 (const int)
+0:59              Constant:
+0:59                2 (const int)
+0:59            Sequence
+0:59              Constant:
+0:59                0 (const int)
+0:59              Constant:
+0:59                1 (const int)
+0:60      move second child to first child ( temp highp 3-component vector of uint)
+0:60        vector swizzle ( temp highp 3-component vector of uint)
+0:60          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:60            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              Constant:
+0:60                0 (const int)
+0:60            Constant:
+0:60              2 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60            Constant:
+0:60              2 (const int)
+0:60        subgroupMin ( global highp 3-component vector of uint)
+0:60          vector swizzle ( temp highp 3-component vector of uint)
+0:60            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                Constant:
+0:60                  2 (const int)
+0:60              Constant:
+0:60                2 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60              Constant:
+0:60                2 (const int)
+0:61      move second child to first child ( temp highp 4-component vector of uint)
+0:61        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:61          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            Constant:
+0:61              0 (const int)
+0:61          Constant:
+0:61            2 (const int)
+0:61        subgroupMin ( global highp 4-component vector of uint)
+0:61          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:61            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              Constant:
+0:61                3 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:63      move second child to first child ( temp highp float)
+0:63        direct index ( temp highp float)
+0:63          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:63            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              Constant:
+0:63                1 (const int)
+0:63            Constant:
+0:63              0 (const int)
+0:63          Constant:
+0:63            0 (const int)
+0:63        subgroupMax ( global highp float)
+0:63          direct index ( temp highp float)
+0:63            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:63              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                Constant:
+0:63                  0 (const int)
+0:63              Constant:
+0:63                0 (const int)
+0:63            Constant:
+0:63              0 (const int)
+0:64      move second child to first child ( temp highp 2-component vector of float)
+0:64        vector swizzle ( temp highp 2-component vector of float)
+0:64          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:64            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              Constant:
+0:64                1 (const int)
+0:64            Constant:
+0:64              0 (const int)
+0:64          Sequence
+0:64            Constant:
+0:64              0 (const int)
+0:64            Constant:
+0:64              1 (const int)
+0:64        subgroupMax ( global highp 2-component vector of float)
+0:64          vector swizzle ( temp highp 2-component vector of float)
+0:64            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                Constant:
+0:64                  1 (const int)
+0:64              Constant:
+0:64                0 (const int)
+0:64            Sequence
+0:64              Constant:
+0:64                0 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:65      move second child to first child ( temp highp 3-component vector of float)
+0:65        vector swizzle ( temp highp 3-component vector of float)
+0:65          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:65            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              Constant:
+0:65                1 (const int)
+0:65            Constant:
+0:65              0 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65        subgroupMax ( global highp 3-component vector of float)
+0:65          vector swizzle ( temp highp 3-component vector of float)
+0:65            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                Constant:
+0:65                  2 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65            Sequence
+0:65              Constant:
+0:65                0 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:66      move second child to first child ( temp highp 4-component vector of float)
+0:66        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:66          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            Constant:
+0:66              1 (const int)
+0:66          Constant:
+0:66            0 (const int)
+0:66        subgroupMax ( global highp 4-component vector of float)
+0:66          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:66            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              Constant:
+0:66                3 (const int)
+0:66            Constant:
+0:66              0 (const int)
+0:68      move second child to first child ( temp highp int)
+0:68        direct index ( temp highp int)
+0:68          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:68            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              Constant:
+0:68                2 (const int)
+0:68            Constant:
+0:68              1 (const int)
+0:68          Constant:
+0:68            0 (const int)
+0:68        subgroupMax ( global highp int)
+0:68          direct index ( temp highp int)
+0:68            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:68              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                Constant:
+0:68                  0 (const int)
+0:68              Constant:
+0:68                1 (const int)
+0:68            Constant:
+0:68              0 (const int)
+0:69      move second child to first child ( temp highp 2-component vector of int)
+0:69        vector swizzle ( temp highp 2-component vector of int)
+0:69          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:69            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              Constant:
+0:69                2 (const int)
+0:69            Constant:
+0:69              1 (const int)
+0:69          Sequence
+0:69            Constant:
+0:69              0 (const int)
+0:69            Constant:
+0:69              1 (const int)
+0:69        subgroupMax ( global highp 2-component vector of int)
+0:69          vector swizzle ( temp highp 2-component vector of int)
+0:69            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                Constant:
+0:69                  1 (const int)
+0:69              Constant:
+0:69                1 (const int)
+0:69            Sequence
+0:69              Constant:
+0:69                0 (const int)
+0:69              Constant:
+0:69                1 (const int)
+0:70      move second child to first child ( temp highp 3-component vector of int)
+0:70        vector swizzle ( temp highp 3-component vector of int)
+0:70          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              Constant:
+0:70                2 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70            Constant:
+0:70              2 (const int)
+0:70        subgroupMax ( global highp 3-component vector of int)
+0:70          vector swizzle ( temp highp 3-component vector of int)
+0:70            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                Constant:
+0:70                  2 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:71      move second child to first child ( temp highp 4-component vector of int)
+0:71        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            Constant:
+0:71              2 (const int)
+0:71          Constant:
+0:71            1 (const int)
+0:71        subgroupMax ( global highp 4-component vector of int)
+0:71          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              Constant:
+0:71                3 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:73      move second child to first child ( temp highp uint)
+0:73        direct index ( temp highp uint)
+0:73          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:73            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              Constant:
+0:73                3 (const int)
+0:73            Constant:
+0:73              2 (const int)
+0:73          Constant:
+0:73            0 (const int)
+0:73        subgroupMax ( global highp uint)
+0:73          direct index ( temp highp uint)
+0:73            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:73              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                Constant:
+0:73                  0 (const int)
+0:73              Constant:
+0:73                2 (const int)
+0:73            Constant:
+0:73              0 (const int)
+0:74      move second child to first child ( temp highp 2-component vector of uint)
+0:74        vector swizzle ( temp highp 2-component vector of uint)
+0:74          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:74            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              2 (const int)
+0:74          Sequence
+0:74            Constant:
+0:74              0 (const int)
+0:74            Constant:
+0:74              1 (const int)
+0:74        subgroupMax ( global highp 2-component vector of uint)
+0:74          vector swizzle ( temp highp 2-component vector of uint)
+0:74            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:74              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                Constant:
+0:74                  1 (const int)
+0:74              Constant:
+0:74                2 (const int)
+0:74            Sequence
+0:74              Constant:
+0:74                0 (const int)
+0:74              Constant:
+0:74                1 (const int)
+0:75      move second child to first child ( temp highp 3-component vector of uint)
+0:75        vector swizzle ( temp highp 3-component vector of uint)
+0:75          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:75            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              Constant:
+0:75                3 (const int)
+0:75            Constant:
+0:75              2 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75            Constant:
+0:75              2 (const int)
+0:75        subgroupMax ( global highp 3-component vector of uint)
+0:75          vector swizzle ( temp highp 3-component vector of uint)
+0:75            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                Constant:
+0:75                  2 (const int)
+0:75              Constant:
+0:75                2 (const int)
+0:75            Sequence
+0:75              Constant:
+0:75                0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:75              Constant:
+0:75                2 (const int)
+0:76      move second child to first child ( temp highp 4-component vector of uint)
+0:76        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:76          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            Constant:
+0:76              3 (const int)
+0:76          Constant:
+0:76            2 (const int)
+0:76        subgroupMax ( global highp 4-component vector of uint)
+0:76          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:76            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              Constant:
+0:76                3 (const int)
+0:76            Constant:
+0:76              2 (const int)
+0:78      move second child to first child ( temp highp int)
+0:78        direct index ( temp highp int)
+0:78          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              Constant:
+0:78                0 (const int)
+0:78            Constant:
+0:78              1 (const int)
+0:78          Constant:
+0:78            0 (const int)
+0:78        subgroupAnd ( global highp int)
+0:78          direct index ( temp highp int)
+0:78            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                Constant:
+0:78                  0 (const int)
+0:78              Constant:
+0:78                1 (const int)
+0:78            Constant:
+0:78              0 (const int)
+0:79      move second child to first child ( temp highp 2-component vector of int)
+0:79        vector swizzle ( temp highp 2-component vector of int)
+0:79          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:79            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              Constant:
+0:79                0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79          Sequence
+0:79            Constant:
+0:79              0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79        subgroupAnd ( global highp 2-component vector of int)
+0:79          vector swizzle ( temp highp 2-component vector of int)
+0:79            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                Constant:
+0:79                  1 (const int)
+0:79              Constant:
+0:79                1 (const int)
+0:79            Sequence
+0:79              Constant:
+0:79                0 (const int)
+0:79              Constant:
+0:79                1 (const int)
+0:80      move second child to first child ( temp highp 3-component vector of int)
+0:80        vector swizzle ( temp highp 3-component vector of int)
+0:80          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:80            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              Constant:
+0:80                0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80            Constant:
+0:80              2 (const int)
+0:80        subgroupAnd ( global highp 3-component vector of int)
+0:80          vector swizzle ( temp highp 3-component vector of int)
+0:80            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                Constant:
+0:80                  2 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80              Constant:
+0:80                2 (const int)
+0:81      move second child to first child ( temp highp 4-component vector of int)
+0:81        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:81          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            Constant:
+0:81              0 (const int)
+0:81          Constant:
+0:81            1 (const int)
+0:81        subgroupAnd ( global highp 4-component vector of int)
+0:81          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:81            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              Constant:
+0:81                3 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:83      move second child to first child ( temp highp uint)
+0:83        direct index ( temp highp uint)
+0:83          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              Constant:
+0:83                1 (const int)
+0:83            Constant:
+0:83              2 (const int)
+0:83          Constant:
+0:83            0 (const int)
+0:83        subgroupAnd ( global highp uint)
+0:83          direct index ( temp highp uint)
+0:83            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                Constant:
+0:83                  0 (const int)
+0:83              Constant:
+0:83                2 (const int)
+0:83            Constant:
+0:83              0 (const int)
+0:84      move second child to first child ( temp highp 2-component vector of uint)
+0:84        vector swizzle ( temp highp 2-component vector of uint)
+0:84          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:84            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              Constant:
+0:84                1 (const int)
+0:84            Constant:
+0:84              2 (const int)
+0:84          Sequence
+0:84            Constant:
+0:84              0 (const int)
+0:84            Constant:
+0:84              1 (const int)
+0:84        subgroupAnd ( global highp 2-component vector of uint)
+0:84          vector swizzle ( temp highp 2-component vector of uint)
+0:84            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                Constant:
+0:84                  1 (const int)
+0:84              Constant:
+0:84                2 (const int)
+0:84            Sequence
+0:84              Constant:
+0:84                0 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:85      move second child to first child ( temp highp 3-component vector of uint)
+0:85        vector swizzle ( temp highp 3-component vector of uint)
+0:85          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:85            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              Constant:
+0:85                1 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85        subgroupAnd ( global highp 3-component vector of uint)
+0:85          vector swizzle ( temp highp 3-component vector of uint)
+0:85            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                Constant:
+0:85                  2 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:86      move second child to first child ( temp highp 4-component vector of uint)
+0:86        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:86          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            Constant:
+0:86              1 (const int)
+0:86          Constant:
+0:86            2 (const int)
+0:86        subgroupAnd ( global highp 4-component vector of uint)
+0:86          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:86            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              Constant:
+0:86                3 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:88      move second child to first child ( temp highp int)
+0:88        direct index ( temp highp int)
+0:88          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:88            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              Constant:
+0:88                2 (const int)
+0:88            Constant:
+0:88              1 (const int)
+0:88          Constant:
+0:88            0 (const int)
+0:88        Convert bool to int ( temp highp int)
+0:88          subgroupAnd ( global bool)
+0:88            Compare Less Than ( temp bool)
+0:88              direct index ( temp highp int)
+0:88                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:88                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                    Constant:
+0:88                      0 (const int)
+0:88                  Constant:
+0:88                    1 (const int)
+0:88                Constant:
+0:88                  0 (const int)
+0:88              Constant:
+0:88                0 (const int)
+0:89      move second child to first child ( temp highp 2-component vector of int)
+0:89        vector swizzle ( temp highp 2-component vector of int)
+0:89          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:89            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              Constant:
+0:89                2 (const int)
+0:89            Constant:
+0:89              1 (const int)
+0:89          Sequence
+0:89            Constant:
+0:89              0 (const int)
+0:89            Constant:
+0:89              1 (const int)
+0:89        Convert bool to int ( temp highp 2-component vector of int)
+0:89          subgroupAnd ( global 2-component vector of bool)
+0:89            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:89              vector swizzle ( temp highp 2-component vector of int)
+0:89                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:89                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                    Constant:
+0:89                      1 (const int)
+0:89                  Constant:
+0:89                    1 (const int)
+0:89                Sequence
+0:89                  Constant:
+0:89                    0 (const int)
+0:89                  Constant:
+0:89                    1 (const int)
+0:89              Constant:
+0:89                0 (const int)
+0:89                0 (const int)
+0:90      move second child to first child ( temp highp 3-component vector of int)
+0:90        vector swizzle ( temp highp 3-component vector of int)
+0:90          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              Constant:
+0:90                2 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90            Constant:
+0:90              2 (const int)
+0:90        Convert bool to int ( temp highp 3-component vector of int)
+0:90          subgroupAnd ( global 3-component vector of bool)
+0:90            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:90              vector swizzle ( temp highp 3-component vector of int)
+0:90                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                    Constant:
+0:90                      1 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90                Sequence
+0:90                  Constant:
+0:90                    0 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90                  Constant:
+0:90                    2 (const int)
+0:90              Constant:
+0:90                0 (const int)
+0:90                0 (const int)
+0:90                0 (const int)
+0:91      move second child to first child ( temp highp 4-component vector of int)
+0:91        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            Constant:
+0:91              2 (const int)
+0:91          Constant:
+0:91            1 (const int)
+0:91        Convert bool to int ( temp highp 4-component vector of int)
+0:91          subgroupAnd ( global 4-component vector of bool)
+0:91            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:91              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                  Constant:
+0:91                    1 (const int)
+0:91                Constant:
+0:91                  1 (const int)
+0:91              Constant:
+0:91                0 (const int)
+0:91                0 (const int)
+0:91                0 (const int)
+0:91                0 (const int)
+0:93      move second child to first child ( temp highp int)
+0:93        direct index ( temp highp int)
+0:93          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              Constant:
+0:93                3 (const int)
+0:93            Constant:
+0:93              1 (const int)
+0:93          Constant:
+0:93            0 (const int)
+0:93        subgroupOr ( global highp int)
+0:93          direct index ( temp highp int)
+0:93            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                Constant:
+0:93                  0 (const int)
+0:93              Constant:
+0:93                1 (const int)
+0:93            Constant:
+0:93              0 (const int)
+0:94      move second child to first child ( temp highp 2-component vector of int)
+0:94        vector swizzle ( temp highp 2-component vector of int)
+0:94          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94          Sequence
+0:94            Constant:
+0:94              0 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94        subgroupOr ( global highp 2-component vector of int)
+0:94          vector swizzle ( temp highp 2-component vector of int)
+0:94            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                Constant:
+0:94                  1 (const int)
+0:94              Constant:
+0:94                1 (const int)
+0:94            Sequence
+0:94              Constant:
+0:94                0 (const int)
+0:94              Constant:
+0:94                1 (const int)
+0:95      move second child to first child ( temp highp 3-component vector of int)
+0:95        vector swizzle ( temp highp 3-component vector of int)
+0:95          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              Constant:
+0:95                3 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95            Constant:
+0:95              2 (const int)
+0:95        subgroupOr ( global highp 3-component vector of int)
+0:95          vector swizzle ( temp highp 3-component vector of int)
+0:95            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                Constant:
+0:95                  2 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:95            Sequence
+0:95              Constant:
+0:95                0 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:95              Constant:
+0:95                2 (const int)
+0:96      move second child to first child ( temp highp 4-component vector of int)
+0:96        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            Constant:
+0:96              3 (const int)
+0:96          Constant:
+0:96            1 (const int)
+0:96        subgroupOr ( global highp 4-component vector of int)
+0:96          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              Constant:
+0:96                3 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:98      move second child to first child ( temp highp uint)
+0:98        direct index ( temp highp uint)
+0:98          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              Constant:
+0:98                0 (const int)
+0:98            Constant:
+0:98              2 (const int)
+0:98          Constant:
+0:98            0 (const int)
+0:98        subgroupOr ( global highp uint)
+0:98          direct index ( temp highp uint)
+0:98            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98                Constant:
+0:98                  0 (const int)
+0:98              Constant:
+0:98                2 (const int)
+0:98            Constant:
+0:98              0 (const int)
+0:99      move second child to first child ( temp highp 2-component vector of uint)
+0:99        vector swizzle ( temp highp 2-component vector of uint)
+0:99          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:99            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99              Constant:
+0:99                0 (const int)
+0:99            Constant:
+0:99              2 (const int)
+0:99          Sequence
+0:99            Constant:
+0:99              0 (const int)
+0:99            Constant:
+0:99              1 (const int)
+0:99        subgroupOr ( global highp 2-component vector of uint)
+0:99          vector swizzle ( temp highp 2-component vector of uint)
+0:99            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:99              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99                Constant:
+0:99                  1 (const int)
+0:99              Constant:
+0:99                2 (const int)
+0:99            Sequence
+0:99              Constant:
+0:99                0 (const int)
+0:99              Constant:
+0:99                1 (const int)
+0:100      move second child to first child ( temp highp 3-component vector of uint)
+0:100        vector swizzle ( temp highp 3-component vector of uint)
+0:100          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:100            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              Constant:
+0:100                0 (const int)
+0:100            Constant:
+0:100              2 (const int)
+0:100          Sequence
+0:100            Constant:
+0:100              0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100            Constant:
+0:100              2 (const int)
+0:100        subgroupOr ( global highp 3-component vector of uint)
+0:100          vector swizzle ( temp highp 3-component vector of uint)
+0:100            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                Constant:
+0:100                  2 (const int)
+0:100              Constant:
+0:100                2 (const int)
+0:100            Sequence
+0:100              Constant:
+0:100                0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100              Constant:
+0:100                2 (const int)
+0:101      move second child to first child ( temp highp 4-component vector of uint)
+0:101        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:101          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101            Constant:
+0:101              0 (const int)
+0:101          Constant:
+0:101            2 (const int)
+0:101        subgroupOr ( global highp 4-component vector of uint)
+0:101          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:101            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              Constant:
+0:101                3 (const int)
+0:101            Constant:
+0:101              2 (const int)
+0:103      move second child to first child ( temp highp int)
+0:103        direct index ( temp highp int)
+0:103          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              Constant:
+0:103                1 (const int)
+0:103            Constant:
+0:103              1 (const int)
+0:103          Constant:
+0:103            0 (const int)
+0:103        Convert bool to int ( temp highp int)
+0:103          subgroupOr ( global bool)
+0:103            Compare Less Than ( temp bool)
+0:103              direct index ( temp highp int)
+0:103                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103                    Constant:
+0:103                      0 (const int)
+0:103                  Constant:
+0:103                    1 (const int)
+0:103                Constant:
+0:103                  0 (const int)
+0:103              Constant:
+0:103                0 (const int)
+0:104      move second child to first child ( temp highp 2-component vector of int)
+0:104        vector swizzle ( temp highp 2-component vector of int)
+0:104          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:104            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104              Constant:
+0:104                1 (const int)
+0:104            Constant:
+0:104              1 (const int)
+0:104          Sequence
+0:104            Constant:
+0:104              0 (const int)
+0:104            Constant:
+0:104              1 (const int)
+0:104        Convert bool to int ( temp highp 2-component vector of int)
+0:104          subgroupOr ( global 2-component vector of bool)
+0:104            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:104              vector swizzle ( temp highp 2-component vector of int)
+0:104                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:104                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104                    Constant:
+0:104                      1 (const int)
+0:104                  Constant:
+0:104                    1 (const int)
+0:104                Sequence
+0:104                  Constant:
+0:104                    0 (const int)
+0:104                  Constant:
+0:104                    1 (const int)
+0:104              Constant:
+0:104                0 (const int)
+0:104                0 (const int)
+0:105      move second child to first child ( temp highp 3-component vector of int)
+0:105        vector swizzle ( temp highp 3-component vector of int)
+0:105          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:105            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              Constant:
+0:105                1 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105          Sequence
+0:105            Constant:
+0:105              0 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105            Constant:
+0:105              2 (const int)
+0:105        Convert bool to int ( temp highp 3-component vector of int)
+0:105          subgroupOr ( global 3-component vector of bool)
+0:105            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:105              vector swizzle ( temp highp 3-component vector of int)
+0:105                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:105                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                    Constant:
+0:105                      1 (const int)
+0:105                  Constant:
+0:105                    1 (const int)
+0:105                Sequence
+0:105                  Constant:
+0:105                    0 (const int)
+0:105                  Constant:
+0:105                    1 (const int)
+0:105                  Constant:
+0:105                    2 (const int)
+0:105              Constant:
+0:105                0 (const int)
+0:105                0 (const int)
+0:105                0 (const int)
+0:106      move second child to first child ( temp highp 4-component vector of int)
+0:106        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:106          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106            Constant:
+0:106              1 (const int)
+0:106          Constant:
+0:106            1 (const int)
+0:106        Convert bool to int ( temp highp 4-component vector of int)
+0:106          subgroupOr ( global 4-component vector of bool)
+0:106            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:106              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:106                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                  Constant:
+0:106                    1 (const int)
+0:106                Constant:
+0:106                  1 (const int)
+0:106              Constant:
+0:106                0 (const int)
+0:106                0 (const int)
+0:106                0 (const int)
+0:106                0 (const int)
+0:108      move second child to first child ( temp highp int)
+0:108        direct index ( temp highp int)
+0:108          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:108            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              Constant:
+0:108                2 (const int)
+0:108            Constant:
+0:108              1 (const int)
+0:108          Constant:
+0:108            0 (const int)
+0:108        subgroupXor ( global highp int)
+0:108          direct index ( temp highp int)
+0:108            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:108              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108                Constant:
+0:108                  0 (const int)
+0:108              Constant:
+0:108                1 (const int)
+0:108            Constant:
+0:108              0 (const int)
+0:109      move second child to first child ( temp highp 2-component vector of int)
+0:109        vector swizzle ( temp highp 2-component vector of int)
+0:109          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:109            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109              Constant:
+0:109                2 (const int)
+0:109            Constant:
+0:109              1 (const int)
+0:109          Sequence
+0:109            Constant:
+0:109              0 (const int)
+0:109            Constant:
+0:109              1 (const int)
+0:109        subgroupXor ( global highp 2-component vector of int)
+0:109          vector swizzle ( temp highp 2-component vector of int)
+0:109            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:109              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109                Constant:
+0:109                  1 (const int)
+0:109              Constant:
+0:109                1 (const int)
+0:109            Sequence
+0:109              Constant:
+0:109                0 (const int)
+0:109              Constant:
+0:109                1 (const int)
+0:110      move second child to first child ( temp highp 3-component vector of int)
+0:110        vector swizzle ( temp highp 3-component vector of int)
+0:110          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              Constant:
+0:110                2 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Sequence
+0:110            Constant:
+0:110              0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110            Constant:
+0:110              2 (const int)
+0:110        subgroupXor ( global highp 3-component vector of int)
+0:110          vector swizzle ( temp highp 3-component vector of int)
+0:110            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                Constant:
+0:110                  2 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:110            Sequence
+0:110              Constant:
+0:110                0 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:110              Constant:
+0:110                2 (const int)
+0:111      move second child to first child ( temp highp 4-component vector of int)
+0:111        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111            Constant:
+0:111              2 (const int)
+0:111          Constant:
+0:111            1 (const int)
+0:111        subgroupXor ( global highp 4-component vector of int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              Constant:
+0:111                3 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:113      move second child to first child ( temp highp uint)
+0:113        direct index ( temp highp uint)
+0:113          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:113            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113              Constant:
+0:113                3 (const int)
+0:113            Constant:
+0:113              2 (const int)
+0:113          Constant:
+0:113            0 (const int)
+0:113        subgroupXor ( global highp uint)
+0:113          direct index ( temp highp uint)
+0:113            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:113              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                Constant:
+0:113                  0 (const int)
+0:113              Constant:
+0:113                2 (const int)
+0:113            Constant:
+0:113              0 (const int)
+0:114      move second child to first child ( temp highp 2-component vector of uint)
+0:114        vector swizzle ( temp highp 2-component vector of uint)
+0:114          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:114            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114              Constant:
+0:114                3 (const int)
+0:114            Constant:
+0:114              2 (const int)
+0:114          Sequence
+0:114            Constant:
+0:114              0 (const int)
+0:114            Constant:
+0:114              1 (const int)
+0:114        subgroupXor ( global highp 2-component vector of uint)
+0:114          vector swizzle ( temp highp 2-component vector of uint)
+0:114            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:114              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114                Constant:
+0:114                  1 (const int)
+0:114              Constant:
+0:114                2 (const int)
+0:114            Sequence
+0:114              Constant:
+0:114                0 (const int)
+0:114              Constant:
+0:114                1 (const int)
+0:115      move second child to first child ( temp highp 3-component vector of uint)
+0:115        vector swizzle ( temp highp 3-component vector of uint)
+0:115          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:115            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              Constant:
+0:115                3 (const int)
+0:115            Constant:
+0:115              2 (const int)
+0:115          Sequence
+0:115            Constant:
+0:115              0 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115            Constant:
+0:115              2 (const int)
+0:115        subgroupXor ( global highp 3-component vector of uint)
+0:115          vector swizzle ( temp highp 3-component vector of uint)
+0:115            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                Constant:
+0:115                  2 (const int)
+0:115              Constant:
+0:115                2 (const int)
+0:115            Sequence
+0:115              Constant:
+0:115                0 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115              Constant:
+0:115                2 (const int)
+0:116      move second child to first child ( temp highp 4-component vector of uint)
+0:116        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:116          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116            Constant:
+0:116              3 (const int)
+0:116          Constant:
+0:116            2 (const int)
+0:116        subgroupXor ( global highp 4-component vector of uint)
+0:116          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:116            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              Constant:
+0:116                3 (const int)
+0:116            Constant:
+0:116              2 (const int)
+0:118      move second child to first child ( temp highp int)
+0:118        direct index ( temp highp int)
+0:118          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              Constant:
+0:118                0 (const int)
+0:118            Constant:
+0:118              1 (const int)
+0:118          Constant:
+0:118            0 (const int)
+0:118        Convert bool to int ( temp highp int)
+0:118          subgroupXor ( global bool)
+0:118            Compare Less Than ( temp bool)
+0:118              direct index ( temp highp int)
+0:118                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118                    Constant:
+0:118                      0 (const int)
+0:118                  Constant:
+0:118                    1 (const int)
+0:118                Constant:
+0:118                  0 (const int)
+0:118              Constant:
+0:118                0 (const int)
+0:119      move second child to first child ( temp highp 2-component vector of int)
+0:119        vector swizzle ( temp highp 2-component vector of int)
+0:119          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:119            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119              Constant:
+0:119                0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:119          Sequence
+0:119            Constant:
+0:119              0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:119        Convert bool to int ( temp highp 2-component vector of int)
+0:119          subgroupXor ( global 2-component vector of bool)
+0:119            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:119              vector swizzle ( temp highp 2-component vector of int)
+0:119                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:119                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119                    Constant:
+0:119                      1 (const int)
+0:119                  Constant:
+0:119                    1 (const int)
+0:119                Sequence
+0:119                  Constant:
+0:119                    0 (const int)
+0:119                  Constant:
+0:119                    1 (const int)
+0:119              Constant:
+0:119                0 (const int)
+0:119                0 (const int)
+0:120      move second child to first child ( temp highp 3-component vector of int)
+0:120        vector swizzle ( temp highp 3-component vector of int)
+0:120          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:120            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              Constant:
+0:120                0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120          Sequence
+0:120            Constant:
+0:120              0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120            Constant:
+0:120              2 (const int)
+0:120        Convert bool to int ( temp highp 3-component vector of int)
+0:120          subgroupXor ( global 3-component vector of bool)
+0:120            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:120              vector swizzle ( temp highp 3-component vector of int)
+0:120                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:120                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                    Constant:
+0:120                      1 (const int)
+0:120                  Constant:
+0:120                    1 (const int)
+0:120                Sequence
+0:120                  Constant:
+0:120                    0 (const int)
+0:120                  Constant:
+0:120                    1 (const int)
+0:120                  Constant:
+0:120                    2 (const int)
+0:120              Constant:
+0:120                0 (const int)
+0:120                0 (const int)
+0:120                0 (const int)
+0:121      move second child to first child ( temp highp 4-component vector of int)
+0:121        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:121          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121            Constant:
+0:121              0 (const int)
+0:121          Constant:
+0:121            1 (const int)
+0:121        Convert bool to int ( temp highp 4-component vector of int)
+0:121          subgroupXor ( global 4-component vector of bool)
+0:121            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:121              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:121                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                  Constant:
+0:121                    1 (const int)
+0:121                Constant:
+0:121                  1 (const int)
+0:121              Constant:
+0:121                0 (const int)
+0:121                0 (const int)
+0:121                0 (const int)
+0:121                0 (const int)
+0:123      move second child to first child ( temp highp float)
+0:123        direct index ( temp highp float)
+0:123          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:123            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123              Constant:
+0:123                1 (const int)
+0:123            Constant:
+0:123              0 (const int)
+0:123          Constant:
+0:123            0 (const int)
+0:123        subgroupInclusiveAdd ( global highp float)
+0:123          direct index ( temp highp float)
+0:123            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:123              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123                Constant:
+0:123                  0 (const int)
+0:123              Constant:
+0:123                0 (const int)
+0:123            Constant:
+0:123              0 (const int)
+0:124      move second child to first child ( temp highp 2-component vector of float)
+0:124        vector swizzle ( temp highp 2-component vector of float)
+0:124          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:124            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:124              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:124              Constant:
+0:124                1 (const int)
+0:124            Constant:
+0:124              0 (const int)
+0:124          Sequence
+0:124            Constant:
+0:124              0 (const int)
+0:124            Constant:
+0:124              1 (const int)
+0:124        subgroupInclusiveAdd ( global highp 2-component vector of float)
+0:124          vector swizzle ( temp highp 2-component vector of float)
+0:124            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:124              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:124                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:124                Constant:
+0:124                  1 (const int)
+0:124              Constant:
+0:124                0 (const int)
+0:124            Sequence
+0:124              Constant:
+0:124                0 (const int)
+0:124              Constant:
+0:124                1 (const int)
+0:125      move second child to first child ( temp highp 3-component vector of float)
+0:125        vector swizzle ( temp highp 3-component vector of float)
+0:125          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:125            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125              Constant:
+0:125                1 (const int)
+0:125            Constant:
+0:125              0 (const int)
+0:125          Sequence
+0:125            Constant:
+0:125              0 (const int)
+0:125            Constant:
+0:125              1 (const int)
+0:125            Constant:
+0:125              2 (const int)
+0:125        subgroupInclusiveAdd ( global highp 3-component vector of float)
+0:125          vector swizzle ( temp highp 3-component vector of float)
+0:125            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:125              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125                Constant:
+0:125                  2 (const int)
+0:125              Constant:
+0:125                0 (const int)
+0:125            Sequence
+0:125              Constant:
+0:125                0 (const int)
+0:125              Constant:
+0:125                1 (const int)
+0:125              Constant:
+0:125                2 (const int)
+0:126      move second child to first child ( temp highp 4-component vector of float)
+0:126        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:126          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126            Constant:
+0:126              1 (const int)
+0:126          Constant:
+0:126            0 (const int)
+0:126        subgroupInclusiveAdd ( global highp 4-component vector of float)
+0:126          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:126            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126              Constant:
+0:126                3 (const int)
+0:126            Constant:
+0:126              0 (const int)
+0:128      move second child to first child ( temp highp int)
+0:128        direct index ( temp highp int)
+0:128          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:128            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128              Constant:
+0:128                2 (const int)
+0:128            Constant:
+0:128              1 (const int)
+0:128          Constant:
+0:128            0 (const int)
+0:128        subgroupInclusiveAdd ( global highp int)
+0:128          direct index ( temp highp int)
+0:128            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:128              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128                Constant:
+0:128                  0 (const int)
+0:128              Constant:
+0:128                1 (const int)
+0:128            Constant:
+0:128              0 (const int)
+0:129      move second child to first child ( temp highp 2-component vector of int)
+0:129        vector swizzle ( temp highp 2-component vector of int)
+0:129          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:129            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:129              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:129              Constant:
+0:129                2 (const int)
+0:129            Constant:
+0:129              1 (const int)
+0:129          Sequence
+0:129            Constant:
+0:129              0 (const int)
+0:129            Constant:
+0:129              1 (const int)
+0:129        subgroupInclusiveAdd ( global highp 2-component vector of int)
+0:129          vector swizzle ( temp highp 2-component vector of int)
+0:129            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:129              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:129                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:129                Constant:
+0:129                  1 (const int)
+0:129              Constant:
+0:129                1 (const int)
+0:129            Sequence
+0:129              Constant:
+0:129                0 (const int)
+0:129              Constant:
+0:129                1 (const int)
+0:130      move second child to first child ( temp highp 3-component vector of int)
+0:130        vector swizzle ( temp highp 3-component vector of int)
+0:130          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:130            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130              Constant:
+0:130                2 (const int)
+0:130            Constant:
+0:130              1 (const int)
+0:130          Sequence
+0:130            Constant:
+0:130              0 (const int)
+0:130            Constant:
+0:130              1 (const int)
+0:130            Constant:
+0:130              2 (const int)
+0:130        subgroupInclusiveAdd ( global highp 3-component vector of int)
+0:130          vector swizzle ( temp highp 3-component vector of int)
+0:130            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:130              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130                Constant:
+0:130                  2 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130            Sequence
+0:130              Constant:
+0:130                0 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130              Constant:
+0:130                2 (const int)
+0:131      move second child to first child ( temp highp 4-component vector of int)
+0:131        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:131          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131            Constant:
+0:131              2 (const int)
+0:131          Constant:
+0:131            1 (const int)
+0:131        subgroupInclusiveAdd ( global highp 4-component vector of int)
+0:131          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:131            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131              Constant:
+0:131                3 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:133      move second child to first child ( temp highp uint)
+0:133        direct index ( temp highp uint)
+0:133          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:133            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133              Constant:
+0:133                3 (const int)
+0:133            Constant:
+0:133              2 (const int)
+0:133          Constant:
+0:133            0 (const int)
+0:133        subgroupInclusiveAdd ( global highp uint)
+0:133          direct index ( temp highp uint)
+0:133            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:133              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133                Constant:
+0:133                  0 (const int)
+0:133              Constant:
+0:133                2 (const int)
+0:133            Constant:
+0:133              0 (const int)
+0:134      move second child to first child ( temp highp 2-component vector of uint)
+0:134        vector swizzle ( temp highp 2-component vector of uint)
+0:134          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:134            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:134              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:134              Constant:
+0:134                3 (const int)
+0:134            Constant:
+0:134              2 (const int)
+0:134          Sequence
+0:134            Constant:
+0:134              0 (const int)
+0:134            Constant:
+0:134              1 (const int)
+0:134        subgroupInclusiveAdd ( global highp 2-component vector of uint)
+0:134          vector swizzle ( temp highp 2-component vector of uint)
+0:134            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:134              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:134                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:134                Constant:
+0:134                  1 (const int)
+0:134              Constant:
+0:134                2 (const int)
+0:134            Sequence
+0:134              Constant:
+0:134                0 (const int)
+0:134              Constant:
+0:134                1 (const int)
+0:135      move second child to first child ( temp highp 3-component vector of uint)
+0:135        vector swizzle ( temp highp 3-component vector of uint)
+0:135          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:135            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135              Constant:
+0:135                3 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135          Sequence
+0:135            Constant:
+0:135              0 (const int)
+0:135            Constant:
+0:135              1 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135        subgroupInclusiveAdd ( global highp 3-component vector of uint)
+0:135          vector swizzle ( temp highp 3-component vector of uint)
+0:135            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:135              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135                Constant:
+0:135                  2 (const int)
+0:135              Constant:
+0:135                2 (const int)
+0:135            Sequence
+0:135              Constant:
+0:135                0 (const int)
+0:135              Constant:
+0:135                1 (const int)
+0:135              Constant:
+0:135                2 (const int)
+0:136      move second child to first child ( temp highp 4-component vector of uint)
+0:136        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:136          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136            Constant:
+0:136              3 (const int)
+0:136          Constant:
+0:136            2 (const int)
+0:136        subgroupInclusiveAdd ( global highp 4-component vector of uint)
+0:136          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:136            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136              Constant:
+0:136                3 (const int)
+0:136            Constant:
+0:136              2 (const int)
+0:138      move second child to first child ( temp highp float)
+0:138        direct index ( temp highp float)
+0:138          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:138            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138              Constant:
+0:138                0 (const int)
+0:138            Constant:
+0:138              0 (const int)
+0:138          Constant:
+0:138            0 (const int)
+0:138        subgroupInclusiveMul ( global highp float)
+0:138          direct index ( temp highp float)
+0:138            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:138              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138                Constant:
+0:138                  0 (const int)
+0:138              Constant:
+0:138                0 (const int)
+0:138            Constant:
+0:138              0 (const int)
+0:139      move second child to first child ( temp highp 2-component vector of float)
+0:139        vector swizzle ( temp highp 2-component vector of float)
+0:139          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:139            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:139              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:139              Constant:
+0:139                0 (const int)
+0:139            Constant:
+0:139              0 (const int)
+0:139          Sequence
+0:139            Constant:
+0:139              0 (const int)
+0:139            Constant:
+0:139              1 (const int)
+0:139        subgroupInclusiveMul ( global highp 2-component vector of float)
+0:139          vector swizzle ( temp highp 2-component vector of float)
+0:139            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:139              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:139                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:139                Constant:
+0:139                  1 (const int)
+0:139              Constant:
+0:139                0 (const int)
+0:139            Sequence
+0:139              Constant:
+0:139                0 (const int)
+0:139              Constant:
+0:139                1 (const int)
+0:140      move second child to first child ( temp highp 3-component vector of float)
+0:140        vector swizzle ( temp highp 3-component vector of float)
+0:140          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:140            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140              Constant:
+0:140                0 (const int)
+0:140            Constant:
+0:140              0 (const int)
+0:140          Sequence
+0:140            Constant:
+0:140              0 (const int)
+0:140            Constant:
+0:140              1 (const int)
+0:140            Constant:
+0:140              2 (const int)
+0:140        subgroupInclusiveMul ( global highp 3-component vector of float)
+0:140          vector swizzle ( temp highp 3-component vector of float)
+0:140            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:140              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140                Constant:
+0:140                  2 (const int)
+0:140              Constant:
+0:140                0 (const int)
+0:140            Sequence
+0:140              Constant:
+0:140                0 (const int)
+0:140              Constant:
+0:140                1 (const int)
+0:140              Constant:
+0:140                2 (const int)
+0:141      move second child to first child ( temp highp 4-component vector of float)
+0:141        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:141          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141            Constant:
+0:141              0 (const int)
+0:141          Constant:
+0:141            0 (const int)
+0:141        subgroupInclusiveMul ( global highp 4-component vector of float)
+0:141          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:141            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141              Constant:
+0:141                3 (const int)
+0:141            Constant:
+0:141              0 (const int)
+0:143      move second child to first child ( temp highp int)
+0:143        direct index ( temp highp int)
+0:143          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:143            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143              Constant:
+0:143                1 (const int)
+0:143            Constant:
+0:143              1 (const int)
+0:143          Constant:
+0:143            0 (const int)
+0:143        subgroupInclusiveMul ( global highp int)
+0:143          direct index ( temp highp int)
+0:143            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:143              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143                Constant:
+0:143                  0 (const int)
+0:143              Constant:
+0:143                1 (const int)
+0:143            Constant:
+0:143              0 (const int)
+0:144      move second child to first child ( temp highp 2-component vector of int)
+0:144        vector swizzle ( temp highp 2-component vector of int)
+0:144          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:144            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:144              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:144              Constant:
+0:144                1 (const int)
+0:144            Constant:
+0:144              1 (const int)
+0:144          Sequence
+0:144            Constant:
+0:144              0 (const int)
+0:144            Constant:
+0:144              1 (const int)
+0:144        subgroupInclusiveMul ( global highp 2-component vector of int)
+0:144          vector swizzle ( temp highp 2-component vector of int)
+0:144            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:144              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:144                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:144                Constant:
+0:144                  1 (const int)
+0:144              Constant:
+0:144                1 (const int)
+0:144            Sequence
+0:144              Constant:
+0:144                0 (const int)
+0:144              Constant:
+0:144                1 (const int)
+0:145      move second child to first child ( temp highp 3-component vector of int)
+0:145        vector swizzle ( temp highp 3-component vector of int)
+0:145          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:145            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145              Constant:
+0:145                1 (const int)
+0:145            Constant:
+0:145              1 (const int)
+0:145          Sequence
+0:145            Constant:
+0:145              0 (const int)
+0:145            Constant:
+0:145              1 (const int)
+0:145            Constant:
+0:145              2 (const int)
+0:145        subgroupInclusiveMul ( global highp 3-component vector of int)
+0:145          vector swizzle ( temp highp 3-component vector of int)
+0:145            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:145              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145                Constant:
+0:145                  2 (const int)
+0:145              Constant:
+0:145                1 (const int)
+0:145            Sequence
+0:145              Constant:
+0:145                0 (const int)
+0:145              Constant:
+0:145                1 (const int)
+0:145              Constant:
+0:145                2 (const int)
+0:146      move second child to first child ( temp highp 4-component vector of int)
+0:146        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:146          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146            Constant:
+0:146              1 (const int)
+0:146          Constant:
+0:146            1 (const int)
+0:146        subgroupInclusiveMul ( global highp 4-component vector of int)
+0:146          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:146            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146              Constant:
+0:146                3 (const int)
+0:146            Constant:
+0:146              1 (const int)
+0:148      move second child to first child ( temp highp uint)
+0:148        direct index ( temp highp uint)
+0:148          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:148            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148              Constant:
+0:148                2 (const int)
+0:148            Constant:
+0:148              2 (const int)
+0:148          Constant:
+0:148            0 (const int)
+0:148        subgroupInclusiveMul ( global highp uint)
+0:148          direct index ( temp highp uint)
+0:148            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:148              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148                Constant:
+0:148                  0 (const int)
+0:148              Constant:
+0:148                2 (const int)
+0:148            Constant:
+0:148              0 (const int)
+0:149      move second child to first child ( temp highp 2-component vector of uint)
+0:149        vector swizzle ( temp highp 2-component vector of uint)
+0:149          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:149            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:149              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:149              Constant:
+0:149                2 (const int)
+0:149            Constant:
+0:149              2 (const int)
+0:149          Sequence
+0:149            Constant:
+0:149              0 (const int)
+0:149            Constant:
+0:149              1 (const int)
+0:149        subgroupInclusiveMul ( global highp 2-component vector of uint)
+0:149          vector swizzle ( temp highp 2-component vector of uint)
+0:149            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:149              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:149                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:149                Constant:
+0:149                  1 (const int)
+0:149              Constant:
+0:149                2 (const int)
+0:149            Sequence
+0:149              Constant:
+0:149                0 (const int)
+0:149              Constant:
+0:149                1 (const int)
+0:150      move second child to first child ( temp highp 3-component vector of uint)
+0:150        vector swizzle ( temp highp 3-component vector of uint)
+0:150          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:150            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150              Constant:
+0:150                2 (const int)
+0:150            Constant:
+0:150              2 (const int)
+0:150          Sequence
+0:150            Constant:
+0:150              0 (const int)
+0:150            Constant:
+0:150              1 (const int)
+0:150            Constant:
+0:150              2 (const int)
+0:150        subgroupInclusiveMul ( global highp 3-component vector of uint)
+0:150          vector swizzle ( temp highp 3-component vector of uint)
+0:150            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:150              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150                Constant:
+0:150                  2 (const int)
+0:150              Constant:
+0:150                2 (const int)
+0:150            Sequence
+0:150              Constant:
+0:150                0 (const int)
+0:150              Constant:
+0:150                1 (const int)
+0:150              Constant:
+0:150                2 (const int)
+0:151      move second child to first child ( temp highp 4-component vector of uint)
+0:151        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:151          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151            Constant:
+0:151              2 (const int)
+0:151          Constant:
+0:151            2 (const int)
+0:151        subgroupInclusiveMul ( global highp 4-component vector of uint)
+0:151          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:151            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151              Constant:
+0:151                3 (const int)
+0:151            Constant:
+0:151              2 (const int)
+0:153      move second child to first child ( temp highp float)
+0:153        direct index ( temp highp float)
+0:153          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:153            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153              Constant:
+0:153                3 (const int)
+0:153            Constant:
+0:153              0 (const int)
+0:153          Constant:
+0:153            0 (const int)
+0:153        subgroupInclusiveMin ( global highp float)
+0:153          direct index ( temp highp float)
+0:153            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:153              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153                Constant:
+0:153                  0 (const int)
+0:153              Constant:
+0:153                0 (const int)
+0:153            Constant:
+0:153              0 (const int)
+0:154      move second child to first child ( temp highp 2-component vector of float)
+0:154        vector swizzle ( temp highp 2-component vector of float)
+0:154          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:154            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:154              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:154              Constant:
+0:154                3 (const int)
+0:154            Constant:
+0:154              0 (const int)
+0:154          Sequence
+0:154            Constant:
+0:154              0 (const int)
+0:154            Constant:
+0:154              1 (const int)
+0:154        subgroupInclusiveMin ( global highp 2-component vector of float)
+0:154          vector swizzle ( temp highp 2-component vector of float)
+0:154            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:154              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:154                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:154                Constant:
+0:154                  1 (const int)
+0:154              Constant:
+0:154                0 (const int)
+0:154            Sequence
+0:154              Constant:
+0:154                0 (const int)
+0:154              Constant:
+0:154                1 (const int)
+0:155      move second child to first child ( temp highp 3-component vector of float)
+0:155        vector swizzle ( temp highp 3-component vector of float)
+0:155          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:155            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155              Constant:
+0:155                3 (const int)
+0:155            Constant:
+0:155              0 (const int)
+0:155          Sequence
+0:155            Constant:
+0:155              0 (const int)
+0:155            Constant:
+0:155              1 (const int)
+0:155            Constant:
+0:155              2 (const int)
+0:155        subgroupInclusiveMin ( global highp 3-component vector of float)
+0:155          vector swizzle ( temp highp 3-component vector of float)
+0:155            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:155              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155                Constant:
+0:155                  2 (const int)
+0:155              Constant:
+0:155                0 (const int)
+0:155            Sequence
+0:155              Constant:
+0:155                0 (const int)
+0:155              Constant:
+0:155                1 (const int)
+0:155              Constant:
+0:155                2 (const int)
+0:156      move second child to first child ( temp highp 4-component vector of float)
+0:156        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:156          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156            Constant:
+0:156              3 (const int)
+0:156          Constant:
+0:156            0 (const int)
+0:156        subgroupInclusiveMin ( global highp 4-component vector of float)
+0:156          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:156            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156              Constant:
+0:156                3 (const int)
+0:156            Constant:
+0:156              0 (const int)
+0:158      move second child to first child ( temp highp int)
+0:158        direct index ( temp highp int)
+0:158          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:158            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158              Constant:
+0:158                0 (const int)
+0:158            Constant:
+0:158              1 (const int)
+0:158          Constant:
+0:158            0 (const int)
+0:158        subgroupInclusiveMin ( global highp int)
+0:158          direct index ( temp highp int)
+0:158            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:158              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158                Constant:
+0:158                  0 (const int)
+0:158              Constant:
+0:158                1 (const int)
+0:158            Constant:
+0:158              0 (const int)
+0:159      move second child to first child ( temp highp 2-component vector of int)
+0:159        vector swizzle ( temp highp 2-component vector of int)
+0:159          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:159            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:159              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:159              Constant:
+0:159                0 (const int)
+0:159            Constant:
+0:159              1 (const int)
+0:159          Sequence
+0:159            Constant:
+0:159              0 (const int)
+0:159            Constant:
+0:159              1 (const int)
+0:159        subgroupInclusiveMin ( global highp 2-component vector of int)
+0:159          vector swizzle ( temp highp 2-component vector of int)
+0:159            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:159              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:159                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:159                Constant:
+0:159                  1 (const int)
+0:159              Constant:
+0:159                1 (const int)
+0:159            Sequence
+0:159              Constant:
+0:159                0 (const int)
+0:159              Constant:
+0:159                1 (const int)
+0:160      move second child to first child ( temp highp 3-component vector of int)
+0:160        vector swizzle ( temp highp 3-component vector of int)
+0:160          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:160            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160              Constant:
+0:160                0 (const int)
+0:160            Constant:
+0:160              1 (const int)
+0:160          Sequence
+0:160            Constant:
+0:160              0 (const int)
+0:160            Constant:
+0:160              1 (const int)
+0:160            Constant:
+0:160              2 (const int)
+0:160        subgroupInclusiveMin ( global highp 3-component vector of int)
+0:160          vector swizzle ( temp highp 3-component vector of int)
+0:160            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:160              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160                Constant:
+0:160                  2 (const int)
+0:160              Constant:
+0:160                1 (const int)
+0:160            Sequence
+0:160              Constant:
+0:160                0 (const int)
+0:160              Constant:
+0:160                1 (const int)
+0:160              Constant:
+0:160                2 (const int)
+0:161      move second child to first child ( temp highp 4-component vector of int)
+0:161        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:161          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161            Constant:
+0:161              0 (const int)
+0:161          Constant:
+0:161            1 (const int)
+0:161        subgroupInclusiveMin ( global highp 4-component vector of int)
+0:161          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:161            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161              Constant:
+0:161                3 (const int)
+0:161            Constant:
+0:161              1 (const int)
+0:163      move second child to first child ( temp highp uint)
+0:163        direct index ( temp highp uint)
+0:163          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:163            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163              Constant:
+0:163                1 (const int)
+0:163            Constant:
+0:163              2 (const int)
+0:163          Constant:
+0:163            0 (const int)
+0:163        subgroupInclusiveMin ( global highp uint)
+0:163          direct index ( temp highp uint)
+0:163            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:163              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163                Constant:
+0:163                  0 (const int)
+0:163              Constant:
+0:163                2 (const int)
+0:163            Constant:
+0:163              0 (const int)
+0:164      move second child to first child ( temp highp 2-component vector of uint)
+0:164        vector swizzle ( temp highp 2-component vector of uint)
+0:164          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:164            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:164              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:164              Constant:
+0:164                1 (const int)
+0:164            Constant:
+0:164              2 (const int)
+0:164          Sequence
+0:164            Constant:
+0:164              0 (const int)
+0:164            Constant:
+0:164              1 (const int)
+0:164        subgroupInclusiveMin ( global highp 2-component vector of uint)
+0:164          vector swizzle ( temp highp 2-component vector of uint)
+0:164            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:164              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:164                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:164                Constant:
+0:164                  1 (const int)
+0:164              Constant:
+0:164                2 (const int)
+0:164            Sequence
+0:164              Constant:
+0:164                0 (const int)
+0:164              Constant:
+0:164                1 (const int)
+0:165      move second child to first child ( temp highp 3-component vector of uint)
+0:165        vector swizzle ( temp highp 3-component vector of uint)
+0:165          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:165            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165              Constant:
+0:165                1 (const int)
+0:165            Constant:
+0:165              2 (const int)
+0:165          Sequence
+0:165            Constant:
+0:165              0 (const int)
+0:165            Constant:
+0:165              1 (const int)
+0:165            Constant:
+0:165              2 (const int)
+0:165        subgroupInclusiveMin ( global highp 3-component vector of uint)
+0:165          vector swizzle ( temp highp 3-component vector of uint)
+0:165            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:165              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165                Constant:
+0:165                  2 (const int)
+0:165              Constant:
+0:165                2 (const int)
+0:165            Sequence
+0:165              Constant:
+0:165                0 (const int)
+0:165              Constant:
+0:165                1 (const int)
+0:165              Constant:
+0:165                2 (const int)
+0:166      move second child to first child ( temp highp 4-component vector of uint)
+0:166        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:166          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166            Constant:
+0:166              1 (const int)
+0:166          Constant:
+0:166            2 (const int)
+0:166        subgroupInclusiveMin ( global highp 4-component vector of uint)
+0:166          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:166            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166              Constant:
+0:166                3 (const int)
+0:166            Constant:
+0:166              2 (const int)
+0:168      move second child to first child ( temp highp float)
+0:168        direct index ( temp highp float)
+0:168          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:168            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168              Constant:
+0:168                2 (const int)
+0:168            Constant:
+0:168              0 (const int)
+0:168          Constant:
+0:168            0 (const int)
+0:168        subgroupInclusiveMax ( global highp float)
+0:168          direct index ( temp highp float)
+0:168            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:168              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168                Constant:
+0:168                  0 (const int)
+0:168              Constant:
+0:168                0 (const int)
+0:168            Constant:
+0:168              0 (const int)
+0:169      move second child to first child ( temp highp 2-component vector of float)
+0:169        vector swizzle ( temp highp 2-component vector of float)
+0:169          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:169            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:169              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:169              Constant:
+0:169                2 (const int)
+0:169            Constant:
+0:169              0 (const int)
+0:169          Sequence
+0:169            Constant:
+0:169              0 (const int)
+0:169            Constant:
+0:169              1 (const int)
+0:169        subgroupInclusiveMax ( global highp 2-component vector of float)
+0:169          vector swizzle ( temp highp 2-component vector of float)
+0:169            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:169              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:169                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:169                Constant:
+0:169                  1 (const int)
+0:169              Constant:
+0:169                0 (const int)
+0:169            Sequence
+0:169              Constant:
+0:169                0 (const int)
+0:169              Constant:
+0:169                1 (const int)
+0:170      move second child to first child ( temp highp 3-component vector of float)
+0:170        vector swizzle ( temp highp 3-component vector of float)
+0:170          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:170            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170              Constant:
+0:170                2 (const int)
+0:170            Constant:
+0:170              0 (const int)
+0:170          Sequence
+0:170            Constant:
+0:170              0 (const int)
+0:170            Constant:
+0:170              1 (const int)
+0:170            Constant:
+0:170              2 (const int)
+0:170        subgroupInclusiveMax ( global highp 3-component vector of float)
+0:170          vector swizzle ( temp highp 3-component vector of float)
+0:170            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:170              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170                Constant:
+0:170                  2 (const int)
+0:170              Constant:
+0:170                0 (const int)
+0:170            Sequence
+0:170              Constant:
+0:170                0 (const int)
+0:170              Constant:
+0:170                1 (const int)
+0:170              Constant:
+0:170                2 (const int)
+0:171      move second child to first child ( temp highp 4-component vector of float)
+0:171        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:171          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171            Constant:
+0:171              2 (const int)
+0:171          Constant:
+0:171            0 (const int)
+0:171        subgroupInclusiveMax ( global highp 4-component vector of float)
+0:171          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:171            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171              Constant:
+0:171                3 (const int)
+0:171            Constant:
+0:171              0 (const int)
+0:173      move second child to first child ( temp highp int)
+0:173        direct index ( temp highp int)
+0:173          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:173            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173              Constant:
+0:173                3 (const int)
+0:173            Constant:
+0:173              1 (const int)
+0:173          Constant:
+0:173            0 (const int)
+0:173        subgroupInclusiveMax ( global highp int)
+0:173          direct index ( temp highp int)
+0:173            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:173              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173                Constant:
+0:173                  0 (const int)
+0:173              Constant:
+0:173                1 (const int)
+0:173            Constant:
+0:173              0 (const int)
+0:174      move second child to first child ( temp highp 2-component vector of int)
+0:174        vector swizzle ( temp highp 2-component vector of int)
+0:174          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:174            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:174              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:174              Constant:
+0:174                3 (const int)
+0:174            Constant:
+0:174              1 (const int)
+0:174          Sequence
+0:174            Constant:
+0:174              0 (const int)
+0:174            Constant:
+0:174              1 (const int)
+0:174        subgroupInclusiveMax ( global highp 2-component vector of int)
+0:174          vector swizzle ( temp highp 2-component vector of int)
+0:174            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:174              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:174                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:174                Constant:
+0:174                  1 (const int)
+0:174              Constant:
+0:174                1 (const int)
+0:174            Sequence
+0:174              Constant:
+0:174                0 (const int)
+0:174              Constant:
+0:174                1 (const int)
+0:175      move second child to first child ( temp highp 3-component vector of int)
+0:175        vector swizzle ( temp highp 3-component vector of int)
+0:175          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:175            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175              Constant:
+0:175                3 (const int)
+0:175            Constant:
+0:175              1 (const int)
+0:175          Sequence
+0:175            Constant:
+0:175              0 (const int)
+0:175            Constant:
+0:175              1 (const int)
+0:175            Constant:
+0:175              2 (const int)
+0:175        subgroupInclusiveMax ( global highp 3-component vector of int)
+0:175          vector swizzle ( temp highp 3-component vector of int)
+0:175            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:175              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175                Constant:
+0:175                  2 (const int)
+0:175              Constant:
+0:175                1 (const int)
+0:175            Sequence
+0:175              Constant:
+0:175                0 (const int)
+0:175              Constant:
+0:175                1 (const int)
+0:175              Constant:
+0:175                2 (const int)
+0:176      move second child to first child ( temp highp 4-component vector of int)
+0:176        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:176          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176            Constant:
+0:176              3 (const int)
+0:176          Constant:
+0:176            1 (const int)
+0:176        subgroupInclusiveMax ( global highp 4-component vector of int)
+0:176          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:176            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176              Constant:
+0:176                3 (const int)
+0:176            Constant:
+0:176              1 (const int)
+0:178      move second child to first child ( temp highp uint)
+0:178        direct index ( temp highp uint)
+0:178          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:178            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178              Constant:
+0:178                0 (const int)
+0:178            Constant:
+0:178              2 (const int)
+0:178          Constant:
+0:178            0 (const int)
+0:178        subgroupInclusiveMax ( global highp uint)
+0:178          direct index ( temp highp uint)
+0:178            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:178              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178                Constant:
+0:178                  0 (const int)
+0:178              Constant:
+0:178                2 (const int)
+0:178            Constant:
+0:178              0 (const int)
+0:179      move second child to first child ( temp highp 2-component vector of uint)
+0:179        vector swizzle ( temp highp 2-component vector of uint)
+0:179          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:179            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:179              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:179              Constant:
+0:179                0 (const int)
+0:179            Constant:
+0:179              2 (const int)
+0:179          Sequence
+0:179            Constant:
+0:179              0 (const int)
+0:179            Constant:
+0:179              1 (const int)
+0:179        subgroupInclusiveMax ( global highp 2-component vector of uint)
+0:179          vector swizzle ( temp highp 2-component vector of uint)
+0:179            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:179              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:179                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:179                Constant:
+0:179                  1 (const int)
+0:179              Constant:
+0:179                2 (const int)
+0:179            Sequence
+0:179              Constant:
+0:179                0 (const int)
+0:179              Constant:
+0:179                1 (const int)
+0:180      move second child to first child ( temp highp 3-component vector of uint)
+0:180        vector swizzle ( temp highp 3-component vector of uint)
+0:180          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:180            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180              Constant:
+0:180                0 (const int)
+0:180            Constant:
+0:180              2 (const int)
+0:180          Sequence
+0:180            Constant:
+0:180              0 (const int)
+0:180            Constant:
+0:180              1 (const int)
+0:180            Constant:
+0:180              2 (const int)
+0:180        subgroupInclusiveMax ( global highp 3-component vector of uint)
+0:180          vector swizzle ( temp highp 3-component vector of uint)
+0:180            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:180              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180                Constant:
+0:180                  2 (const int)
+0:180              Constant:
+0:180                2 (const int)
+0:180            Sequence
+0:180              Constant:
+0:180                0 (const int)
+0:180              Constant:
+0:180                1 (const int)
+0:180              Constant:
+0:180                2 (const int)
+0:181      move second child to first child ( temp highp 4-component vector of uint)
+0:181        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:181          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181            Constant:
+0:181              0 (const int)
+0:181          Constant:
+0:181            2 (const int)
+0:181        subgroupInclusiveMax ( global highp 4-component vector of uint)
+0:181          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:181            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181              Constant:
+0:181                3 (const int)
+0:181            Constant:
+0:181              2 (const int)
+0:183      move second child to first child ( temp highp int)
+0:183        direct index ( temp highp int)
+0:183          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:183            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183              Constant:
+0:183                1 (const int)
+0:183            Constant:
+0:183              1 (const int)
+0:183          Constant:
+0:183            0 (const int)
+0:183        subgroupInclusiveAnd ( global highp int)
+0:183          direct index ( temp highp int)
+0:183            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:183              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183                Constant:
+0:183                  0 (const int)
+0:183              Constant:
+0:183                1 (const int)
+0:183            Constant:
+0:183              0 (const int)
+0:184      move second child to first child ( temp highp 2-component vector of int)
+0:184        vector swizzle ( temp highp 2-component vector of int)
+0:184          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:184            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:184              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:184              Constant:
+0:184                1 (const int)
+0:184            Constant:
+0:184              1 (const int)
+0:184          Sequence
+0:184            Constant:
+0:184              0 (const int)
+0:184            Constant:
+0:184              1 (const int)
+0:184        subgroupInclusiveAnd ( global highp 2-component vector of int)
+0:184          vector swizzle ( temp highp 2-component vector of int)
+0:184            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:184              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:184                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:184                Constant:
+0:184                  1 (const int)
+0:184              Constant:
+0:184                1 (const int)
+0:184            Sequence
+0:184              Constant:
+0:184                0 (const int)
+0:184              Constant:
+0:184                1 (const int)
+0:185      move second child to first child ( temp highp 3-component vector of int)
+0:185        vector swizzle ( temp highp 3-component vector of int)
+0:185          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:185            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185              Constant:
+0:185                1 (const int)
+0:185            Constant:
+0:185              1 (const int)
+0:185          Sequence
+0:185            Constant:
+0:185              0 (const int)
+0:185            Constant:
+0:185              1 (const int)
+0:185            Constant:
+0:185              2 (const int)
+0:185        subgroupInclusiveAnd ( global highp 3-component vector of int)
+0:185          vector swizzle ( temp highp 3-component vector of int)
+0:185            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:185              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185                Constant:
+0:185                  2 (const int)
+0:185              Constant:
+0:185                1 (const int)
+0:185            Sequence
+0:185              Constant:
+0:185                0 (const int)
+0:185              Constant:
+0:185                1 (const int)
+0:185              Constant:
+0:185                2 (const int)
+0:186      move second child to first child ( temp highp 4-component vector of int)
+0:186        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:186          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186            Constant:
+0:186              1 (const int)
+0:186          Constant:
+0:186            1 (const int)
+0:186        subgroupInclusiveAnd ( global highp 4-component vector of int)
+0:186          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:186            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186              Constant:
+0:186                3 (const int)
+0:186            Constant:
+0:186              1 (const int)
+0:188      move second child to first child ( temp highp uint)
+0:188        direct index ( temp highp uint)
+0:188          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:188            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188              Constant:
+0:188                2 (const int)
+0:188            Constant:
+0:188              2 (const int)
+0:188          Constant:
+0:188            0 (const int)
+0:188        subgroupInclusiveAnd ( global highp uint)
+0:188          direct index ( temp highp uint)
+0:188            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:188              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188                Constant:
+0:188                  0 (const int)
+0:188              Constant:
+0:188                2 (const int)
+0:188            Constant:
+0:188              0 (const int)
+0:189      move second child to first child ( temp highp 2-component vector of uint)
+0:189        vector swizzle ( temp highp 2-component vector of uint)
+0:189          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:189            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:189              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:189              Constant:
+0:189                2 (const int)
+0:189            Constant:
+0:189              2 (const int)
+0:189          Sequence
+0:189            Constant:
+0:189              0 (const int)
+0:189            Constant:
+0:189              1 (const int)
+0:189        subgroupInclusiveAnd ( global highp 2-component vector of uint)
+0:189          vector swizzle ( temp highp 2-component vector of uint)
+0:189            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:189              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:189                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:189                Constant:
+0:189                  1 (const int)
+0:189              Constant:
+0:189                2 (const int)
+0:189            Sequence
+0:189              Constant:
+0:189                0 (const int)
+0:189              Constant:
+0:189                1 (const int)
+0:190      move second child to first child ( temp highp 3-component vector of uint)
+0:190        vector swizzle ( temp highp 3-component vector of uint)
+0:190          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:190            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190              Constant:
+0:190                2 (const int)
+0:190            Constant:
+0:190              2 (const int)
+0:190          Sequence
+0:190            Constant:
+0:190              0 (const int)
+0:190            Constant:
+0:190              1 (const int)
+0:190            Constant:
+0:190              2 (const int)
+0:190        subgroupInclusiveAnd ( global highp 3-component vector of uint)
+0:190          vector swizzle ( temp highp 3-component vector of uint)
+0:190            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:190              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190                Constant:
+0:190                  2 (const int)
+0:190              Constant:
+0:190                2 (const int)
+0:190            Sequence
+0:190              Constant:
+0:190                0 (const int)
+0:190              Constant:
+0:190                1 (const int)
+0:190              Constant:
+0:190                2 (const int)
+0:191      move second child to first child ( temp highp 4-component vector of uint)
+0:191        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:191          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191            Constant:
+0:191              2 (const int)
+0:191          Constant:
+0:191            2 (const int)
+0:191        subgroupInclusiveAnd ( global highp 4-component vector of uint)
+0:191          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:191            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191              Constant:
+0:191                3 (const int)
+0:191            Constant:
+0:191              2 (const int)
+0:193      move second child to first child ( temp highp int)
+0:193        direct index ( temp highp int)
+0:193          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:193            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193              Constant:
+0:193                3 (const int)
+0:193            Constant:
+0:193              1 (const int)
+0:193          Constant:
+0:193            0 (const int)
+0:193        Convert bool to int ( temp highp int)
+0:193          subgroupInclusiveAnd ( global bool)
+0:193            Compare Less Than ( temp bool)
+0:193              direct index ( temp highp int)
+0:193                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:193                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193                    Constant:
+0:193                      0 (const int)
+0:193                  Constant:
+0:193                    1 (const int)
+0:193                Constant:
+0:193                  0 (const int)
+0:193              Constant:
+0:193                0 (const int)
+0:194      move second child to first child ( temp highp 2-component vector of int)
+0:194        vector swizzle ( temp highp 2-component vector of int)
+0:194          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:194            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:194              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:194              Constant:
+0:194                3 (const int)
+0:194            Constant:
+0:194              1 (const int)
+0:194          Sequence
+0:194            Constant:
+0:194              0 (const int)
+0:194            Constant:
+0:194              1 (const int)
+0:194        Convert bool to int ( temp highp 2-component vector of int)
+0:194          subgroupInclusiveAnd ( global 2-component vector of bool)
+0:194            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:194              vector swizzle ( temp highp 2-component vector of int)
+0:194                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:194                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:194                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:194                    Constant:
+0:194                      1 (const int)
+0:194                  Constant:
+0:194                    1 (const int)
+0:194                Sequence
+0:194                  Constant:
+0:194                    0 (const int)
+0:194                  Constant:
+0:194                    1 (const int)
+0:194              Constant:
+0:194                0 (const int)
+0:194                0 (const int)
+0:195      move second child to first child ( temp highp 3-component vector of int)
+0:195        vector swizzle ( temp highp 3-component vector of int)
+0:195          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:195            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195              Constant:
+0:195                3 (const int)
+0:195            Constant:
+0:195              1 (const int)
+0:195          Sequence
+0:195            Constant:
+0:195              0 (const int)
+0:195            Constant:
+0:195              1 (const int)
+0:195            Constant:
+0:195              2 (const int)
+0:195        Convert bool to int ( temp highp 3-component vector of int)
+0:195          subgroupInclusiveAnd ( global 3-component vector of bool)
+0:195            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:195              vector swizzle ( temp highp 3-component vector of int)
+0:195                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:195                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195                    Constant:
+0:195                      1 (const int)
+0:195                  Constant:
+0:195                    1 (const int)
+0:195                Sequence
+0:195                  Constant:
+0:195                    0 (const int)
+0:195                  Constant:
+0:195                    1 (const int)
+0:195                  Constant:
+0:195                    2 (const int)
+0:195              Constant:
+0:195                0 (const int)
+0:195                0 (const int)
+0:195                0 (const int)
+0:196      move second child to first child ( temp highp 4-component vector of int)
+0:196        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:196          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196            Constant:
+0:196              3 (const int)
+0:196          Constant:
+0:196            1 (const int)
+0:196        Convert bool to int ( temp highp 4-component vector of int)
+0:196          subgroupInclusiveAnd ( global 4-component vector of bool)
+0:196            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:196              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:196                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196                  Constant:
+0:196                    1 (const int)
+0:196                Constant:
+0:196                  1 (const int)
+0:196              Constant:
+0:196                0 (const int)
+0:196                0 (const int)
+0:196                0 (const int)
+0:196                0 (const int)
+0:198      move second child to first child ( temp highp int)
+0:198        direct index ( temp highp int)
+0:198          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:198            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198              Constant:
+0:198                0 (const int)
+0:198            Constant:
+0:198              1 (const int)
+0:198          Constant:
+0:198            0 (const int)
+0:198        subgroupInclusiveOr ( global highp int)
+0:198          direct index ( temp highp int)
+0:198            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:198              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198                Constant:
+0:198                  0 (const int)
+0:198              Constant:
+0:198                1 (const int)
+0:198            Constant:
+0:198              0 (const int)
+0:199      move second child to first child ( temp highp 2-component vector of int)
+0:199        vector swizzle ( temp highp 2-component vector of int)
+0:199          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:199            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:199              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:199              Constant:
+0:199                0 (const int)
+0:199            Constant:
+0:199              1 (const int)
+0:199          Sequence
+0:199            Constant:
+0:199              0 (const int)
+0:199            Constant:
+0:199              1 (const int)
+0:199        subgroupInclusiveOr ( global highp 2-component vector of int)
+0:199          vector swizzle ( temp highp 2-component vector of int)
+0:199            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:199              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:199                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:199                Constant:
+0:199                  1 (const int)
+0:199              Constant:
+0:199                1 (const int)
+0:199            Sequence
+0:199              Constant:
+0:199                0 (const int)
+0:199              Constant:
+0:199                1 (const int)
+0:200      move second child to first child ( temp highp 3-component vector of int)
+0:200        vector swizzle ( temp highp 3-component vector of int)
+0:200          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:200            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200              Constant:
+0:200                0 (const int)
+0:200            Constant:
+0:200              1 (const int)
+0:200          Sequence
+0:200            Constant:
+0:200              0 (const int)
+0:200            Constant:
+0:200              1 (const int)
+0:200            Constant:
+0:200              2 (const int)
+0:200        subgroupInclusiveOr ( global highp 3-component vector of int)
+0:200          vector swizzle ( temp highp 3-component vector of int)
+0:200            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:200              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200                Constant:
+0:200                  2 (const int)
+0:200              Constant:
+0:200                1 (const int)
+0:200            Sequence
+0:200              Constant:
+0:200                0 (const int)
+0:200              Constant:
+0:200                1 (const int)
+0:200              Constant:
+0:200                2 (const int)
+0:201      move second child to first child ( temp highp 4-component vector of int)
+0:201        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:201          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201            Constant:
+0:201              0 (const int)
+0:201          Constant:
+0:201            1 (const int)
+0:201        subgroupInclusiveOr ( global highp 4-component vector of int)
+0:201          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:201            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201              Constant:
+0:201                3 (const int)
+0:201            Constant:
+0:201              1 (const int)
+0:203      move second child to first child ( temp highp uint)
+0:203        direct index ( temp highp uint)
+0:203          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:203            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203              Constant:
+0:203                1 (const int)
+0:203            Constant:
+0:203              2 (const int)
+0:203          Constant:
+0:203            0 (const int)
+0:203        subgroupInclusiveOr ( global highp uint)
+0:203          direct index ( temp highp uint)
+0:203            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:203              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203                Constant:
+0:203                  0 (const int)
+0:203              Constant:
+0:203                2 (const int)
+0:203            Constant:
+0:203              0 (const int)
+0:204      move second child to first child ( temp highp 2-component vector of uint)
+0:204        vector swizzle ( temp highp 2-component vector of uint)
+0:204          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:204            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:204              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:204              Constant:
+0:204                1 (const int)
+0:204            Constant:
+0:204              2 (const int)
+0:204          Sequence
+0:204            Constant:
+0:204              0 (const int)
+0:204            Constant:
+0:204              1 (const int)
+0:204        subgroupInclusiveOr ( global highp 2-component vector of uint)
+0:204          vector swizzle ( temp highp 2-component vector of uint)
+0:204            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:204              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:204                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:204                Constant:
+0:204                  1 (const int)
+0:204              Constant:
+0:204                2 (const int)
+0:204            Sequence
+0:204              Constant:
+0:204                0 (const int)
+0:204              Constant:
+0:204                1 (const int)
+0:205      move second child to first child ( temp highp 3-component vector of uint)
+0:205        vector swizzle ( temp highp 3-component vector of uint)
+0:205          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:205            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205              Constant:
+0:205                1 (const int)
+0:205            Constant:
+0:205              2 (const int)
+0:205          Sequence
+0:205            Constant:
+0:205              0 (const int)
+0:205            Constant:
+0:205              1 (const int)
+0:205            Constant:
+0:205              2 (const int)
+0:205        subgroupInclusiveOr ( global highp 3-component vector of uint)
+0:205          vector swizzle ( temp highp 3-component vector of uint)
+0:205            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:205              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205                Constant:
+0:205                  2 (const int)
+0:205              Constant:
+0:205                2 (const int)
+0:205            Sequence
+0:205              Constant:
+0:205                0 (const int)
+0:205              Constant:
+0:205                1 (const int)
+0:205              Constant:
+0:205                2 (const int)
+0:206      move second child to first child ( temp highp 4-component vector of uint)
+0:206        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:206          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206            Constant:
+0:206              1 (const int)
+0:206          Constant:
+0:206            2 (const int)
+0:206        subgroupInclusiveOr ( global highp 4-component vector of uint)
+0:206          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:206            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206              Constant:
+0:206                3 (const int)
+0:206            Constant:
+0:206              2 (const int)
+0:208      move second child to first child ( temp highp int)
+0:208        direct index ( temp highp int)
+0:208          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:208            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208              Constant:
+0:208                2 (const int)
+0:208            Constant:
+0:208              1 (const int)
+0:208          Constant:
+0:208            0 (const int)
+0:208        Convert bool to int ( temp highp int)
+0:208          subgroupInclusiveOr ( global bool)
+0:208            Compare Less Than ( temp bool)
+0:208              direct index ( temp highp int)
+0:208                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:208                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208                    Constant:
+0:208                      0 (const int)
+0:208                  Constant:
+0:208                    1 (const int)
+0:208                Constant:
+0:208                  0 (const int)
+0:208              Constant:
+0:208                0 (const int)
+0:209      move second child to first child ( temp highp 2-component vector of int)
+0:209        vector swizzle ( temp highp 2-component vector of int)
+0:209          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:209            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:209              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:209              Constant:
+0:209                2 (const int)
+0:209            Constant:
+0:209              1 (const int)
+0:209          Sequence
+0:209            Constant:
+0:209              0 (const int)
+0:209            Constant:
+0:209              1 (const int)
+0:209        Convert bool to int ( temp highp 2-component vector of int)
+0:209          subgroupInclusiveOr ( global 2-component vector of bool)
+0:209            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:209              vector swizzle ( temp highp 2-component vector of int)
+0:209                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:209                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:209                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:209                    Constant:
+0:209                      1 (const int)
+0:209                  Constant:
+0:209                    1 (const int)
+0:209                Sequence
+0:209                  Constant:
+0:209                    0 (const int)
+0:209                  Constant:
+0:209                    1 (const int)
+0:209              Constant:
+0:209                0 (const int)
+0:209                0 (const int)
+0:210      move second child to first child ( temp highp 3-component vector of int)
+0:210        vector swizzle ( temp highp 3-component vector of int)
+0:210          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:210            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210              Constant:
+0:210                2 (const int)
+0:210            Constant:
+0:210              1 (const int)
+0:210          Sequence
+0:210            Constant:
+0:210              0 (const int)
+0:210            Constant:
+0:210              1 (const int)
+0:210            Constant:
+0:210              2 (const int)
+0:210        Convert bool to int ( temp highp 3-component vector of int)
+0:210          subgroupInclusiveOr ( global 3-component vector of bool)
+0:210            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:210              vector swizzle ( temp highp 3-component vector of int)
+0:210                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:210                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210                    Constant:
+0:210                      1 (const int)
+0:210                  Constant:
+0:210                    1 (const int)
+0:210                Sequence
+0:210                  Constant:
+0:210                    0 (const int)
+0:210                  Constant:
+0:210                    1 (const int)
+0:210                  Constant:
+0:210                    2 (const int)
+0:210              Constant:
+0:210                0 (const int)
+0:210                0 (const int)
+0:210                0 (const int)
+0:211      move second child to first child ( temp highp 4-component vector of int)
+0:211        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:211          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211            Constant:
+0:211              2 (const int)
+0:211          Constant:
+0:211            1 (const int)
+0:211        Convert bool to int ( temp highp 4-component vector of int)
+0:211          subgroupInclusiveOr ( global 4-component vector of bool)
+0:211            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:211              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:211                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211                  Constant:
+0:211                    1 (const int)
+0:211                Constant:
+0:211                  1 (const int)
+0:211              Constant:
+0:211                0 (const int)
+0:211                0 (const int)
+0:211                0 (const int)
+0:211                0 (const int)
+0:213      move second child to first child ( temp highp int)
+0:213        direct index ( temp highp int)
+0:213          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:213            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213              Constant:
+0:213                3 (const int)
+0:213            Constant:
+0:213              1 (const int)
+0:213          Constant:
+0:213            0 (const int)
+0:213        subgroupInclusiveXor ( global highp int)
+0:213          direct index ( temp highp int)
+0:213            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:213              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213                Constant:
+0:213                  0 (const int)
+0:213              Constant:
+0:213                1 (const int)
+0:213            Constant:
+0:213              0 (const int)
+0:214      move second child to first child ( temp highp 2-component vector of int)
+0:214        vector swizzle ( temp highp 2-component vector of int)
+0:214          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:214            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:214              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:214              Constant:
+0:214                3 (const int)
+0:214            Constant:
+0:214              1 (const int)
+0:214          Sequence
+0:214            Constant:
+0:214              0 (const int)
+0:214            Constant:
+0:214              1 (const int)
+0:214        subgroupInclusiveXor ( global highp 2-component vector of int)
+0:214          vector swizzle ( temp highp 2-component vector of int)
+0:214            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:214              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:214                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:214                Constant:
+0:214                  1 (const int)
+0:214              Constant:
+0:214                1 (const int)
+0:214            Sequence
+0:214              Constant:
+0:214                0 (const int)
+0:214              Constant:
+0:214                1 (const int)
+0:215      move second child to first child ( temp highp 3-component vector of int)
+0:215        vector swizzle ( temp highp 3-component vector of int)
+0:215          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:215            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215              Constant:
+0:215                3 (const int)
+0:215            Constant:
+0:215              1 (const int)
+0:215          Sequence
+0:215            Constant:
+0:215              0 (const int)
+0:215            Constant:
+0:215              1 (const int)
+0:215            Constant:
+0:215              2 (const int)
+0:215        subgroupInclusiveXor ( global highp 3-component vector of int)
+0:215          vector swizzle ( temp highp 3-component vector of int)
+0:215            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:215              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215                Constant:
+0:215                  2 (const int)
+0:215              Constant:
+0:215                1 (const int)
+0:215            Sequence
+0:215              Constant:
+0:215                0 (const int)
+0:215              Constant:
+0:215                1 (const int)
+0:215              Constant:
+0:215                2 (const int)
+0:216      move second child to first child ( temp highp 4-component vector of int)
+0:216        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:216          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216            Constant:
+0:216              3 (const int)
+0:216          Constant:
+0:216            1 (const int)
+0:216        subgroupInclusiveXor ( global highp 4-component vector of int)
+0:216          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:216            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216              Constant:
+0:216                3 (const int)
+0:216            Constant:
+0:216              1 (const int)
+0:218      move second child to first child ( temp highp uint)
+0:218        direct index ( temp highp uint)
+0:218          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:218            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218              Constant:
+0:218                0 (const int)
+0:218            Constant:
+0:218              2 (const int)
+0:218          Constant:
+0:218            0 (const int)
+0:218        subgroupInclusiveXor ( global highp uint)
+0:218          direct index ( temp highp uint)
+0:218            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:218              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218                Constant:
+0:218                  0 (const int)
+0:218              Constant:
+0:218                2 (const int)
+0:218            Constant:
+0:218              0 (const int)
+0:219      move second child to first child ( temp highp 2-component vector of uint)
+0:219        vector swizzle ( temp highp 2-component vector of uint)
+0:219          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:219            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:219              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:219              Constant:
+0:219                0 (const int)
+0:219            Constant:
+0:219              2 (const int)
+0:219          Sequence
+0:219            Constant:
+0:219              0 (const int)
+0:219            Constant:
+0:219              1 (const int)
+0:219        subgroupInclusiveXor ( global highp 2-component vector of uint)
+0:219          vector swizzle ( temp highp 2-component vector of uint)
+0:219            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:219              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:219                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:219                Constant:
+0:219                  1 (const int)
+0:219              Constant:
+0:219                2 (const int)
+0:219            Sequence
+0:219              Constant:
+0:219                0 (const int)
+0:219              Constant:
+0:219                1 (const int)
+0:220      move second child to first child ( temp highp 3-component vector of uint)
+0:220        vector swizzle ( temp highp 3-component vector of uint)
+0:220          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:220            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220              Constant:
+0:220                0 (const int)
+0:220            Constant:
+0:220              2 (const int)
+0:220          Sequence
+0:220            Constant:
+0:220              0 (const int)
+0:220            Constant:
+0:220              1 (const int)
+0:220            Constant:
+0:220              2 (const int)
+0:220        subgroupInclusiveXor ( global highp 3-component vector of uint)
+0:220          vector swizzle ( temp highp 3-component vector of uint)
+0:220            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:220              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220                Constant:
+0:220                  2 (const int)
+0:220              Constant:
+0:220                2 (const int)
+0:220            Sequence
+0:220              Constant:
+0:220                0 (const int)
+0:220              Constant:
+0:220                1 (const int)
+0:220              Constant:
+0:220                2 (const int)
+0:221      move second child to first child ( temp highp 4-component vector of uint)
+0:221        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:221          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221            Constant:
+0:221              0 (const int)
+0:221          Constant:
+0:221            2 (const int)
+0:221        subgroupInclusiveXor ( global highp 4-component vector of uint)
+0:221          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:221            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221              Constant:
+0:221                3 (const int)
+0:221            Constant:
+0:221              2 (const int)
+0:223      move second child to first child ( temp highp int)
+0:223        direct index ( temp highp int)
+0:223          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:223            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223              Constant:
+0:223                1 (const int)
+0:223            Constant:
+0:223              1 (const int)
+0:223          Constant:
+0:223            0 (const int)
+0:223        Convert bool to int ( temp highp int)
+0:223          subgroupInclusiveXor ( global bool)
+0:223            Compare Less Than ( temp bool)
+0:223              direct index ( temp highp int)
+0:223                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:223                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223                    Constant:
+0:223                      0 (const int)
+0:223                  Constant:
+0:223                    1 (const int)
+0:223                Constant:
+0:223                  0 (const int)
+0:223              Constant:
+0:223                0 (const int)
+0:224      move second child to first child ( temp highp 2-component vector of int)
+0:224        vector swizzle ( temp highp 2-component vector of int)
+0:224          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:224            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:224              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:224              Constant:
+0:224                1 (const int)
+0:224            Constant:
+0:224              1 (const int)
+0:224          Sequence
+0:224            Constant:
+0:224              0 (const int)
+0:224            Constant:
+0:224              1 (const int)
+0:224        Convert bool to int ( temp highp 2-component vector of int)
+0:224          subgroupInclusiveXor ( global 2-component vector of bool)
+0:224            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:224              vector swizzle ( temp highp 2-component vector of int)
+0:224                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:224                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:224                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:224                    Constant:
+0:224                      1 (const int)
+0:224                  Constant:
+0:224                    1 (const int)
+0:224                Sequence
+0:224                  Constant:
+0:224                    0 (const int)
+0:224                  Constant:
+0:224                    1 (const int)
+0:224              Constant:
+0:224                0 (const int)
+0:224                0 (const int)
+0:225      move second child to first child ( temp highp 3-component vector of int)
+0:225        vector swizzle ( temp highp 3-component vector of int)
+0:225          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:225            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225              Constant:
+0:225                1 (const int)
+0:225            Constant:
+0:225              1 (const int)
+0:225          Sequence
+0:225            Constant:
+0:225              0 (const int)
+0:225            Constant:
+0:225              1 (const int)
+0:225            Constant:
+0:225              2 (const int)
+0:225        Convert bool to int ( temp highp 3-component vector of int)
+0:225          subgroupInclusiveXor ( global 3-component vector of bool)
+0:225            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:225              vector swizzle ( temp highp 3-component vector of int)
+0:225                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:225                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225                    Constant:
+0:225                      1 (const int)
+0:225                  Constant:
+0:225                    1 (const int)
+0:225                Sequence
+0:225                  Constant:
+0:225                    0 (const int)
+0:225                  Constant:
+0:225                    1 (const int)
+0:225                  Constant:
+0:225                    2 (const int)
+0:225              Constant:
+0:225                0 (const int)
+0:225                0 (const int)
+0:225                0 (const int)
+0:226      move second child to first child ( temp highp 4-component vector of int)
+0:226        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:226          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226            Constant:
+0:226              1 (const int)
+0:226          Constant:
+0:226            1 (const int)
+0:226        Convert bool to int ( temp highp 4-component vector of int)
+0:226          subgroupInclusiveXor ( global 4-component vector of bool)
+0:226            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:226              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:226                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226                  Constant:
+0:226                    1 (const int)
+0:226                Constant:
+0:226                  1 (const int)
+0:226              Constant:
+0:226                0 (const int)
+0:226                0 (const int)
+0:226                0 (const int)
+0:226                0 (const int)
+0:228      move second child to first child ( temp highp float)
+0:228        direct index ( temp highp float)
+0:228          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:228            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228              Constant:
+0:228                2 (const int)
+0:228            Constant:
+0:228              0 (const int)
+0:228          Constant:
+0:228            0 (const int)
+0:228        subgroupExclusiveAdd ( global highp float)
+0:228          direct index ( temp highp float)
+0:228            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:228              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228                Constant:
+0:228                  0 (const int)
+0:228              Constant:
+0:228                0 (const int)
+0:228            Constant:
+0:228              0 (const int)
+0:229      move second child to first child ( temp highp 2-component vector of float)
+0:229        vector swizzle ( temp highp 2-component vector of float)
+0:229          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:229            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:229              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:229              Constant:
+0:229                2 (const int)
+0:229            Constant:
+0:229              0 (const int)
+0:229          Sequence
+0:229            Constant:
+0:229              0 (const int)
+0:229            Constant:
+0:229              1 (const int)
+0:229        subgroupExclusiveAdd ( global highp 2-component vector of float)
+0:229          vector swizzle ( temp highp 2-component vector of float)
+0:229            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:229              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:229                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:229                Constant:
+0:229                  1 (const int)
+0:229              Constant:
+0:229                0 (const int)
+0:229            Sequence
+0:229              Constant:
+0:229                0 (const int)
+0:229              Constant:
+0:229                1 (const int)
+0:230      move second child to first child ( temp highp 3-component vector of float)
+0:230        vector swizzle ( temp highp 3-component vector of float)
+0:230          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:230            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230              Constant:
+0:230                2 (const int)
+0:230            Constant:
+0:230              0 (const int)
+0:230          Sequence
+0:230            Constant:
+0:230              0 (const int)
+0:230            Constant:
+0:230              1 (const int)
+0:230            Constant:
+0:230              2 (const int)
+0:230        subgroupExclusiveAdd ( global highp 3-component vector of float)
+0:230          vector swizzle ( temp highp 3-component vector of float)
+0:230            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:230              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230                Constant:
+0:230                  2 (const int)
+0:230              Constant:
+0:230                0 (const int)
+0:230            Sequence
+0:230              Constant:
+0:230                0 (const int)
+0:230              Constant:
+0:230                1 (const int)
+0:230              Constant:
+0:230                2 (const int)
+0:231      move second child to first child ( temp highp 4-component vector of float)
+0:231        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:231          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231            Constant:
+0:231              2 (const int)
+0:231          Constant:
+0:231            0 (const int)
+0:231        subgroupExclusiveAdd ( global highp 4-component vector of float)
+0:231          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:231            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231              Constant:
+0:231                3 (const int)
+0:231            Constant:
+0:231              0 (const int)
+0:233      move second child to first child ( temp highp int)
+0:233        direct index ( temp highp int)
+0:233          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:233            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233              Constant:
+0:233                3 (const int)
+0:233            Constant:
+0:233              1 (const int)
+0:233          Constant:
+0:233            0 (const int)
+0:233        subgroupExclusiveAdd ( global highp int)
+0:233          direct index ( temp highp int)
+0:233            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:233              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233                Constant:
+0:233                  0 (const int)
+0:233              Constant:
+0:233                1 (const int)
+0:233            Constant:
+0:233              0 (const int)
+0:234      move second child to first child ( temp highp 2-component vector of int)
+0:234        vector swizzle ( temp highp 2-component vector of int)
+0:234          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:234            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:234              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:234              Constant:
+0:234                3 (const int)
+0:234            Constant:
+0:234              1 (const int)
+0:234          Sequence
+0:234            Constant:
+0:234              0 (const int)
+0:234            Constant:
+0:234              1 (const int)
+0:234        subgroupExclusiveAdd ( global highp 2-component vector of int)
+0:234          vector swizzle ( temp highp 2-component vector of int)
+0:234            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:234              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:234                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:234                Constant:
+0:234                  1 (const int)
+0:234              Constant:
+0:234                1 (const int)
+0:234            Sequence
+0:234              Constant:
+0:234                0 (const int)
+0:234              Constant:
+0:234                1 (const int)
+0:235      move second child to first child ( temp highp 3-component vector of int)
+0:235        vector swizzle ( temp highp 3-component vector of int)
+0:235          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:235            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235              Constant:
+0:235                3 (const int)
+0:235            Constant:
+0:235              1 (const int)
+0:235          Sequence
+0:235            Constant:
+0:235              0 (const int)
+0:235            Constant:
+0:235              1 (const int)
+0:235            Constant:
+0:235              2 (const int)
+0:235        subgroupExclusiveAdd ( global highp 3-component vector of int)
+0:235          vector swizzle ( temp highp 3-component vector of int)
+0:235            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:235              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235                Constant:
+0:235                  2 (const int)
+0:235              Constant:
+0:235                1 (const int)
+0:235            Sequence
+0:235              Constant:
+0:235                0 (const int)
+0:235              Constant:
+0:235                1 (const int)
+0:235              Constant:
+0:235                2 (const int)
+0:236      move second child to first child ( temp highp 4-component vector of int)
+0:236        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:236          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236            Constant:
+0:236              3 (const int)
+0:236          Constant:
+0:236            1 (const int)
+0:236        subgroupExclusiveAdd ( global highp 4-component vector of int)
+0:236          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:236            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236              Constant:
+0:236                3 (const int)
+0:236            Constant:
+0:236              1 (const int)
+0:238      move second child to first child ( temp highp uint)
+0:238        direct index ( temp highp uint)
+0:238          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:238            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238              Constant:
+0:238                0 (const int)
+0:238            Constant:
+0:238              2 (const int)
+0:238          Constant:
+0:238            0 (const int)
+0:238        subgroupExclusiveAdd ( global highp uint)
+0:238          direct index ( temp highp uint)
+0:238            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:238              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238                Constant:
+0:238                  0 (const int)
+0:238              Constant:
+0:238                2 (const int)
+0:238            Constant:
+0:238              0 (const int)
+0:239      move second child to first child ( temp highp 2-component vector of uint)
+0:239        vector swizzle ( temp highp 2-component vector of uint)
+0:239          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:239            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:239              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:239              Constant:
+0:239                0 (const int)
+0:239            Constant:
+0:239              2 (const int)
+0:239          Sequence
+0:239            Constant:
+0:239              0 (const int)
+0:239            Constant:
+0:239              1 (const int)
+0:239        subgroupExclusiveAdd ( global highp 2-component vector of uint)
+0:239          vector swizzle ( temp highp 2-component vector of uint)
+0:239            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:239              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:239                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:239                Constant:
+0:239                  1 (const int)
+0:239              Constant:
+0:239                2 (const int)
+0:239            Sequence
+0:239              Constant:
+0:239                0 (const int)
+0:239              Constant:
+0:239                1 (const int)
+0:240      move second child to first child ( temp highp 3-component vector of uint)
+0:240        vector swizzle ( temp highp 3-component vector of uint)
+0:240          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:240            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240              Constant:
+0:240                0 (const int)
+0:240            Constant:
+0:240              2 (const int)
+0:240          Sequence
+0:240            Constant:
+0:240              0 (const int)
+0:240            Constant:
+0:240              1 (const int)
+0:240            Constant:
+0:240              2 (const int)
+0:240        subgroupExclusiveAdd ( global highp 3-component vector of uint)
+0:240          vector swizzle ( temp highp 3-component vector of uint)
+0:240            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:240              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240                Constant:
+0:240                  2 (const int)
+0:240              Constant:
+0:240                2 (const int)
+0:240            Sequence
+0:240              Constant:
+0:240                0 (const int)
+0:240              Constant:
+0:240                1 (const int)
+0:240              Constant:
+0:240                2 (const int)
+0:241      move second child to first child ( temp highp 4-component vector of uint)
+0:241        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:241          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241            Constant:
+0:241              0 (const int)
+0:241          Constant:
+0:241            2 (const int)
+0:241        subgroupExclusiveAdd ( global highp 4-component vector of uint)
+0:241          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:241            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241              Constant:
+0:241                3 (const int)
+0:241            Constant:
+0:241              2 (const int)
+0:243      move second child to first child ( temp highp float)
+0:243        direct index ( temp highp float)
+0:243          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:243            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243              Constant:
+0:243                1 (const int)
+0:243            Constant:
+0:243              0 (const int)
+0:243          Constant:
+0:243            0 (const int)
+0:243        subgroupExclusiveMul ( global highp float)
+0:243          direct index ( temp highp float)
+0:243            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:243              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243                Constant:
+0:243                  0 (const int)
+0:243              Constant:
+0:243                0 (const int)
+0:243            Constant:
+0:243              0 (const int)
+0:244      move second child to first child ( temp highp 2-component vector of float)
+0:244        vector swizzle ( temp highp 2-component vector of float)
+0:244          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:244            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:244              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:244              Constant:
+0:244                1 (const int)
+0:244            Constant:
+0:244              0 (const int)
+0:244          Sequence
+0:244            Constant:
+0:244              0 (const int)
+0:244            Constant:
+0:244              1 (const int)
+0:244        subgroupExclusiveMul ( global highp 2-component vector of float)
+0:244          vector swizzle ( temp highp 2-component vector of float)
+0:244            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:244              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:244                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:244                Constant:
+0:244                  1 (const int)
+0:244              Constant:
+0:244                0 (const int)
+0:244            Sequence
+0:244              Constant:
+0:244                0 (const int)
+0:244              Constant:
+0:244                1 (const int)
+0:245      move second child to first child ( temp highp 3-component vector of float)
+0:245        vector swizzle ( temp highp 3-component vector of float)
+0:245          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:245            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245              Constant:
+0:245                1 (const int)
+0:245            Constant:
+0:245              0 (const int)
+0:245          Sequence
+0:245            Constant:
+0:245              0 (const int)
+0:245            Constant:
+0:245              1 (const int)
+0:245            Constant:
+0:245              2 (const int)
+0:245        subgroupExclusiveMul ( global highp 3-component vector of float)
+0:245          vector swizzle ( temp highp 3-component vector of float)
+0:245            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:245              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245                Constant:
+0:245                  2 (const int)
+0:245              Constant:
+0:245                0 (const int)
+0:245            Sequence
+0:245              Constant:
+0:245                0 (const int)
+0:245              Constant:
+0:245                1 (const int)
+0:245              Constant:
+0:245                2 (const int)
+0:246      move second child to first child ( temp highp 4-component vector of float)
+0:246        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:246          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246            Constant:
+0:246              1 (const int)
+0:246          Constant:
+0:246            0 (const int)
+0:246        subgroupExclusiveMul ( global highp 4-component vector of float)
+0:246          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:246            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246              Constant:
+0:246                3 (const int)
+0:246            Constant:
+0:246              0 (const int)
+0:248      move second child to first child ( temp highp int)
+0:248        direct index ( temp highp int)
+0:248          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:248            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248              Constant:
+0:248                2 (const int)
+0:248            Constant:
+0:248              1 (const int)
+0:248          Constant:
+0:248            0 (const int)
+0:248        subgroupExclusiveMul ( global highp int)
+0:248          direct index ( temp highp int)
+0:248            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:248              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248                Constant:
+0:248                  0 (const int)
+0:248              Constant:
+0:248                1 (const int)
+0:248            Constant:
+0:248              0 (const int)
+0:249      move second child to first child ( temp highp 2-component vector of int)
+0:249        vector swizzle ( temp highp 2-component vector of int)
+0:249          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:249            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:249              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:249              Constant:
+0:249                2 (const int)
+0:249            Constant:
+0:249              1 (const int)
+0:249          Sequence
+0:249            Constant:
+0:249              0 (const int)
+0:249            Constant:
+0:249              1 (const int)
+0:249        subgroupExclusiveMul ( global highp 2-component vector of int)
+0:249          vector swizzle ( temp highp 2-component vector of int)
+0:249            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:249              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:249                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:249                Constant:
+0:249                  1 (const int)
+0:249              Constant:
+0:249                1 (const int)
+0:249            Sequence
+0:249              Constant:
+0:249                0 (const int)
+0:249              Constant:
+0:249                1 (const int)
+0:250      move second child to first child ( temp highp 3-component vector of int)
+0:250        vector swizzle ( temp highp 3-component vector of int)
+0:250          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:250            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250              Constant:
+0:250                2 (const int)
+0:250            Constant:
+0:250              1 (const int)
+0:250          Sequence
+0:250            Constant:
+0:250              0 (const int)
+0:250            Constant:
+0:250              1 (const int)
+0:250            Constant:
+0:250              2 (const int)
+0:250        subgroupExclusiveMul ( global highp 3-component vector of int)
+0:250          vector swizzle ( temp highp 3-component vector of int)
+0:250            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:250              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250                Constant:
+0:250                  2 (const int)
+0:250              Constant:
+0:250                1 (const int)
+0:250            Sequence
+0:250              Constant:
+0:250                0 (const int)
+0:250              Constant:
+0:250                1 (const int)
+0:250              Constant:
+0:250                2 (const int)
+0:251      move second child to first child ( temp highp 4-component vector of int)
+0:251        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:251          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251            Constant:
+0:251              2 (const int)
+0:251          Constant:
+0:251            1 (const int)
+0:251        subgroupExclusiveMul ( global highp 4-component vector of int)
+0:251          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:251            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251              Constant:
+0:251                3 (const int)
+0:251            Constant:
+0:251              1 (const int)
+0:253      move second child to first child ( temp highp uint)
+0:253        direct index ( temp highp uint)
+0:253          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:253            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253              Constant:
+0:253                3 (const int)
+0:253            Constant:
+0:253              2 (const int)
+0:253          Constant:
+0:253            0 (const int)
+0:253        subgroupExclusiveMul ( global highp uint)
+0:253          direct index ( temp highp uint)
+0:253            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:253              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253                Constant:
+0:253                  0 (const int)
+0:253              Constant:
+0:253                2 (const int)
+0:253            Constant:
+0:253              0 (const int)
+0:254      move second child to first child ( temp highp 2-component vector of uint)
+0:254        vector swizzle ( temp highp 2-component vector of uint)
+0:254          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:254            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:254              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:254              Constant:
+0:254                3 (const int)
+0:254            Constant:
+0:254              2 (const int)
+0:254          Sequence
+0:254            Constant:
+0:254              0 (const int)
+0:254            Constant:
+0:254              1 (const int)
+0:254        subgroupExclusiveMul ( global highp 2-component vector of uint)
+0:254          vector swizzle ( temp highp 2-component vector of uint)
+0:254            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:254              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:254                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:254                Constant:
+0:254                  1 (const int)
+0:254              Constant:
+0:254                2 (const int)
+0:254            Sequence
+0:254              Constant:
+0:254                0 (const int)
+0:254              Constant:
+0:254                1 (const int)
+0:255      move second child to first child ( temp highp 3-component vector of uint)
+0:255        vector swizzle ( temp highp 3-component vector of uint)
+0:255          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:255            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255              Constant:
+0:255                3 (const int)
+0:255            Constant:
+0:255              2 (const int)
+0:255          Sequence
+0:255            Constant:
+0:255              0 (const int)
+0:255            Constant:
+0:255              1 (const int)
+0:255            Constant:
+0:255              2 (const int)
+0:255        subgroupExclusiveMul ( global highp 3-component vector of uint)
+0:255          vector swizzle ( temp highp 3-component vector of uint)
+0:255            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:255              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255                Constant:
+0:255                  2 (const int)
+0:255              Constant:
+0:255                2 (const int)
+0:255            Sequence
+0:255              Constant:
+0:255                0 (const int)
+0:255              Constant:
+0:255                1 (const int)
+0:255              Constant:
+0:255                2 (const int)
+0:256      move second child to first child ( temp highp 4-component vector of uint)
+0:256        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:256          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256            Constant:
+0:256              3 (const int)
+0:256          Constant:
+0:256            2 (const int)
+0:256        subgroupExclusiveMul ( global highp 4-component vector of uint)
+0:256          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:256            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256              Constant:
+0:256                3 (const int)
+0:256            Constant:
+0:256              2 (const int)
+0:258      move second child to first child ( temp highp float)
+0:258        direct index ( temp highp float)
+0:258          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:258            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258              Constant:
+0:258                0 (const int)
+0:258            Constant:
+0:258              0 (const int)
+0:258          Constant:
+0:258            0 (const int)
+0:258        subgroupExclusiveMin ( global highp float)
+0:258          direct index ( temp highp float)
+0:258            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:258              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258                Constant:
+0:258                  0 (const int)
+0:258              Constant:
+0:258                0 (const int)
+0:258            Constant:
+0:258              0 (const int)
+0:259      move second child to first child ( temp highp 2-component vector of float)
+0:259        vector swizzle ( temp highp 2-component vector of float)
+0:259          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:259            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:259              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:259              Constant:
+0:259                0 (const int)
+0:259            Constant:
+0:259              0 (const int)
+0:259          Sequence
+0:259            Constant:
+0:259              0 (const int)
+0:259            Constant:
+0:259              1 (const int)
+0:259        subgroupExclusiveMin ( global highp 2-component vector of float)
+0:259          vector swizzle ( temp highp 2-component vector of float)
+0:259            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:259              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:259                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:259                Constant:
+0:259                  1 (const int)
+0:259              Constant:
+0:259                0 (const int)
+0:259            Sequence
+0:259              Constant:
+0:259                0 (const int)
+0:259              Constant:
+0:259                1 (const int)
+0:260      move second child to first child ( temp highp 3-component vector of float)
+0:260        vector swizzle ( temp highp 3-component vector of float)
+0:260          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:260            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260              Constant:
+0:260                0 (const int)
+0:260            Constant:
+0:260              0 (const int)
+0:260          Sequence
+0:260            Constant:
+0:260              0 (const int)
+0:260            Constant:
+0:260              1 (const int)
+0:260            Constant:
+0:260              2 (const int)
+0:260        subgroupExclusiveMin ( global highp 3-component vector of float)
+0:260          vector swizzle ( temp highp 3-component vector of float)
+0:260            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:260              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260                Constant:
+0:260                  2 (const int)
+0:260              Constant:
+0:260                0 (const int)
+0:260            Sequence
+0:260              Constant:
+0:260                0 (const int)
+0:260              Constant:
+0:260                1 (const int)
+0:260              Constant:
+0:260                2 (const int)
+0:261      move second child to first child ( temp highp 4-component vector of float)
+0:261        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:261          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261            Constant:
+0:261              0 (const int)
+0:261          Constant:
+0:261            0 (const int)
+0:261        subgroupExclusiveMin ( global highp 4-component vector of float)
+0:261          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:261            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261              Constant:
+0:261                3 (const int)
+0:261            Constant:
+0:261              0 (const int)
+0:263      move second child to first child ( temp highp int)
+0:263        direct index ( temp highp int)
+0:263          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:263            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263              Constant:
+0:263                1 (const int)
+0:263            Constant:
+0:263              1 (const int)
+0:263          Constant:
+0:263            0 (const int)
+0:263        subgroupExclusiveMin ( global highp int)
+0:263          direct index ( temp highp int)
+0:263            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:263              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263                Constant:
+0:263                  0 (const int)
+0:263              Constant:
+0:263                1 (const int)
+0:263            Constant:
+0:263              0 (const int)
+0:264      move second child to first child ( temp highp 2-component vector of int)
+0:264        vector swizzle ( temp highp 2-component vector of int)
+0:264          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:264            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:264              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:264              Constant:
+0:264                1 (const int)
+0:264            Constant:
+0:264              1 (const int)
+0:264          Sequence
+0:264            Constant:
+0:264              0 (const int)
+0:264            Constant:
+0:264              1 (const int)
+0:264        subgroupExclusiveMin ( global highp 2-component vector of int)
+0:264          vector swizzle ( temp highp 2-component vector of int)
+0:264            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:264              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:264                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:264                Constant:
+0:264                  1 (const int)
+0:264              Constant:
+0:264                1 (const int)
+0:264            Sequence
+0:264              Constant:
+0:264                0 (const int)
+0:264              Constant:
+0:264                1 (const int)
+0:265      move second child to first child ( temp highp 3-component vector of int)
+0:265        vector swizzle ( temp highp 3-component vector of int)
+0:265          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:265            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265              Constant:
+0:265                1 (const int)
+0:265            Constant:
+0:265              1 (const int)
+0:265          Sequence
+0:265            Constant:
+0:265              0 (const int)
+0:265            Constant:
+0:265              1 (const int)
+0:265            Constant:
+0:265              2 (const int)
+0:265        subgroupExclusiveMin ( global highp 3-component vector of int)
+0:265          vector swizzle ( temp highp 3-component vector of int)
+0:265            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:265              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265                Constant:
+0:265                  2 (const int)
+0:265              Constant:
+0:265                1 (const int)
+0:265            Sequence
+0:265              Constant:
+0:265                0 (const int)
+0:265              Constant:
+0:265                1 (const int)
+0:265              Constant:
+0:265                2 (const int)
+0:266      move second child to first child ( temp highp 4-component vector of int)
+0:266        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:266          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266            Constant:
+0:266              1 (const int)
+0:266          Constant:
+0:266            1 (const int)
+0:266        subgroupExclusiveMin ( global highp 4-component vector of int)
+0:266          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:266            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266              Constant:
+0:266                3 (const int)
+0:266            Constant:
+0:266              1 (const int)
+0:268      move second child to first child ( temp highp uint)
+0:268        direct index ( temp highp uint)
+0:268          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:268            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268              Constant:
+0:268                2 (const int)
+0:268            Constant:
+0:268              2 (const int)
+0:268          Constant:
+0:268            0 (const int)
+0:268        subgroupExclusiveMin ( global highp uint)
+0:268          direct index ( temp highp uint)
+0:268            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:268              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268                Constant:
+0:268                  0 (const int)
+0:268              Constant:
+0:268                2 (const int)
+0:268            Constant:
+0:268              0 (const int)
+0:269      move second child to first child ( temp highp 2-component vector of uint)
+0:269        vector swizzle ( temp highp 2-component vector of uint)
+0:269          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:269            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:269              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:269              Constant:
+0:269                2 (const int)
+0:269            Constant:
+0:269              2 (const int)
+0:269          Sequence
+0:269            Constant:
+0:269              0 (const int)
+0:269            Constant:
+0:269              1 (const int)
+0:269        subgroupExclusiveMin ( global highp 2-component vector of uint)
+0:269          vector swizzle ( temp highp 2-component vector of uint)
+0:269            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:269              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:269                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:269                Constant:
+0:269                  1 (const int)
+0:269              Constant:
+0:269                2 (const int)
+0:269            Sequence
+0:269              Constant:
+0:269                0 (const int)
+0:269              Constant:
+0:269                1 (const int)
+0:270      move second child to first child ( temp highp 3-component vector of uint)
+0:270        vector swizzle ( temp highp 3-component vector of uint)
+0:270          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:270            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270              Constant:
+0:270                2 (const int)
+0:270            Constant:
+0:270              2 (const int)
+0:270          Sequence
+0:270            Constant:
+0:270              0 (const int)
+0:270            Constant:
+0:270              1 (const int)
+0:270            Constant:
+0:270              2 (const int)
+0:270        subgroupExclusiveMin ( global highp 3-component vector of uint)
+0:270          vector swizzle ( temp highp 3-component vector of uint)
+0:270            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:270              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270                Constant:
+0:270                  2 (const int)
+0:270              Constant:
+0:270                2 (const int)
+0:270            Sequence
+0:270              Constant:
+0:270                0 (const int)
+0:270              Constant:
+0:270                1 (const int)
+0:270              Constant:
+0:270                2 (const int)
+0:271      move second child to first child ( temp highp 4-component vector of uint)
+0:271        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:271          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271            Constant:
+0:271              2 (const int)
+0:271          Constant:
+0:271            2 (const int)
+0:271        subgroupExclusiveMin ( global highp 4-component vector of uint)
+0:271          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:271            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271              Constant:
+0:271                3 (const int)
+0:271            Constant:
+0:271              2 (const int)
+0:273      move second child to first child ( temp highp float)
+0:273        direct index ( temp highp float)
+0:273          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:273            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273              Constant:
+0:273                3 (const int)
+0:273            Constant:
+0:273              0 (const int)
+0:273          Constant:
+0:273            0 (const int)
+0:273        subgroupExclusiveMax ( global highp float)
+0:273          direct index ( temp highp float)
+0:273            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:273              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273                Constant:
+0:273                  0 (const int)
+0:273              Constant:
+0:273                0 (const int)
+0:273            Constant:
+0:273              0 (const int)
+0:274      move second child to first child ( temp highp 2-component vector of float)
+0:274        vector swizzle ( temp highp 2-component vector of float)
+0:274          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:274            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:274              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:274              Constant:
+0:274                3 (const int)
+0:274            Constant:
+0:274              0 (const int)
+0:274          Sequence
+0:274            Constant:
+0:274              0 (const int)
+0:274            Constant:
+0:274              1 (const int)
+0:274        subgroupExclusiveMax ( global highp 2-component vector of float)
+0:274          vector swizzle ( temp highp 2-component vector of float)
+0:274            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:274              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:274                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:274                Constant:
+0:274                  1 (const int)
+0:274              Constant:
+0:274                0 (const int)
+0:274            Sequence
+0:274              Constant:
+0:274                0 (const int)
+0:274              Constant:
+0:274                1 (const int)
+0:275      move second child to first child ( temp highp 3-component vector of float)
+0:275        vector swizzle ( temp highp 3-component vector of float)
+0:275          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:275            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275              Constant:
+0:275                3 (const int)
+0:275            Constant:
+0:275              0 (const int)
+0:275          Sequence
+0:275            Constant:
+0:275              0 (const int)
+0:275            Constant:
+0:275              1 (const int)
+0:275            Constant:
+0:275              2 (const int)
+0:275        subgroupExclusiveMax ( global highp 3-component vector of float)
+0:275          vector swizzle ( temp highp 3-component vector of float)
+0:275            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:275              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275                Constant:
+0:275                  2 (const int)
+0:275              Constant:
+0:275                0 (const int)
+0:275            Sequence
+0:275              Constant:
+0:275                0 (const int)
+0:275              Constant:
+0:275                1 (const int)
+0:275              Constant:
+0:275                2 (const int)
+0:276      move second child to first child ( temp highp 4-component vector of float)
+0:276        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:276          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276            Constant:
+0:276              3 (const int)
+0:276          Constant:
+0:276            0 (const int)
+0:276        subgroupExclusiveMax ( global highp 4-component vector of float)
+0:276          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:276            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276              Constant:
+0:276                3 (const int)
+0:276            Constant:
+0:276              0 (const int)
+0:278      move second child to first child ( temp highp int)
+0:278        direct index ( temp highp int)
+0:278          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:278            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278              Constant:
+0:278                0 (const int)
+0:278            Constant:
+0:278              1 (const int)
+0:278          Constant:
+0:278            0 (const int)
+0:278        subgroupExclusiveMax ( global highp int)
+0:278          direct index ( temp highp int)
+0:278            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:278              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278                Constant:
+0:278                  0 (const int)
+0:278              Constant:
+0:278                1 (const int)
+0:278            Constant:
+0:278              0 (const int)
+0:279      move second child to first child ( temp highp 2-component vector of int)
+0:279        vector swizzle ( temp highp 2-component vector of int)
+0:279          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:279            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:279              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:279              Constant:
+0:279                0 (const int)
+0:279            Constant:
+0:279              1 (const int)
+0:279          Sequence
+0:279            Constant:
+0:279              0 (const int)
+0:279            Constant:
+0:279              1 (const int)
+0:279        subgroupExclusiveMax ( global highp 2-component vector of int)
+0:279          vector swizzle ( temp highp 2-component vector of int)
+0:279            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:279              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:279                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:279                Constant:
+0:279                  1 (const int)
+0:279              Constant:
+0:279                1 (const int)
+0:279            Sequence
+0:279              Constant:
+0:279                0 (const int)
+0:279              Constant:
+0:279                1 (const int)
+0:280      move second child to first child ( temp highp 3-component vector of int)
+0:280        vector swizzle ( temp highp 3-component vector of int)
+0:280          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:280            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280              Constant:
+0:280                0 (const int)
+0:280            Constant:
+0:280              1 (const int)
+0:280          Sequence
+0:280            Constant:
+0:280              0 (const int)
+0:280            Constant:
+0:280              1 (const int)
+0:280            Constant:
+0:280              2 (const int)
+0:280        subgroupExclusiveMax ( global highp 3-component vector of int)
+0:280          vector swizzle ( temp highp 3-component vector of int)
+0:280            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:280              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280                Constant:
+0:280                  2 (const int)
+0:280              Constant:
+0:280                1 (const int)
+0:280            Sequence
+0:280              Constant:
+0:280                0 (const int)
+0:280              Constant:
+0:280                1 (const int)
+0:280              Constant:
+0:280                2 (const int)
+0:281      move second child to first child ( temp highp 4-component vector of int)
+0:281        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:281          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281            Constant:
+0:281              0 (const int)
+0:281          Constant:
+0:281            1 (const int)
+0:281        subgroupExclusiveMax ( global highp 4-component vector of int)
+0:281          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:281            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281              Constant:
+0:281                3 (const int)
+0:281            Constant:
+0:281              1 (const int)
+0:283      move second child to first child ( temp highp uint)
+0:283        direct index ( temp highp uint)
+0:283          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:283            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283              Constant:
+0:283                1 (const int)
+0:283            Constant:
+0:283              2 (const int)
+0:283          Constant:
+0:283            0 (const int)
+0:283        subgroupExclusiveMax ( global highp uint)
+0:283          direct index ( temp highp uint)
+0:283            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:283              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283                Constant:
+0:283                  0 (const int)
+0:283              Constant:
+0:283                2 (const int)
+0:283            Constant:
+0:283              0 (const int)
+0:284      move second child to first child ( temp highp 2-component vector of uint)
+0:284        vector swizzle ( temp highp 2-component vector of uint)
+0:284          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:284            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:284              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:284              Constant:
+0:284                1 (const int)
+0:284            Constant:
+0:284              2 (const int)
+0:284          Sequence
+0:284            Constant:
+0:284              0 (const int)
+0:284            Constant:
+0:284              1 (const int)
+0:284        subgroupExclusiveMax ( global highp 2-component vector of uint)
+0:284          vector swizzle ( temp highp 2-component vector of uint)
+0:284            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:284              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:284                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:284                Constant:
+0:284                  1 (const int)
+0:284              Constant:
+0:284                2 (const int)
+0:284            Sequence
+0:284              Constant:
+0:284                0 (const int)
+0:284              Constant:
+0:284                1 (const int)
+0:285      move second child to first child ( temp highp 3-component vector of uint)
+0:285        vector swizzle ( temp highp 3-component vector of uint)
+0:285          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:285            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285              Constant:
+0:285                1 (const int)
+0:285            Constant:
+0:285              2 (const int)
+0:285          Sequence
+0:285            Constant:
+0:285              0 (const int)
+0:285            Constant:
+0:285              1 (const int)
+0:285            Constant:
+0:285              2 (const int)
+0:285        subgroupExclusiveMax ( global highp 3-component vector of uint)
+0:285          vector swizzle ( temp highp 3-component vector of uint)
+0:285            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:285              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285                Constant:
+0:285                  2 (const int)
+0:285              Constant:
+0:285                2 (const int)
+0:285            Sequence
+0:285              Constant:
+0:285                0 (const int)
+0:285              Constant:
+0:285                1 (const int)
+0:285              Constant:
+0:285                2 (const int)
+0:286      move second child to first child ( temp highp 4-component vector of uint)
+0:286        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:286          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286            Constant:
+0:286              1 (const int)
+0:286          Constant:
+0:286            2 (const int)
+0:286        subgroupExclusiveMax ( global highp 4-component vector of uint)
+0:286          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:286            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286              Constant:
+0:286                3 (const int)
+0:286            Constant:
+0:286              2 (const int)
+0:288      move second child to first child ( temp highp int)
+0:288        direct index ( temp highp int)
+0:288          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:288            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288              Constant:
+0:288                2 (const int)
+0:288            Constant:
+0:288              1 (const int)
+0:288          Constant:
+0:288            0 (const int)
+0:288        subgroupExclusiveAnd ( global highp int)
+0:288          direct index ( temp highp int)
+0:288            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:288              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288                Constant:
+0:288                  0 (const int)
+0:288              Constant:
+0:288                1 (const int)
+0:288            Constant:
+0:288              0 (const int)
+0:289      move second child to first child ( temp highp 2-component vector of int)
+0:289        vector swizzle ( temp highp 2-component vector of int)
+0:289          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:289            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:289              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:289              Constant:
+0:289                2 (const int)
+0:289            Constant:
+0:289              1 (const int)
+0:289          Sequence
+0:289            Constant:
+0:289              0 (const int)
+0:289            Constant:
+0:289              1 (const int)
+0:289        subgroupExclusiveAnd ( global highp 2-component vector of int)
+0:289          vector swizzle ( temp highp 2-component vector of int)
+0:289            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:289              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:289                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:289                Constant:
+0:289                  1 (const int)
+0:289              Constant:
+0:289                1 (const int)
+0:289            Sequence
+0:289              Constant:
+0:289                0 (const int)
+0:289              Constant:
+0:289                1 (const int)
+0:290      move second child to first child ( temp highp 3-component vector of int)
+0:290        vector swizzle ( temp highp 3-component vector of int)
+0:290          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:290            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290              Constant:
+0:290                2 (const int)
+0:290            Constant:
+0:290              1 (const int)
+0:290          Sequence
+0:290            Constant:
+0:290              0 (const int)
+0:290            Constant:
+0:290              1 (const int)
+0:290            Constant:
+0:290              2 (const int)
+0:290        subgroupExclusiveAnd ( global highp 3-component vector of int)
+0:290          vector swizzle ( temp highp 3-component vector of int)
+0:290            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:290              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290                Constant:
+0:290                  2 (const int)
+0:290              Constant:
+0:290                1 (const int)
+0:290            Sequence
+0:290              Constant:
+0:290                0 (const int)
+0:290              Constant:
+0:290                1 (const int)
+0:290              Constant:
+0:290                2 (const int)
+0:291      move second child to first child ( temp highp 4-component vector of int)
+0:291        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:291          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291            Constant:
+0:291              2 (const int)
+0:291          Constant:
+0:291            1 (const int)
+0:291        subgroupExclusiveAnd ( global highp 4-component vector of int)
+0:291          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:291            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291              Constant:
+0:291                3 (const int)
+0:291            Constant:
+0:291              1 (const int)
+0:293      move second child to first child ( temp highp uint)
+0:293        direct index ( temp highp uint)
+0:293          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:293            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293              Constant:
+0:293                3 (const int)
+0:293            Constant:
+0:293              2 (const int)
+0:293          Constant:
+0:293            0 (const int)
+0:293        subgroupExclusiveAnd ( global highp uint)
+0:293          direct index ( temp highp uint)
+0:293            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:293              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293                Constant:
+0:293                  0 (const int)
+0:293              Constant:
+0:293                2 (const int)
+0:293            Constant:
+0:293              0 (const int)
+0:294      move second child to first child ( temp highp 2-component vector of uint)
+0:294        vector swizzle ( temp highp 2-component vector of uint)
+0:294          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:294            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:294              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:294              Constant:
+0:294                3 (const int)
+0:294            Constant:
+0:294              2 (const int)
+0:294          Sequence
+0:294            Constant:
+0:294              0 (const int)
+0:294            Constant:
+0:294              1 (const int)
+0:294        subgroupExclusiveAnd ( global highp 2-component vector of uint)
+0:294          vector swizzle ( temp highp 2-component vector of uint)
+0:294            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:294              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:294                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:294                Constant:
+0:294                  1 (const int)
+0:294              Constant:
+0:294                2 (const int)
+0:294            Sequence
+0:294              Constant:
+0:294                0 (const int)
+0:294              Constant:
+0:294                1 (const int)
+0:295      move second child to first child ( temp highp 3-component vector of uint)
+0:295        vector swizzle ( temp highp 3-component vector of uint)
+0:295          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:295            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295              Constant:
+0:295                3 (const int)
+0:295            Constant:
+0:295              2 (const int)
+0:295          Sequence
+0:295            Constant:
+0:295              0 (const int)
+0:295            Constant:
+0:295              1 (const int)
+0:295            Constant:
+0:295              2 (const int)
+0:295        subgroupExclusiveAnd ( global highp 3-component vector of uint)
+0:295          vector swizzle ( temp highp 3-component vector of uint)
+0:295            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:295              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295                Constant:
+0:295                  2 (const int)
+0:295              Constant:
+0:295                2 (const int)
+0:295            Sequence
+0:295              Constant:
+0:295                0 (const int)
+0:295              Constant:
+0:295                1 (const int)
+0:295              Constant:
+0:295                2 (const int)
+0:296      move second child to first child ( temp highp 4-component vector of uint)
+0:296        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:296          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296            Constant:
+0:296              3 (const int)
+0:296          Constant:
+0:296            2 (const int)
+0:296        subgroupExclusiveAnd ( global highp 4-component vector of uint)
+0:296          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:296            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296              Constant:
+0:296                3 (const int)
+0:296            Constant:
+0:296              2 (const int)
+0:298      move second child to first child ( temp highp int)
+0:298        direct index ( temp highp int)
+0:298          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:298            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298              Constant:
+0:298                0 (const int)
+0:298            Constant:
+0:298              1 (const int)
+0:298          Constant:
+0:298            0 (const int)
+0:298        Convert bool to int ( temp highp int)
+0:298          subgroupExclusiveAnd ( global bool)
+0:298            Compare Less Than ( temp bool)
+0:298              direct index ( temp highp int)
+0:298                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:298                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298                    Constant:
+0:298                      0 (const int)
+0:298                  Constant:
+0:298                    1 (const int)
+0:298                Constant:
+0:298                  0 (const int)
+0:298              Constant:
+0:298                0 (const int)
+0:299      move second child to first child ( temp highp 2-component vector of int)
+0:299        vector swizzle ( temp highp 2-component vector of int)
+0:299          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:299            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:299              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:299              Constant:
+0:299                0 (const int)
+0:299            Constant:
+0:299              1 (const int)
+0:299          Sequence
+0:299            Constant:
+0:299              0 (const int)
+0:299            Constant:
+0:299              1 (const int)
+0:299        Convert bool to int ( temp highp 2-component vector of int)
+0:299          subgroupExclusiveAnd ( global 2-component vector of bool)
+0:299            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:299              vector swizzle ( temp highp 2-component vector of int)
+0:299                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:299                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:299                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:299                    Constant:
+0:299                      1 (const int)
+0:299                  Constant:
+0:299                    1 (const int)
+0:299                Sequence
+0:299                  Constant:
+0:299                    0 (const int)
+0:299                  Constant:
+0:299                    1 (const int)
+0:299              Constant:
+0:299                0 (const int)
+0:299                0 (const int)
+0:300      move second child to first child ( temp highp 3-component vector of int)
+0:300        vector swizzle ( temp highp 3-component vector of int)
+0:300          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:300            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300              Constant:
+0:300                0 (const int)
+0:300            Constant:
+0:300              1 (const int)
+0:300          Sequence
+0:300            Constant:
+0:300              0 (const int)
+0:300            Constant:
+0:300              1 (const int)
+0:300            Constant:
+0:300              2 (const int)
+0:300        Convert bool to int ( temp highp 3-component vector of int)
+0:300          subgroupExclusiveAnd ( global 3-component vector of bool)
+0:300            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:300              vector swizzle ( temp highp 3-component vector of int)
+0:300                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:300                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300                    Constant:
+0:300                      1 (const int)
+0:300                  Constant:
+0:300                    1 (const int)
+0:300                Sequence
+0:300                  Constant:
+0:300                    0 (const int)
+0:300                  Constant:
+0:300                    1 (const int)
+0:300                  Constant:
+0:300                    2 (const int)
+0:300              Constant:
+0:300                0 (const int)
+0:300                0 (const int)
+0:300                0 (const int)
+0:301      move second child to first child ( temp highp 4-component vector of int)
+0:301        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:301          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301            Constant:
+0:301              0 (const int)
+0:301          Constant:
+0:301            1 (const int)
+0:301        Convert bool to int ( temp highp 4-component vector of int)
+0:301          subgroupExclusiveAnd ( global 4-component vector of bool)
+0:301            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:301              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:301                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301                  Constant:
+0:301                    1 (const int)
+0:301                Constant:
+0:301                  1 (const int)
+0:301              Constant:
+0:301                0 (const int)
+0:301                0 (const int)
+0:301                0 (const int)
+0:301                0 (const int)
+0:303      move second child to first child ( temp highp int)
+0:303        direct index ( temp highp int)
+0:303          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:303            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303              Constant:
+0:303                1 (const int)
+0:303            Constant:
+0:303              1 (const int)
+0:303          Constant:
+0:303            0 (const int)
+0:303        subgroupExclusiveOr ( global highp int)
+0:303          direct index ( temp highp int)
+0:303            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:303              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303                Constant:
+0:303                  0 (const int)
+0:303              Constant:
+0:303                1 (const int)
+0:303            Constant:
+0:303              0 (const int)
+0:304      move second child to first child ( temp highp 2-component vector of int)
+0:304        vector swizzle ( temp highp 2-component vector of int)
+0:304          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:304            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:304              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:304              Constant:
+0:304                1 (const int)
+0:304            Constant:
+0:304              1 (const int)
+0:304          Sequence
+0:304            Constant:
+0:304              0 (const int)
+0:304            Constant:
+0:304              1 (const int)
+0:304        subgroupExclusiveOr ( global highp 2-component vector of int)
+0:304          vector swizzle ( temp highp 2-component vector of int)
+0:304            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:304              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:304                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:304                Constant:
+0:304                  1 (const int)
+0:304              Constant:
+0:304                1 (const int)
+0:304            Sequence
+0:304              Constant:
+0:304                0 (const int)
+0:304              Constant:
+0:304                1 (const int)
+0:305      move second child to first child ( temp highp 3-component vector of int)
+0:305        vector swizzle ( temp highp 3-component vector of int)
+0:305          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:305            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305              Constant:
+0:305                1 (const int)
+0:305            Constant:
+0:305              1 (const int)
+0:305          Sequence
+0:305            Constant:
+0:305              0 (const int)
+0:305            Constant:
+0:305              1 (const int)
+0:305            Constant:
+0:305              2 (const int)
+0:305        subgroupExclusiveOr ( global highp 3-component vector of int)
+0:305          vector swizzle ( temp highp 3-component vector of int)
+0:305            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:305              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305                Constant:
+0:305                  2 (const int)
+0:305              Constant:
+0:305                1 (const int)
+0:305            Sequence
+0:305              Constant:
+0:305                0 (const int)
+0:305              Constant:
+0:305                1 (const int)
+0:305              Constant:
+0:305                2 (const int)
+0:306      move second child to first child ( temp highp 4-component vector of int)
+0:306        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:306          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306            Constant:
+0:306              1 (const int)
+0:306          Constant:
+0:306            1 (const int)
+0:306        subgroupExclusiveOr ( global highp 4-component vector of int)
+0:306          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:306            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306              Constant:
+0:306                3 (const int)
+0:306            Constant:
+0:306              1 (const int)
+0:308      move second child to first child ( temp highp uint)
+0:308        direct index ( temp highp uint)
+0:308          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:308            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308              Constant:
+0:308                2 (const int)
+0:308            Constant:
+0:308              2 (const int)
+0:308          Constant:
+0:308            0 (const int)
+0:308        subgroupExclusiveOr ( global highp uint)
+0:308          direct index ( temp highp uint)
+0:308            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:308              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308                Constant:
+0:308                  0 (const int)
+0:308              Constant:
+0:308                2 (const int)
+0:308            Constant:
+0:308              0 (const int)
+0:309      move second child to first child ( temp highp 2-component vector of uint)
+0:309        vector swizzle ( temp highp 2-component vector of uint)
+0:309          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:309            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:309              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:309              Constant:
+0:309                2 (const int)
+0:309            Constant:
+0:309              2 (const int)
+0:309          Sequence
+0:309            Constant:
+0:309              0 (const int)
+0:309            Constant:
+0:309              1 (const int)
+0:309        subgroupExclusiveOr ( global highp 2-component vector of uint)
+0:309          vector swizzle ( temp highp 2-component vector of uint)
+0:309            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:309              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:309                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:309                Constant:
+0:309                  1 (const int)
+0:309              Constant:
+0:309                2 (const int)
+0:309            Sequence
+0:309              Constant:
+0:309                0 (const int)
+0:309              Constant:
+0:309                1 (const int)
+0:310      move second child to first child ( temp highp 3-component vector of uint)
+0:310        vector swizzle ( temp highp 3-component vector of uint)
+0:310          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:310            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310              Constant:
+0:310                2 (const int)
+0:310            Constant:
+0:310              2 (const int)
+0:310          Sequence
+0:310            Constant:
+0:310              0 (const int)
+0:310            Constant:
+0:310              1 (const int)
+0:310            Constant:
+0:310              2 (const int)
+0:310        subgroupExclusiveOr ( global highp 3-component vector of uint)
+0:310          vector swizzle ( temp highp 3-component vector of uint)
+0:310            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:310              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310                Constant:
+0:310                  2 (const int)
+0:310              Constant:
+0:310                2 (const int)
+0:310            Sequence
+0:310              Constant:
+0:310                0 (const int)
+0:310              Constant:
+0:310                1 (const int)
+0:310              Constant:
+0:310                2 (const int)
+0:311      move second child to first child ( temp highp 4-component vector of uint)
+0:311        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:311          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311            Constant:
+0:311              2 (const int)
+0:311          Constant:
+0:311            2 (const int)
+0:311        subgroupExclusiveOr ( global highp 4-component vector of uint)
+0:311          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:311            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311              Constant:
+0:311                3 (const int)
+0:311            Constant:
+0:311              2 (const int)
+0:313      move second child to first child ( temp highp int)
+0:313        direct index ( temp highp int)
+0:313          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:313            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313              Constant:
+0:313                3 (const int)
+0:313            Constant:
+0:313              1 (const int)
+0:313          Constant:
+0:313            0 (const int)
+0:313        Convert bool to int ( temp highp int)
+0:313          subgroupExclusiveOr ( global bool)
+0:313            Compare Less Than ( temp bool)
+0:313              direct index ( temp highp int)
+0:313                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:313                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313                    Constant:
+0:313                      0 (const int)
+0:313                  Constant:
+0:313                    1 (const int)
+0:313                Constant:
+0:313                  0 (const int)
+0:313              Constant:
+0:313                0 (const int)
+0:314      move second child to first child ( temp highp 2-component vector of int)
+0:314        vector swizzle ( temp highp 2-component vector of int)
+0:314          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:314            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:314              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:314              Constant:
+0:314                3 (const int)
+0:314            Constant:
+0:314              1 (const int)
+0:314          Sequence
+0:314            Constant:
+0:314              0 (const int)
+0:314            Constant:
+0:314              1 (const int)
+0:314        Convert bool to int ( temp highp 2-component vector of int)
+0:314          subgroupExclusiveOr ( global 2-component vector of bool)
+0:314            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:314              vector swizzle ( temp highp 2-component vector of int)
+0:314                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:314                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:314                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:314                    Constant:
+0:314                      1 (const int)
+0:314                  Constant:
+0:314                    1 (const int)
+0:314                Sequence
+0:314                  Constant:
+0:314                    0 (const int)
+0:314                  Constant:
+0:314                    1 (const int)
+0:314              Constant:
+0:314                0 (const int)
+0:314                0 (const int)
+0:315      move second child to first child ( temp highp 3-component vector of int)
+0:315        vector swizzle ( temp highp 3-component vector of int)
+0:315          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:315            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315              Constant:
+0:315                3 (const int)
+0:315            Constant:
+0:315              1 (const int)
+0:315          Sequence
+0:315            Constant:
+0:315              0 (const int)
+0:315            Constant:
+0:315              1 (const int)
+0:315            Constant:
+0:315              2 (const int)
+0:315        Convert bool to int ( temp highp 3-component vector of int)
+0:315          subgroupExclusiveOr ( global 3-component vector of bool)
+0:315            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:315              vector swizzle ( temp highp 3-component vector of int)
+0:315                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:315                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315                    Constant:
+0:315                      1 (const int)
+0:315                  Constant:
+0:315                    1 (const int)
+0:315                Sequence
+0:315                  Constant:
+0:315                    0 (const int)
+0:315                  Constant:
+0:315                    1 (const int)
+0:315                  Constant:
+0:315                    2 (const int)
+0:315              Constant:
+0:315                0 (const int)
+0:315                0 (const int)
+0:315                0 (const int)
+0:316      move second child to first child ( temp highp 4-component vector of int)
+0:316        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:316          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316            Constant:
+0:316              3 (const int)
+0:316          Constant:
+0:316            1 (const int)
+0:316        Convert bool to int ( temp highp 4-component vector of int)
+0:316          subgroupExclusiveOr ( global 4-component vector of bool)
+0:316            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:316              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:316                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316                  Constant:
+0:316                    1 (const int)
+0:316                Constant:
+0:316                  1 (const int)
+0:316              Constant:
+0:316                0 (const int)
+0:316                0 (const int)
+0:316                0 (const int)
+0:316                0 (const int)
+0:318      move second child to first child ( temp highp int)
+0:318        direct index ( temp highp int)
+0:318          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:318            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318              Constant:
+0:318                0 (const int)
+0:318            Constant:
+0:318              1 (const int)
+0:318          Constant:
+0:318            0 (const int)
+0:318        subgroupExclusiveXor ( global highp int)
+0:318          direct index ( temp highp int)
+0:318            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:318              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318                Constant:
+0:318                  0 (const int)
+0:318              Constant:
+0:318                1 (const int)
+0:318            Constant:
+0:318              0 (const int)
+0:319      move second child to first child ( temp highp 2-component vector of int)
+0:319        vector swizzle ( temp highp 2-component vector of int)
+0:319          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:319            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:319              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:319              Constant:
+0:319                0 (const int)
+0:319            Constant:
+0:319              1 (const int)
+0:319          Sequence
+0:319            Constant:
+0:319              0 (const int)
+0:319            Constant:
+0:319              1 (const int)
+0:319        subgroupExclusiveXor ( global highp 2-component vector of int)
+0:319          vector swizzle ( temp highp 2-component vector of int)
+0:319            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:319              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:319                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:319                Constant:
+0:319                  1 (const int)
+0:319              Constant:
+0:319                1 (const int)
+0:319            Sequence
+0:319              Constant:
+0:319                0 (const int)
+0:319              Constant:
+0:319                1 (const int)
+0:320      move second child to first child ( temp highp 3-component vector of int)
+0:320        vector swizzle ( temp highp 3-component vector of int)
+0:320          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:320            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320              Constant:
+0:320                0 (const int)
+0:320            Constant:
+0:320              1 (const int)
+0:320          Sequence
+0:320            Constant:
+0:320              0 (const int)
+0:320            Constant:
+0:320              1 (const int)
+0:320            Constant:
+0:320              2 (const int)
+0:320        subgroupExclusiveXor ( global highp 3-component vector of int)
+0:320          vector swizzle ( temp highp 3-component vector of int)
+0:320            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:320              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320                Constant:
+0:320                  2 (const int)
+0:320              Constant:
+0:320                1 (const int)
+0:320            Sequence
+0:320              Constant:
+0:320                0 (const int)
+0:320              Constant:
+0:320                1 (const int)
+0:320              Constant:
+0:320                2 (const int)
+0:321      move second child to first child ( temp highp 4-component vector of int)
+0:321        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:321          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321            Constant:
+0:321              0 (const int)
+0:321          Constant:
+0:321            1 (const int)
+0:321        subgroupExclusiveXor ( global highp 4-component vector of int)
+0:321          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:321            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321              Constant:
+0:321                3 (const int)
+0:321            Constant:
+0:321              1 (const int)
+0:323      move second child to first child ( temp highp uint)
+0:323        direct index ( temp highp uint)
+0:323          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:323            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323              Constant:
+0:323                1 (const int)
+0:323            Constant:
+0:323              2 (const int)
+0:323          Constant:
+0:323            0 (const int)
+0:323        subgroupExclusiveXor ( global highp uint)
+0:323          direct index ( temp highp uint)
+0:323            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:323              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323                Constant:
+0:323                  0 (const int)
+0:323              Constant:
+0:323                2 (const int)
+0:323            Constant:
+0:323              0 (const int)
+0:324      move second child to first child ( temp highp 2-component vector of uint)
+0:324        vector swizzle ( temp highp 2-component vector of uint)
+0:324          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:324            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:324              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:324              Constant:
+0:324                1 (const int)
+0:324            Constant:
+0:324              2 (const int)
+0:324          Sequence
+0:324            Constant:
+0:324              0 (const int)
+0:324            Constant:
+0:324              1 (const int)
+0:324        subgroupExclusiveXor ( global highp 2-component vector of uint)
+0:324          vector swizzle ( temp highp 2-component vector of uint)
+0:324            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:324              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:324                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:324                Constant:
+0:324                  1 (const int)
+0:324              Constant:
+0:324                2 (const int)
+0:324            Sequence
+0:324              Constant:
+0:324                0 (const int)
+0:324              Constant:
+0:324                1 (const int)
+0:325      move second child to first child ( temp highp 3-component vector of uint)
+0:325        vector swizzle ( temp highp 3-component vector of uint)
+0:325          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:325            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325              Constant:
+0:325                1 (const int)
+0:325            Constant:
+0:325              2 (const int)
+0:325          Sequence
+0:325            Constant:
+0:325              0 (const int)
+0:325            Constant:
+0:325              1 (const int)
+0:325            Constant:
+0:325              2 (const int)
+0:325        subgroupExclusiveXor ( global highp 3-component vector of uint)
+0:325          vector swizzle ( temp highp 3-component vector of uint)
+0:325            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:325              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325                Constant:
+0:325                  2 (const int)
+0:325              Constant:
+0:325                2 (const int)
+0:325            Sequence
+0:325              Constant:
+0:325                0 (const int)
+0:325              Constant:
+0:325                1 (const int)
+0:325              Constant:
+0:325                2 (const int)
+0:326      move second child to first child ( temp highp 4-component vector of uint)
+0:326        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:326          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326            Constant:
+0:326              1 (const int)
+0:326          Constant:
+0:326            2 (const int)
+0:326        subgroupExclusiveXor ( global highp 4-component vector of uint)
+0:326          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:326            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326              Constant:
+0:326                3 (const int)
+0:326            Constant:
+0:326              2 (const int)
+0:328      move second child to first child ( temp highp int)
+0:328        direct index ( temp highp int)
+0:328          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:328            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328              Constant:
+0:328                2 (const int)
+0:328            Constant:
+0:328              1 (const int)
+0:328          Constant:
+0:328            0 (const int)
+0:328        Convert bool to int ( temp highp int)
+0:328          subgroupExclusiveXor ( global bool)
+0:328            Compare Less Than ( temp bool)
+0:328              direct index ( temp highp int)
+0:328                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:328                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328                    Constant:
+0:328                      0 (const int)
+0:328                  Constant:
+0:328                    1 (const int)
+0:328                Constant:
+0:328                  0 (const int)
+0:328              Constant:
+0:328                0 (const int)
+0:329      move second child to first child ( temp highp 2-component vector of int)
+0:329        vector swizzle ( temp highp 2-component vector of int)
+0:329          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:329            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:329              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:329              Constant:
+0:329                2 (const int)
+0:329            Constant:
+0:329              1 (const int)
+0:329          Sequence
+0:329            Constant:
+0:329              0 (const int)
+0:329            Constant:
+0:329              1 (const int)
+0:329        Convert bool to int ( temp highp 2-component vector of int)
+0:329          subgroupExclusiveXor ( global 2-component vector of bool)
+0:329            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:329              vector swizzle ( temp highp 2-component vector of int)
+0:329                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:329                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:329                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:329                    Constant:
+0:329                      1 (const int)
+0:329                  Constant:
+0:329                    1 (const int)
+0:329                Sequence
+0:329                  Constant:
+0:329                    0 (const int)
+0:329                  Constant:
+0:329                    1 (const int)
+0:329              Constant:
+0:329                0 (const int)
+0:329                0 (const int)
+0:330      move second child to first child ( temp highp 3-component vector of int)
+0:330        vector swizzle ( temp highp 3-component vector of int)
+0:330          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:330            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330              Constant:
+0:330                2 (const int)
+0:330            Constant:
+0:330              1 (const int)
+0:330          Sequence
+0:330            Constant:
+0:330              0 (const int)
+0:330            Constant:
+0:330              1 (const int)
+0:330            Constant:
+0:330              2 (const int)
+0:330        Convert bool to int ( temp highp 3-component vector of int)
+0:330          subgroupExclusiveXor ( global 3-component vector of bool)
+0:330            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:330              vector swizzle ( temp highp 3-component vector of int)
+0:330                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:330                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330                    Constant:
+0:330                      1 (const int)
+0:330                  Constant:
+0:330                    1 (const int)
+0:330                Sequence
+0:330                  Constant:
+0:330                    0 (const int)
+0:330                  Constant:
+0:330                    1 (const int)
+0:330                  Constant:
+0:330                    2 (const int)
+0:330              Constant:
+0:330                0 (const int)
+0:330                0 (const int)
+0:330                0 (const int)
+0:331      move second child to first child ( temp highp 4-component vector of int)
+0:331        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:331          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331            Constant:
+0:331              2 (const int)
+0:331          Constant:
+0:331            1 (const int)
+0:331        Convert bool to int ( temp highp 4-component vector of int)
+0:331          subgroupExclusiveXor ( global 4-component vector of bool)
+0:331            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:331              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:331                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331                  Constant:
+0:331                    1 (const int)
+0:331                Constant:
+0:331                  1 (const int)
+0:331              Constant:
+0:331                0 (const int)
+0:331                0 (const int)
+0:331                0 (const int)
+0:331                0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
+
+Linked compute stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_arithmetic
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 1, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      move second child to first child ( temp highp float)
+0:18        direct index ( temp highp float)
+0:18          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            0 (const int)
+0:18        subgroupAdd ( global highp float)
+0:18          direct index ( temp highp float)
+0:18            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                Constant:
+0:18                  0 (const int)
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:19      move second child to first child ( temp highp 2-component vector of float)
+0:19        vector swizzle ( temp highp 2-component vector of float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Sequence
+0:19            Constant:
+0:19              0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19        subgroupAdd ( global highp 2-component vector of float)
+0:19          vector swizzle ( temp highp 2-component vector of float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                Constant:
+0:19                  1 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Sequence
+0:19              Constant:
+0:19                0 (const int)
+0:19              Constant:
+0:19                1 (const int)
+0:20      move second child to first child ( temp highp 3-component vector of float)
+0:20        vector swizzle ( temp highp 3-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20            Constant:
+0:20              2 (const int)
+0:20        subgroupAdd ( global highp 3-component vector of float)
+0:20          vector swizzle ( temp highp 3-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  2 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20              Constant:
+0:20                2 (const int)
+0:21      move second child to first child ( temp highp 4-component vector of float)
+0:21        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            0 (const int)
+0:21        subgroupAdd ( global highp 4-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                3 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:23      move second child to first child ( temp highp int)
+0:23        direct index ( temp highp int)
+0:23          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              1 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupAdd ( global highp int)
+0:23          direct index ( temp highp int)
+0:23            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:24      move second child to first child ( temp highp 2-component vector of int)
+0:24        vector swizzle ( temp highp 2-component vector of int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Sequence
+0:24            Constant:
+0:24              0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24        subgroupAdd ( global highp 2-component vector of int)
+0:24          vector swizzle ( temp highp 2-component vector of int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                Constant:
+0:24                  1 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Sequence
+0:24              Constant:
+0:24                0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:25      move second child to first child ( temp highp 3-component vector of int)
+0:25        vector swizzle ( temp highp 3-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                1 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25        subgroupAdd ( global highp 3-component vector of int)
+0:25          vector swizzle ( temp highp 3-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  2 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:26      move second child to first child ( temp highp 4-component vector of int)
+0:26        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              1 (const int)
+0:26          Constant:
+0:26            1 (const int)
+0:26        subgroupAdd ( global highp 4-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                3 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupAdd ( global highp uint)
+0:28          direct index ( temp highp uint)
+0:28            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:29      move second child to first child ( temp highp 2-component vector of uint)
+0:29        vector swizzle ( temp highp 2-component vector of uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupAdd ( global highp 2-component vector of uint)
+0:29          vector swizzle ( temp highp 2-component vector of uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:30      move second child to first child ( temp highp 3-component vector of uint)
+0:30        vector swizzle ( temp highp 3-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              Constant:
+0:30                2 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30        subgroupAdd ( global highp 3-component vector of uint)
+0:30          vector swizzle ( temp highp 3-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  2 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              2 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupAdd ( global highp 4-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:33      move second child to first child ( temp highp float)
+0:33        direct index ( temp highp float)
+0:33          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                3 (const int)
+0:33            Constant:
+0:33              0 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        subgroupMul ( global highp float)
+0:33          direct index ( temp highp float)
+0:33            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            Constant:
+0:33              0 (const int)
+0:34      move second child to first child ( temp highp 2-component vector of float)
+0:34        vector swizzle ( temp highp 2-component vector of float)
+0:34          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        subgroupMul ( global highp 2-component vector of float)
+0:34          vector swizzle ( temp highp 2-component vector of float)
+0:34            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                Constant:
+0:34                  1 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34            Sequence
+0:34              Constant:
+0:34                0 (const int)
+0:34              Constant:
+0:34                1 (const int)
+0:35      move second child to first child ( temp highp 3-component vector of float)
+0:35        vector swizzle ( temp highp 3-component vector of float)
+0:35          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              Constant:
+0:35                3 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35            Constant:
+0:35              2 (const int)
+0:35        subgroupMul ( global highp 3-component vector of float)
+0:35          vector swizzle ( temp highp 3-component vector of float)
+0:35            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                Constant:
+0:35                  2 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35              Constant:
+0:35                2 (const int)
+0:36      move second child to first child ( temp highp 4-component vector of float)
+0:36        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              3 (const int)
+0:36          Constant:
+0:36            0 (const int)
+0:36        subgroupMul ( global highp 4-component vector of float)
+0:36          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36              Constant:
+0:36                3 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:38      move second child to first child ( temp highp int)
+0:38        direct index ( temp highp int)
+0:38          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              Constant:
+0:38                0 (const int)
+0:38            Constant:
+0:38              1 (const int)
+0:38          Constant:
+0:38            0 (const int)
+0:38        subgroupMul ( global highp int)
+0:38          direct index ( temp highp int)
+0:38            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:39      move second child to first child ( temp highp 2-component vector of int)
+0:39        vector swizzle ( temp highp 2-component vector of int)
+0:39          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Sequence
+0:39            Constant:
+0:39              0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39        subgroupMul ( global highp 2-component vector of int)
+0:39          vector swizzle ( temp highp 2-component vector of int)
+0:39            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:39            Sequence
+0:39              Constant:
+0:39                0 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:40      move second child to first child ( temp highp 3-component vector of int)
+0:40        vector swizzle ( temp highp 3-component vector of int)
+0:40          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40            Constant:
+0:40              2 (const int)
+0:40        subgroupMul ( global highp 3-component vector of int)
+0:40          vector swizzle ( temp highp 3-component vector of int)
+0:40            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  2 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40              Constant:
+0:40                2 (const int)
+0:41      move second child to first child ( temp highp 4-component vector of int)
+0:41        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            Constant:
+0:41              0 (const int)
+0:41          Constant:
+0:41            1 (const int)
+0:41        subgroupMul ( global highp 4-component vector of int)
+0:41          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                3 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:43      move second child to first child ( temp highp uint)
+0:43        direct index ( temp highp uint)
+0:43          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              2 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        subgroupMul ( global highp uint)
+0:43          direct index ( temp highp uint)
+0:43            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                2 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:44      move second child to first child ( temp highp 2-component vector of uint)
+0:44        vector swizzle ( temp highp 2-component vector of uint)
+0:44          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              Constant:
+0:44                1 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:44          Sequence
+0:44            Constant:
+0:44              0 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44        subgroupMul ( global highp 2-component vector of uint)
+0:44          vector swizzle ( temp highp 2-component vector of uint)
+0:44            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                Constant:
+0:44                  1 (const int)
+0:44              Constant:
+0:44                2 (const int)
+0:44            Sequence
+0:44              Constant:
+0:44                0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:45      move second child to first child ( temp highp 3-component vector of uint)
+0:45        vector swizzle ( temp highp 3-component vector of uint)
+0:45          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45        subgroupMul ( global highp 3-component vector of uint)
+0:45          vector swizzle ( temp highp 3-component vector of uint)
+0:45            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:46      move second child to first child ( temp highp 4-component vector of uint)
+0:46        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            Constant:
+0:46              1 (const int)
+0:46          Constant:
+0:46            2 (const int)
+0:46        subgroupMul ( global highp 4-component vector of uint)
+0:46          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                3 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:48      move second child to first child ( temp highp float)
+0:48        direct index ( temp highp float)
+0:48          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                2 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:48          Constant:
+0:48            0 (const int)
+0:48        subgroupMin ( global highp float)
+0:48          direct index ( temp highp float)
+0:48            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                Constant:
+0:48                  0 (const int)
+0:48              Constant:
+0:48                0 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:49      move second child to first child ( temp highp 2-component vector of float)
+0:49        vector swizzle ( temp highp 2-component vector of float)
+0:49          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              Constant:
+0:49                2 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          Sequence
+0:49            Constant:
+0:49              0 (const int)
+0:49            Constant:
+0:49              1 (const int)
+0:49        subgroupMin ( global highp 2-component vector of float)
+0:49          vector swizzle ( temp highp 2-component vector of float)
+0:49            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Constant:
+0:49                0 (const int)
+0:49            Sequence
+0:49              Constant:
+0:49                0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:50      move second child to first child ( temp highp 3-component vector of float)
+0:50        vector swizzle ( temp highp 3-component vector of float)
+0:50          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                2 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50        subgroupMin ( global highp 3-component vector of float)
+0:50          vector swizzle ( temp highp 3-component vector of float)
+0:50            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  2 (const int)
+0:50              Constant:
+0:50                0 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:51      move second child to first child ( temp highp 4-component vector of float)
+0:51        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:51          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            Constant:
+0:51              2 (const int)
+0:51          Constant:
+0:51            0 (const int)
+0:51        subgroupMin ( global highp 4-component vector of float)
+0:51          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                3 (const int)
+0:51            Constant:
+0:51              0 (const int)
+0:53      move second child to first child ( temp highp int)
+0:53        direct index ( temp highp int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                3 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            0 (const int)
+0:53        subgroupMin ( global highp int)
+0:53          direct index ( temp highp int)
+0:53            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                Constant:
+0:53                  0 (const int)
+0:53              Constant:
+0:53                1 (const int)
+0:53            Constant:
+0:53              0 (const int)
+0:54      move second child to first child ( temp highp 2-component vector of int)
+0:54        vector swizzle ( temp highp 2-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          Sequence
+0:54            Constant:
+0:54              0 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54        subgroupMin ( global highp 2-component vector of int)
+0:54          vector swizzle ( temp highp 2-component vector of int)
+0:54            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                Constant:
+0:54                  1 (const int)
+0:54              Constant:
+0:54                1 (const int)
+0:54            Sequence
+0:54              Constant:
+0:54                0 (const int)
+0:54              Constant:
+0:54                1 (const int)
+0:55      move second child to first child ( temp highp 3-component vector of int)
+0:55        vector swizzle ( temp highp 3-component vector of int)
+0:55          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                3 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55            Constant:
+0:55              2 (const int)
+0:55        subgroupMin ( global highp 3-component vector of int)
+0:55          vector swizzle ( temp highp 3-component vector of int)
+0:55            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                Constant:
+0:55                  2 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55              Constant:
+0:55                2 (const int)
+0:56      move second child to first child ( temp highp 4-component vector of int)
+0:56        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            Constant:
+0:56              3 (const int)
+0:56          Constant:
+0:56            1 (const int)
+0:56        subgroupMin ( global highp 4-component vector of int)
+0:56          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              Constant:
+0:56                3 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:58      move second child to first child ( temp highp uint)
+0:58        direct index ( temp highp uint)
+0:58          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:58            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              Constant:
+0:58                0 (const int)
+0:58            Constant:
+0:58              2 (const int)
+0:58          Constant:
+0:58            0 (const int)
+0:58        subgroupMin ( global highp uint)
+0:58          direct index ( temp highp uint)
+0:58            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:58              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                Constant:
+0:58                  0 (const int)
+0:58              Constant:
+0:58                2 (const int)
+0:58            Constant:
+0:58              0 (const int)
+0:59      move second child to first child ( temp highp 2-component vector of uint)
+0:59        vector swizzle ( temp highp 2-component vector of uint)
+0:59          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:59            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              Constant:
+0:59                0 (const int)
+0:59            Constant:
+0:59              2 (const int)
+0:59          Sequence
+0:59            Constant:
+0:59              0 (const int)
+0:59            Constant:
+0:59              1 (const int)
+0:59        subgroupMin ( global highp 2-component vector of uint)
+0:59          vector swizzle ( temp highp 2-component vector of uint)
+0:59            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                Constant:
+0:59                  1 (const int)
+0:59              Constant:
+0:59                2 (const int)
+0:59            Sequence
+0:59              Constant:
+0:59                0 (const int)
+0:59              Constant:
+0:59                1 (const int)
+0:60      move second child to first child ( temp highp 3-component vector of uint)
+0:60        vector swizzle ( temp highp 3-component vector of uint)
+0:60          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:60            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              Constant:
+0:60                0 (const int)
+0:60            Constant:
+0:60              2 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60            Constant:
+0:60              2 (const int)
+0:60        subgroupMin ( global highp 3-component vector of uint)
+0:60          vector swizzle ( temp highp 3-component vector of uint)
+0:60            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                Constant:
+0:60                  2 (const int)
+0:60              Constant:
+0:60                2 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60              Constant:
+0:60                2 (const int)
+0:61      move second child to first child ( temp highp 4-component vector of uint)
+0:61        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:61          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            Constant:
+0:61              0 (const int)
+0:61          Constant:
+0:61            2 (const int)
+0:61        subgroupMin ( global highp 4-component vector of uint)
+0:61          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:61            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              Constant:
+0:61                3 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:63      move second child to first child ( temp highp float)
+0:63        direct index ( temp highp float)
+0:63          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:63            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              Constant:
+0:63                1 (const int)
+0:63            Constant:
+0:63              0 (const int)
+0:63          Constant:
+0:63            0 (const int)
+0:63        subgroupMax ( global highp float)
+0:63          direct index ( temp highp float)
+0:63            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:63              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                Constant:
+0:63                  0 (const int)
+0:63              Constant:
+0:63                0 (const int)
+0:63            Constant:
+0:63              0 (const int)
+0:64      move second child to first child ( temp highp 2-component vector of float)
+0:64        vector swizzle ( temp highp 2-component vector of float)
+0:64          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:64            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              Constant:
+0:64                1 (const int)
+0:64            Constant:
+0:64              0 (const int)
+0:64          Sequence
+0:64            Constant:
+0:64              0 (const int)
+0:64            Constant:
+0:64              1 (const int)
+0:64        subgroupMax ( global highp 2-component vector of float)
+0:64          vector swizzle ( temp highp 2-component vector of float)
+0:64            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                Constant:
+0:64                  1 (const int)
+0:64              Constant:
+0:64                0 (const int)
+0:64            Sequence
+0:64              Constant:
+0:64                0 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:65      move second child to first child ( temp highp 3-component vector of float)
+0:65        vector swizzle ( temp highp 3-component vector of float)
+0:65          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:65            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              Constant:
+0:65                1 (const int)
+0:65            Constant:
+0:65              0 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65        subgroupMax ( global highp 3-component vector of float)
+0:65          vector swizzle ( temp highp 3-component vector of float)
+0:65            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                Constant:
+0:65                  2 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65            Sequence
+0:65              Constant:
+0:65                0 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:66      move second child to first child ( temp highp 4-component vector of float)
+0:66        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:66          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            Constant:
+0:66              1 (const int)
+0:66          Constant:
+0:66            0 (const int)
+0:66        subgroupMax ( global highp 4-component vector of float)
+0:66          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:66            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              Constant:
+0:66                3 (const int)
+0:66            Constant:
+0:66              0 (const int)
+0:68      move second child to first child ( temp highp int)
+0:68        direct index ( temp highp int)
+0:68          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:68            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              Constant:
+0:68                2 (const int)
+0:68            Constant:
+0:68              1 (const int)
+0:68          Constant:
+0:68            0 (const int)
+0:68        subgroupMax ( global highp int)
+0:68          direct index ( temp highp int)
+0:68            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:68              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                Constant:
+0:68                  0 (const int)
+0:68              Constant:
+0:68                1 (const int)
+0:68            Constant:
+0:68              0 (const int)
+0:69      move second child to first child ( temp highp 2-component vector of int)
+0:69        vector swizzle ( temp highp 2-component vector of int)
+0:69          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:69            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              Constant:
+0:69                2 (const int)
+0:69            Constant:
+0:69              1 (const int)
+0:69          Sequence
+0:69            Constant:
+0:69              0 (const int)
+0:69            Constant:
+0:69              1 (const int)
+0:69        subgroupMax ( global highp 2-component vector of int)
+0:69          vector swizzle ( temp highp 2-component vector of int)
+0:69            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                Constant:
+0:69                  1 (const int)
+0:69              Constant:
+0:69                1 (const int)
+0:69            Sequence
+0:69              Constant:
+0:69                0 (const int)
+0:69              Constant:
+0:69                1 (const int)
+0:70      move second child to first child ( temp highp 3-component vector of int)
+0:70        vector swizzle ( temp highp 3-component vector of int)
+0:70          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              Constant:
+0:70                2 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70            Constant:
+0:70              2 (const int)
+0:70        subgroupMax ( global highp 3-component vector of int)
+0:70          vector swizzle ( temp highp 3-component vector of int)
+0:70            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                Constant:
+0:70                  2 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:71      move second child to first child ( temp highp 4-component vector of int)
+0:71        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            Constant:
+0:71              2 (const int)
+0:71          Constant:
+0:71            1 (const int)
+0:71        subgroupMax ( global highp 4-component vector of int)
+0:71          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              Constant:
+0:71                3 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:73      move second child to first child ( temp highp uint)
+0:73        direct index ( temp highp uint)
+0:73          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:73            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              Constant:
+0:73                3 (const int)
+0:73            Constant:
+0:73              2 (const int)
+0:73          Constant:
+0:73            0 (const int)
+0:73        subgroupMax ( global highp uint)
+0:73          direct index ( temp highp uint)
+0:73            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:73              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                Constant:
+0:73                  0 (const int)
+0:73              Constant:
+0:73                2 (const int)
+0:73            Constant:
+0:73              0 (const int)
+0:74      move second child to first child ( temp highp 2-component vector of uint)
+0:74        vector swizzle ( temp highp 2-component vector of uint)
+0:74          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:74            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              2 (const int)
+0:74          Sequence
+0:74            Constant:
+0:74              0 (const int)
+0:74            Constant:
+0:74              1 (const int)
+0:74        subgroupMax ( global highp 2-component vector of uint)
+0:74          vector swizzle ( temp highp 2-component vector of uint)
+0:74            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:74              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                Constant:
+0:74                  1 (const int)
+0:74              Constant:
+0:74                2 (const int)
+0:74            Sequence
+0:74              Constant:
+0:74                0 (const int)
+0:74              Constant:
+0:74                1 (const int)
+0:75      move second child to first child ( temp highp 3-component vector of uint)
+0:75        vector swizzle ( temp highp 3-component vector of uint)
+0:75          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:75            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              Constant:
+0:75                3 (const int)
+0:75            Constant:
+0:75              2 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75            Constant:
+0:75              2 (const int)
+0:75        subgroupMax ( global highp 3-component vector of uint)
+0:75          vector swizzle ( temp highp 3-component vector of uint)
+0:75            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                Constant:
+0:75                  2 (const int)
+0:75              Constant:
+0:75                2 (const int)
+0:75            Sequence
+0:75              Constant:
+0:75                0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:75              Constant:
+0:75                2 (const int)
+0:76      move second child to first child ( temp highp 4-component vector of uint)
+0:76        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:76          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            Constant:
+0:76              3 (const int)
+0:76          Constant:
+0:76            2 (const int)
+0:76        subgroupMax ( global highp 4-component vector of uint)
+0:76          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:76            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              Constant:
+0:76                3 (const int)
+0:76            Constant:
+0:76              2 (const int)
+0:78      move second child to first child ( temp highp int)
+0:78        direct index ( temp highp int)
+0:78          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              Constant:
+0:78                0 (const int)
+0:78            Constant:
+0:78              1 (const int)
+0:78          Constant:
+0:78            0 (const int)
+0:78        subgroupAnd ( global highp int)
+0:78          direct index ( temp highp int)
+0:78            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                Constant:
+0:78                  0 (const int)
+0:78              Constant:
+0:78                1 (const int)
+0:78            Constant:
+0:78              0 (const int)
+0:79      move second child to first child ( temp highp 2-component vector of int)
+0:79        vector swizzle ( temp highp 2-component vector of int)
+0:79          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:79            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              Constant:
+0:79                0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79          Sequence
+0:79            Constant:
+0:79              0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79        subgroupAnd ( global highp 2-component vector of int)
+0:79          vector swizzle ( temp highp 2-component vector of int)
+0:79            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                Constant:
+0:79                  1 (const int)
+0:79              Constant:
+0:79                1 (const int)
+0:79            Sequence
+0:79              Constant:
+0:79                0 (const int)
+0:79              Constant:
+0:79                1 (const int)
+0:80      move second child to first child ( temp highp 3-component vector of int)
+0:80        vector swizzle ( temp highp 3-component vector of int)
+0:80          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:80            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              Constant:
+0:80                0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80            Constant:
+0:80              2 (const int)
+0:80        subgroupAnd ( global highp 3-component vector of int)
+0:80          vector swizzle ( temp highp 3-component vector of int)
+0:80            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                Constant:
+0:80                  2 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80              Constant:
+0:80                2 (const int)
+0:81      move second child to first child ( temp highp 4-component vector of int)
+0:81        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:81          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            Constant:
+0:81              0 (const int)
+0:81          Constant:
+0:81            1 (const int)
+0:81        subgroupAnd ( global highp 4-component vector of int)
+0:81          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:81            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              Constant:
+0:81                3 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:83      move second child to first child ( temp highp uint)
+0:83        direct index ( temp highp uint)
+0:83          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              Constant:
+0:83                1 (const int)
+0:83            Constant:
+0:83              2 (const int)
+0:83          Constant:
+0:83            0 (const int)
+0:83        subgroupAnd ( global highp uint)
+0:83          direct index ( temp highp uint)
+0:83            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                Constant:
+0:83                  0 (const int)
+0:83              Constant:
+0:83                2 (const int)
+0:83            Constant:
+0:83              0 (const int)
+0:84      move second child to first child ( temp highp 2-component vector of uint)
+0:84        vector swizzle ( temp highp 2-component vector of uint)
+0:84          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:84            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              Constant:
+0:84                1 (const int)
+0:84            Constant:
+0:84              2 (const int)
+0:84          Sequence
+0:84            Constant:
+0:84              0 (const int)
+0:84            Constant:
+0:84              1 (const int)
+0:84        subgroupAnd ( global highp 2-component vector of uint)
+0:84          vector swizzle ( temp highp 2-component vector of uint)
+0:84            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                Constant:
+0:84                  1 (const int)
+0:84              Constant:
+0:84                2 (const int)
+0:84            Sequence
+0:84              Constant:
+0:84                0 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:85      move second child to first child ( temp highp 3-component vector of uint)
+0:85        vector swizzle ( temp highp 3-component vector of uint)
+0:85          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:85            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              Constant:
+0:85                1 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85        subgroupAnd ( global highp 3-component vector of uint)
+0:85          vector swizzle ( temp highp 3-component vector of uint)
+0:85            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                Constant:
+0:85                  2 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:86      move second child to first child ( temp highp 4-component vector of uint)
+0:86        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:86          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            Constant:
+0:86              1 (const int)
+0:86          Constant:
+0:86            2 (const int)
+0:86        subgroupAnd ( global highp 4-component vector of uint)
+0:86          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:86            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              Constant:
+0:86                3 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:88      move second child to first child ( temp highp int)
+0:88        direct index ( temp highp int)
+0:88          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:88            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              Constant:
+0:88                2 (const int)
+0:88            Constant:
+0:88              1 (const int)
+0:88          Constant:
+0:88            0 (const int)
+0:88        Convert bool to int ( temp highp int)
+0:88          subgroupAnd ( global bool)
+0:88            Compare Less Than ( temp bool)
+0:88              direct index ( temp highp int)
+0:88                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:88                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                    Constant:
+0:88                      0 (const int)
+0:88                  Constant:
+0:88                    1 (const int)
+0:88                Constant:
+0:88                  0 (const int)
+0:88              Constant:
+0:88                0 (const int)
+0:89      move second child to first child ( temp highp 2-component vector of int)
+0:89        vector swizzle ( temp highp 2-component vector of int)
+0:89          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:89            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              Constant:
+0:89                2 (const int)
+0:89            Constant:
+0:89              1 (const int)
+0:89          Sequence
+0:89            Constant:
+0:89              0 (const int)
+0:89            Constant:
+0:89              1 (const int)
+0:89        Convert bool to int ( temp highp 2-component vector of int)
+0:89          subgroupAnd ( global 2-component vector of bool)
+0:89            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:89              vector swizzle ( temp highp 2-component vector of int)
+0:89                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:89                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                    Constant:
+0:89                      1 (const int)
+0:89                  Constant:
+0:89                    1 (const int)
+0:89                Sequence
+0:89                  Constant:
+0:89                    0 (const int)
+0:89                  Constant:
+0:89                    1 (const int)
+0:89              Constant:
+0:89                0 (const int)
+0:89                0 (const int)
+0:90      move second child to first child ( temp highp 3-component vector of int)
+0:90        vector swizzle ( temp highp 3-component vector of int)
+0:90          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              Constant:
+0:90                2 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90            Constant:
+0:90              2 (const int)
+0:90        Convert bool to int ( temp highp 3-component vector of int)
+0:90          subgroupAnd ( global 3-component vector of bool)
+0:90            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:90              vector swizzle ( temp highp 3-component vector of int)
+0:90                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                    Constant:
+0:90                      1 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90                Sequence
+0:90                  Constant:
+0:90                    0 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90                  Constant:
+0:90                    2 (const int)
+0:90              Constant:
+0:90                0 (const int)
+0:90                0 (const int)
+0:90                0 (const int)
+0:91      move second child to first child ( temp highp 4-component vector of int)
+0:91        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            Constant:
+0:91              2 (const int)
+0:91          Constant:
+0:91            1 (const int)
+0:91        Convert bool to int ( temp highp 4-component vector of int)
+0:91          subgroupAnd ( global 4-component vector of bool)
+0:91            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:91              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                  Constant:
+0:91                    1 (const int)
+0:91                Constant:
+0:91                  1 (const int)
+0:91              Constant:
+0:91                0 (const int)
+0:91                0 (const int)
+0:91                0 (const int)
+0:91                0 (const int)
+0:93      move second child to first child ( temp highp int)
+0:93        direct index ( temp highp int)
+0:93          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              Constant:
+0:93                3 (const int)
+0:93            Constant:
+0:93              1 (const int)
+0:93          Constant:
+0:93            0 (const int)
+0:93        subgroupOr ( global highp int)
+0:93          direct index ( temp highp int)
+0:93            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                Constant:
+0:93                  0 (const int)
+0:93              Constant:
+0:93                1 (const int)
+0:93            Constant:
+0:93              0 (const int)
+0:94      move second child to first child ( temp highp 2-component vector of int)
+0:94        vector swizzle ( temp highp 2-component vector of int)
+0:94          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94          Sequence
+0:94            Constant:
+0:94              0 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94        subgroupOr ( global highp 2-component vector of int)
+0:94          vector swizzle ( temp highp 2-component vector of int)
+0:94            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                Constant:
+0:94                  1 (const int)
+0:94              Constant:
+0:94                1 (const int)
+0:94            Sequence
+0:94              Constant:
+0:94                0 (const int)
+0:94              Constant:
+0:94                1 (const int)
+0:95      move second child to first child ( temp highp 3-component vector of int)
+0:95        vector swizzle ( temp highp 3-component vector of int)
+0:95          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              Constant:
+0:95                3 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95            Constant:
+0:95              2 (const int)
+0:95        subgroupOr ( global highp 3-component vector of int)
+0:95          vector swizzle ( temp highp 3-component vector of int)
+0:95            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                Constant:
+0:95                  2 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:95            Sequence
+0:95              Constant:
+0:95                0 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:95              Constant:
+0:95                2 (const int)
+0:96      move second child to first child ( temp highp 4-component vector of int)
+0:96        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            Constant:
+0:96              3 (const int)
+0:96          Constant:
+0:96            1 (const int)
+0:96        subgroupOr ( global highp 4-component vector of int)
+0:96          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              Constant:
+0:96                3 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:98      move second child to first child ( temp highp uint)
+0:98        direct index ( temp highp uint)
+0:98          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              Constant:
+0:98                0 (const int)
+0:98            Constant:
+0:98              2 (const int)
+0:98          Constant:
+0:98            0 (const int)
+0:98        subgroupOr ( global highp uint)
+0:98          direct index ( temp highp uint)
+0:98            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98                Constant:
+0:98                  0 (const int)
+0:98              Constant:
+0:98                2 (const int)
+0:98            Constant:
+0:98              0 (const int)
+0:99      move second child to first child ( temp highp 2-component vector of uint)
+0:99        vector swizzle ( temp highp 2-component vector of uint)
+0:99          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:99            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99              Constant:
+0:99                0 (const int)
+0:99            Constant:
+0:99              2 (const int)
+0:99          Sequence
+0:99            Constant:
+0:99              0 (const int)
+0:99            Constant:
+0:99              1 (const int)
+0:99        subgroupOr ( global highp 2-component vector of uint)
+0:99          vector swizzle ( temp highp 2-component vector of uint)
+0:99            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:99              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99                Constant:
+0:99                  1 (const int)
+0:99              Constant:
+0:99                2 (const int)
+0:99            Sequence
+0:99              Constant:
+0:99                0 (const int)
+0:99              Constant:
+0:99                1 (const int)
+0:100      move second child to first child ( temp highp 3-component vector of uint)
+0:100        vector swizzle ( temp highp 3-component vector of uint)
+0:100          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:100            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              Constant:
+0:100                0 (const int)
+0:100            Constant:
+0:100              2 (const int)
+0:100          Sequence
+0:100            Constant:
+0:100              0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100            Constant:
+0:100              2 (const int)
+0:100        subgroupOr ( global highp 3-component vector of uint)
+0:100          vector swizzle ( temp highp 3-component vector of uint)
+0:100            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                Constant:
+0:100                  2 (const int)
+0:100              Constant:
+0:100                2 (const int)
+0:100            Sequence
+0:100              Constant:
+0:100                0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100              Constant:
+0:100                2 (const int)
+0:101      move second child to first child ( temp highp 4-component vector of uint)
+0:101        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:101          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101            Constant:
+0:101              0 (const int)
+0:101          Constant:
+0:101            2 (const int)
+0:101        subgroupOr ( global highp 4-component vector of uint)
+0:101          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:101            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              Constant:
+0:101                3 (const int)
+0:101            Constant:
+0:101              2 (const int)
+0:103      move second child to first child ( temp highp int)
+0:103        direct index ( temp highp int)
+0:103          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              Constant:
+0:103                1 (const int)
+0:103            Constant:
+0:103              1 (const int)
+0:103          Constant:
+0:103            0 (const int)
+0:103        Convert bool to int ( temp highp int)
+0:103          subgroupOr ( global bool)
+0:103            Compare Less Than ( temp bool)
+0:103              direct index ( temp highp int)
+0:103                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103                    Constant:
+0:103                      0 (const int)
+0:103                  Constant:
+0:103                    1 (const int)
+0:103                Constant:
+0:103                  0 (const int)
+0:103              Constant:
+0:103                0 (const int)
+0:104      move second child to first child ( temp highp 2-component vector of int)
+0:104        vector swizzle ( temp highp 2-component vector of int)
+0:104          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:104            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104              Constant:
+0:104                1 (const int)
+0:104            Constant:
+0:104              1 (const int)
+0:104          Sequence
+0:104            Constant:
+0:104              0 (const int)
+0:104            Constant:
+0:104              1 (const int)
+0:104        Convert bool to int ( temp highp 2-component vector of int)
+0:104          subgroupOr ( global 2-component vector of bool)
+0:104            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:104              vector swizzle ( temp highp 2-component vector of int)
+0:104                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:104                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104                    Constant:
+0:104                      1 (const int)
+0:104                  Constant:
+0:104                    1 (const int)
+0:104                Sequence
+0:104                  Constant:
+0:104                    0 (const int)
+0:104                  Constant:
+0:104                    1 (const int)
+0:104              Constant:
+0:104                0 (const int)
+0:104                0 (const int)
+0:105      move second child to first child ( temp highp 3-component vector of int)
+0:105        vector swizzle ( temp highp 3-component vector of int)
+0:105          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:105            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              Constant:
+0:105                1 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105          Sequence
+0:105            Constant:
+0:105              0 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105            Constant:
+0:105              2 (const int)
+0:105        Convert bool to int ( temp highp 3-component vector of int)
+0:105          subgroupOr ( global 3-component vector of bool)
+0:105            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:105              vector swizzle ( temp highp 3-component vector of int)
+0:105                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:105                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                    Constant:
+0:105                      1 (const int)
+0:105                  Constant:
+0:105                    1 (const int)
+0:105                Sequence
+0:105                  Constant:
+0:105                    0 (const int)
+0:105                  Constant:
+0:105                    1 (const int)
+0:105                  Constant:
+0:105                    2 (const int)
+0:105              Constant:
+0:105                0 (const int)
+0:105                0 (const int)
+0:105                0 (const int)
+0:106      move second child to first child ( temp highp 4-component vector of int)
+0:106        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:106          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106            Constant:
+0:106              1 (const int)
+0:106          Constant:
+0:106            1 (const int)
+0:106        Convert bool to int ( temp highp 4-component vector of int)
+0:106          subgroupOr ( global 4-component vector of bool)
+0:106            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:106              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:106                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                  Constant:
+0:106                    1 (const int)
+0:106                Constant:
+0:106                  1 (const int)
+0:106              Constant:
+0:106                0 (const int)
+0:106                0 (const int)
+0:106                0 (const int)
+0:106                0 (const int)
+0:108      move second child to first child ( temp highp int)
+0:108        direct index ( temp highp int)
+0:108          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:108            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              Constant:
+0:108                2 (const int)
+0:108            Constant:
+0:108              1 (const int)
+0:108          Constant:
+0:108            0 (const int)
+0:108        subgroupXor ( global highp int)
+0:108          direct index ( temp highp int)
+0:108            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:108              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108                Constant:
+0:108                  0 (const int)
+0:108              Constant:
+0:108                1 (const int)
+0:108            Constant:
+0:108              0 (const int)
+0:109      move second child to first child ( temp highp 2-component vector of int)
+0:109        vector swizzle ( temp highp 2-component vector of int)
+0:109          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:109            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109              Constant:
+0:109                2 (const int)
+0:109            Constant:
+0:109              1 (const int)
+0:109          Sequence
+0:109            Constant:
+0:109              0 (const int)
+0:109            Constant:
+0:109              1 (const int)
+0:109        subgroupXor ( global highp 2-component vector of int)
+0:109          vector swizzle ( temp highp 2-component vector of int)
+0:109            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:109              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109                Constant:
+0:109                  1 (const int)
+0:109              Constant:
+0:109                1 (const int)
+0:109            Sequence
+0:109              Constant:
+0:109                0 (const int)
+0:109              Constant:
+0:109                1 (const int)
+0:110      move second child to first child ( temp highp 3-component vector of int)
+0:110        vector swizzle ( temp highp 3-component vector of int)
+0:110          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              Constant:
+0:110                2 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Sequence
+0:110            Constant:
+0:110              0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110            Constant:
+0:110              2 (const int)
+0:110        subgroupXor ( global highp 3-component vector of int)
+0:110          vector swizzle ( temp highp 3-component vector of int)
+0:110            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                Constant:
+0:110                  2 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:110            Sequence
+0:110              Constant:
+0:110                0 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:110              Constant:
+0:110                2 (const int)
+0:111      move second child to first child ( temp highp 4-component vector of int)
+0:111        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111            Constant:
+0:111              2 (const int)
+0:111          Constant:
+0:111            1 (const int)
+0:111        subgroupXor ( global highp 4-component vector of int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              Constant:
+0:111                3 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:113      move second child to first child ( temp highp uint)
+0:113        direct index ( temp highp uint)
+0:113          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:113            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113              Constant:
+0:113                3 (const int)
+0:113            Constant:
+0:113              2 (const int)
+0:113          Constant:
+0:113            0 (const int)
+0:113        subgroupXor ( global highp uint)
+0:113          direct index ( temp highp uint)
+0:113            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:113              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                Constant:
+0:113                  0 (const int)
+0:113              Constant:
+0:113                2 (const int)
+0:113            Constant:
+0:113              0 (const int)
+0:114      move second child to first child ( temp highp 2-component vector of uint)
+0:114        vector swizzle ( temp highp 2-component vector of uint)
+0:114          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:114            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114              Constant:
+0:114                3 (const int)
+0:114            Constant:
+0:114              2 (const int)
+0:114          Sequence
+0:114            Constant:
+0:114              0 (const int)
+0:114            Constant:
+0:114              1 (const int)
+0:114        subgroupXor ( global highp 2-component vector of uint)
+0:114          vector swizzle ( temp highp 2-component vector of uint)
+0:114            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:114              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114                Constant:
+0:114                  1 (const int)
+0:114              Constant:
+0:114                2 (const int)
+0:114            Sequence
+0:114              Constant:
+0:114                0 (const int)
+0:114              Constant:
+0:114                1 (const int)
+0:115      move second child to first child ( temp highp 3-component vector of uint)
+0:115        vector swizzle ( temp highp 3-component vector of uint)
+0:115          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:115            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              Constant:
+0:115                3 (const int)
+0:115            Constant:
+0:115              2 (const int)
+0:115          Sequence
+0:115            Constant:
+0:115              0 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115            Constant:
+0:115              2 (const int)
+0:115        subgroupXor ( global highp 3-component vector of uint)
+0:115          vector swizzle ( temp highp 3-component vector of uint)
+0:115            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                Constant:
+0:115                  2 (const int)
+0:115              Constant:
+0:115                2 (const int)
+0:115            Sequence
+0:115              Constant:
+0:115                0 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115              Constant:
+0:115                2 (const int)
+0:116      move second child to first child ( temp highp 4-component vector of uint)
+0:116        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:116          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116            Constant:
+0:116              3 (const int)
+0:116          Constant:
+0:116            2 (const int)
+0:116        subgroupXor ( global highp 4-component vector of uint)
+0:116          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:116            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              Constant:
+0:116                3 (const int)
+0:116            Constant:
+0:116              2 (const int)
+0:118      move second child to first child ( temp highp int)
+0:118        direct index ( temp highp int)
+0:118          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              Constant:
+0:118                0 (const int)
+0:118            Constant:
+0:118              1 (const int)
+0:118          Constant:
+0:118            0 (const int)
+0:118        Convert bool to int ( temp highp int)
+0:118          subgroupXor ( global bool)
+0:118            Compare Less Than ( temp bool)
+0:118              direct index ( temp highp int)
+0:118                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118                    Constant:
+0:118                      0 (const int)
+0:118                  Constant:
+0:118                    1 (const int)
+0:118                Constant:
+0:118                  0 (const int)
+0:118              Constant:
+0:118                0 (const int)
+0:119      move second child to first child ( temp highp 2-component vector of int)
+0:119        vector swizzle ( temp highp 2-component vector of int)
+0:119          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:119            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119              Constant:
+0:119                0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:119          Sequence
+0:119            Constant:
+0:119              0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:119        Convert bool to int ( temp highp 2-component vector of int)
+0:119          subgroupXor ( global 2-component vector of bool)
+0:119            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:119              vector swizzle ( temp highp 2-component vector of int)
+0:119                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:119                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119                    Constant:
+0:119                      1 (const int)
+0:119                  Constant:
+0:119                    1 (const int)
+0:119                Sequence
+0:119                  Constant:
+0:119                    0 (const int)
+0:119                  Constant:
+0:119                    1 (const int)
+0:119              Constant:
+0:119                0 (const int)
+0:119                0 (const int)
+0:120      move second child to first child ( temp highp 3-component vector of int)
+0:120        vector swizzle ( temp highp 3-component vector of int)
+0:120          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:120            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              Constant:
+0:120                0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120          Sequence
+0:120            Constant:
+0:120              0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120            Constant:
+0:120              2 (const int)
+0:120        Convert bool to int ( temp highp 3-component vector of int)
+0:120          subgroupXor ( global 3-component vector of bool)
+0:120            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:120              vector swizzle ( temp highp 3-component vector of int)
+0:120                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:120                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                    Constant:
+0:120                      1 (const int)
+0:120                  Constant:
+0:120                    1 (const int)
+0:120                Sequence
+0:120                  Constant:
+0:120                    0 (const int)
+0:120                  Constant:
+0:120                    1 (const int)
+0:120                  Constant:
+0:120                    2 (const int)
+0:120              Constant:
+0:120                0 (const int)
+0:120                0 (const int)
+0:120                0 (const int)
+0:121      move second child to first child ( temp highp 4-component vector of int)
+0:121        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:121          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121            Constant:
+0:121              0 (const int)
+0:121          Constant:
+0:121            1 (const int)
+0:121        Convert bool to int ( temp highp 4-component vector of int)
+0:121          subgroupXor ( global 4-component vector of bool)
+0:121            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:121              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:121                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                  Constant:
+0:121                    1 (const int)
+0:121                Constant:
+0:121                  1 (const int)
+0:121              Constant:
+0:121                0 (const int)
+0:121                0 (const int)
+0:121                0 (const int)
+0:121                0 (const int)
+0:123      move second child to first child ( temp highp float)
+0:123        direct index ( temp highp float)
+0:123          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:123            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123              Constant:
+0:123                1 (const int)
+0:123            Constant:
+0:123              0 (const int)
+0:123          Constant:
+0:123            0 (const int)
+0:123        subgroupInclusiveAdd ( global highp float)
+0:123          direct index ( temp highp float)
+0:123            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:123              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123                Constant:
+0:123                  0 (const int)
+0:123              Constant:
+0:123                0 (const int)
+0:123            Constant:
+0:123              0 (const int)
+0:124      move second child to first child ( temp highp 2-component vector of float)
+0:124        vector swizzle ( temp highp 2-component vector of float)
+0:124          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:124            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:124              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:124              Constant:
+0:124                1 (const int)
+0:124            Constant:
+0:124              0 (const int)
+0:124          Sequence
+0:124            Constant:
+0:124              0 (const int)
+0:124            Constant:
+0:124              1 (const int)
+0:124        subgroupInclusiveAdd ( global highp 2-component vector of float)
+0:124          vector swizzle ( temp highp 2-component vector of float)
+0:124            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:124              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:124                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:124                Constant:
+0:124                  1 (const int)
+0:124              Constant:
+0:124                0 (const int)
+0:124            Sequence
+0:124              Constant:
+0:124                0 (const int)
+0:124              Constant:
+0:124                1 (const int)
+0:125      move second child to first child ( temp highp 3-component vector of float)
+0:125        vector swizzle ( temp highp 3-component vector of float)
+0:125          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:125            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125              Constant:
+0:125                1 (const int)
+0:125            Constant:
+0:125              0 (const int)
+0:125          Sequence
+0:125            Constant:
+0:125              0 (const int)
+0:125            Constant:
+0:125              1 (const int)
+0:125            Constant:
+0:125              2 (const int)
+0:125        subgroupInclusiveAdd ( global highp 3-component vector of float)
+0:125          vector swizzle ( temp highp 3-component vector of float)
+0:125            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:125              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125                Constant:
+0:125                  2 (const int)
+0:125              Constant:
+0:125                0 (const int)
+0:125            Sequence
+0:125              Constant:
+0:125                0 (const int)
+0:125              Constant:
+0:125                1 (const int)
+0:125              Constant:
+0:125                2 (const int)
+0:126      move second child to first child ( temp highp 4-component vector of float)
+0:126        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:126          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126            Constant:
+0:126              1 (const int)
+0:126          Constant:
+0:126            0 (const int)
+0:126        subgroupInclusiveAdd ( global highp 4-component vector of float)
+0:126          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:126            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126              Constant:
+0:126                3 (const int)
+0:126            Constant:
+0:126              0 (const int)
+0:128      move second child to first child ( temp highp int)
+0:128        direct index ( temp highp int)
+0:128          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:128            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128              Constant:
+0:128                2 (const int)
+0:128            Constant:
+0:128              1 (const int)
+0:128          Constant:
+0:128            0 (const int)
+0:128        subgroupInclusiveAdd ( global highp int)
+0:128          direct index ( temp highp int)
+0:128            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:128              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128                Constant:
+0:128                  0 (const int)
+0:128              Constant:
+0:128                1 (const int)
+0:128            Constant:
+0:128              0 (const int)
+0:129      move second child to first child ( temp highp 2-component vector of int)
+0:129        vector swizzle ( temp highp 2-component vector of int)
+0:129          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:129            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:129              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:129              Constant:
+0:129                2 (const int)
+0:129            Constant:
+0:129              1 (const int)
+0:129          Sequence
+0:129            Constant:
+0:129              0 (const int)
+0:129            Constant:
+0:129              1 (const int)
+0:129        subgroupInclusiveAdd ( global highp 2-component vector of int)
+0:129          vector swizzle ( temp highp 2-component vector of int)
+0:129            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:129              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:129                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:129                Constant:
+0:129                  1 (const int)
+0:129              Constant:
+0:129                1 (const int)
+0:129            Sequence
+0:129              Constant:
+0:129                0 (const int)
+0:129              Constant:
+0:129                1 (const int)
+0:130      move second child to first child ( temp highp 3-component vector of int)
+0:130        vector swizzle ( temp highp 3-component vector of int)
+0:130          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:130            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130              Constant:
+0:130                2 (const int)
+0:130            Constant:
+0:130              1 (const int)
+0:130          Sequence
+0:130            Constant:
+0:130              0 (const int)
+0:130            Constant:
+0:130              1 (const int)
+0:130            Constant:
+0:130              2 (const int)
+0:130        subgroupInclusiveAdd ( global highp 3-component vector of int)
+0:130          vector swizzle ( temp highp 3-component vector of int)
+0:130            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:130              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130                Constant:
+0:130                  2 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130            Sequence
+0:130              Constant:
+0:130                0 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130              Constant:
+0:130                2 (const int)
+0:131      move second child to first child ( temp highp 4-component vector of int)
+0:131        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:131          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131            Constant:
+0:131              2 (const int)
+0:131          Constant:
+0:131            1 (const int)
+0:131        subgroupInclusiveAdd ( global highp 4-component vector of int)
+0:131          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:131            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131              Constant:
+0:131                3 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:133      move second child to first child ( temp highp uint)
+0:133        direct index ( temp highp uint)
+0:133          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:133            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133              Constant:
+0:133                3 (const int)
+0:133            Constant:
+0:133              2 (const int)
+0:133          Constant:
+0:133            0 (const int)
+0:133        subgroupInclusiveAdd ( global highp uint)
+0:133          direct index ( temp highp uint)
+0:133            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:133              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133                Constant:
+0:133                  0 (const int)
+0:133              Constant:
+0:133                2 (const int)
+0:133            Constant:
+0:133              0 (const int)
+0:134      move second child to first child ( temp highp 2-component vector of uint)
+0:134        vector swizzle ( temp highp 2-component vector of uint)
+0:134          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:134            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:134              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:134              Constant:
+0:134                3 (const int)
+0:134            Constant:
+0:134              2 (const int)
+0:134          Sequence
+0:134            Constant:
+0:134              0 (const int)
+0:134            Constant:
+0:134              1 (const int)
+0:134        subgroupInclusiveAdd ( global highp 2-component vector of uint)
+0:134          vector swizzle ( temp highp 2-component vector of uint)
+0:134            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:134              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:134                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:134                Constant:
+0:134                  1 (const int)
+0:134              Constant:
+0:134                2 (const int)
+0:134            Sequence
+0:134              Constant:
+0:134                0 (const int)
+0:134              Constant:
+0:134                1 (const int)
+0:135      move second child to first child ( temp highp 3-component vector of uint)
+0:135        vector swizzle ( temp highp 3-component vector of uint)
+0:135          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:135            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135              Constant:
+0:135                3 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135          Sequence
+0:135            Constant:
+0:135              0 (const int)
+0:135            Constant:
+0:135              1 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135        subgroupInclusiveAdd ( global highp 3-component vector of uint)
+0:135          vector swizzle ( temp highp 3-component vector of uint)
+0:135            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:135              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135                Constant:
+0:135                  2 (const int)
+0:135              Constant:
+0:135                2 (const int)
+0:135            Sequence
+0:135              Constant:
+0:135                0 (const int)
+0:135              Constant:
+0:135                1 (const int)
+0:135              Constant:
+0:135                2 (const int)
+0:136      move second child to first child ( temp highp 4-component vector of uint)
+0:136        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:136          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136            Constant:
+0:136              3 (const int)
+0:136          Constant:
+0:136            2 (const int)
+0:136        subgroupInclusiveAdd ( global highp 4-component vector of uint)
+0:136          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:136            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136              Constant:
+0:136                3 (const int)
+0:136            Constant:
+0:136              2 (const int)
+0:138      move second child to first child ( temp highp float)
+0:138        direct index ( temp highp float)
+0:138          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:138            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138              Constant:
+0:138                0 (const int)
+0:138            Constant:
+0:138              0 (const int)
+0:138          Constant:
+0:138            0 (const int)
+0:138        subgroupInclusiveMul ( global highp float)
+0:138          direct index ( temp highp float)
+0:138            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:138              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138                Constant:
+0:138                  0 (const int)
+0:138              Constant:
+0:138                0 (const int)
+0:138            Constant:
+0:138              0 (const int)
+0:139      move second child to first child ( temp highp 2-component vector of float)
+0:139        vector swizzle ( temp highp 2-component vector of float)
+0:139          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:139            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:139              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:139              Constant:
+0:139                0 (const int)
+0:139            Constant:
+0:139              0 (const int)
+0:139          Sequence
+0:139            Constant:
+0:139              0 (const int)
+0:139            Constant:
+0:139              1 (const int)
+0:139        subgroupInclusiveMul ( global highp 2-component vector of float)
+0:139          vector swizzle ( temp highp 2-component vector of float)
+0:139            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:139              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:139                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:139                Constant:
+0:139                  1 (const int)
+0:139              Constant:
+0:139                0 (const int)
+0:139            Sequence
+0:139              Constant:
+0:139                0 (const int)
+0:139              Constant:
+0:139                1 (const int)
+0:140      move second child to first child ( temp highp 3-component vector of float)
+0:140        vector swizzle ( temp highp 3-component vector of float)
+0:140          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:140            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140              Constant:
+0:140                0 (const int)
+0:140            Constant:
+0:140              0 (const int)
+0:140          Sequence
+0:140            Constant:
+0:140              0 (const int)
+0:140            Constant:
+0:140              1 (const int)
+0:140            Constant:
+0:140              2 (const int)
+0:140        subgroupInclusiveMul ( global highp 3-component vector of float)
+0:140          vector swizzle ( temp highp 3-component vector of float)
+0:140            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:140              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140                Constant:
+0:140                  2 (const int)
+0:140              Constant:
+0:140                0 (const int)
+0:140            Sequence
+0:140              Constant:
+0:140                0 (const int)
+0:140              Constant:
+0:140                1 (const int)
+0:140              Constant:
+0:140                2 (const int)
+0:141      move second child to first child ( temp highp 4-component vector of float)
+0:141        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:141          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141            Constant:
+0:141              0 (const int)
+0:141          Constant:
+0:141            0 (const int)
+0:141        subgroupInclusiveMul ( global highp 4-component vector of float)
+0:141          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:141            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141              Constant:
+0:141                3 (const int)
+0:141            Constant:
+0:141              0 (const int)
+0:143      move second child to first child ( temp highp int)
+0:143        direct index ( temp highp int)
+0:143          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:143            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143              Constant:
+0:143                1 (const int)
+0:143            Constant:
+0:143              1 (const int)
+0:143          Constant:
+0:143            0 (const int)
+0:143        subgroupInclusiveMul ( global highp int)
+0:143          direct index ( temp highp int)
+0:143            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:143              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143                Constant:
+0:143                  0 (const int)
+0:143              Constant:
+0:143                1 (const int)
+0:143            Constant:
+0:143              0 (const int)
+0:144      move second child to first child ( temp highp 2-component vector of int)
+0:144        vector swizzle ( temp highp 2-component vector of int)
+0:144          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:144            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:144              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:144              Constant:
+0:144                1 (const int)
+0:144            Constant:
+0:144              1 (const int)
+0:144          Sequence
+0:144            Constant:
+0:144              0 (const int)
+0:144            Constant:
+0:144              1 (const int)
+0:144        subgroupInclusiveMul ( global highp 2-component vector of int)
+0:144          vector swizzle ( temp highp 2-component vector of int)
+0:144            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:144              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:144                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:144                Constant:
+0:144                  1 (const int)
+0:144              Constant:
+0:144                1 (const int)
+0:144            Sequence
+0:144              Constant:
+0:144                0 (const int)
+0:144              Constant:
+0:144                1 (const int)
+0:145      move second child to first child ( temp highp 3-component vector of int)
+0:145        vector swizzle ( temp highp 3-component vector of int)
+0:145          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:145            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145              Constant:
+0:145                1 (const int)
+0:145            Constant:
+0:145              1 (const int)
+0:145          Sequence
+0:145            Constant:
+0:145              0 (const int)
+0:145            Constant:
+0:145              1 (const int)
+0:145            Constant:
+0:145              2 (const int)
+0:145        subgroupInclusiveMul ( global highp 3-component vector of int)
+0:145          vector swizzle ( temp highp 3-component vector of int)
+0:145            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:145              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145                Constant:
+0:145                  2 (const int)
+0:145              Constant:
+0:145                1 (const int)
+0:145            Sequence
+0:145              Constant:
+0:145                0 (const int)
+0:145              Constant:
+0:145                1 (const int)
+0:145              Constant:
+0:145                2 (const int)
+0:146      move second child to first child ( temp highp 4-component vector of int)
+0:146        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:146          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146            Constant:
+0:146              1 (const int)
+0:146          Constant:
+0:146            1 (const int)
+0:146        subgroupInclusiveMul ( global highp 4-component vector of int)
+0:146          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:146            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146              Constant:
+0:146                3 (const int)
+0:146            Constant:
+0:146              1 (const int)
+0:148      move second child to first child ( temp highp uint)
+0:148        direct index ( temp highp uint)
+0:148          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:148            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148              Constant:
+0:148                2 (const int)
+0:148            Constant:
+0:148              2 (const int)
+0:148          Constant:
+0:148            0 (const int)
+0:148        subgroupInclusiveMul ( global highp uint)
+0:148          direct index ( temp highp uint)
+0:148            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:148              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148                Constant:
+0:148                  0 (const int)
+0:148              Constant:
+0:148                2 (const int)
+0:148            Constant:
+0:148              0 (const int)
+0:149      move second child to first child ( temp highp 2-component vector of uint)
+0:149        vector swizzle ( temp highp 2-component vector of uint)
+0:149          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:149            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:149              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:149              Constant:
+0:149                2 (const int)
+0:149            Constant:
+0:149              2 (const int)
+0:149          Sequence
+0:149            Constant:
+0:149              0 (const int)
+0:149            Constant:
+0:149              1 (const int)
+0:149        subgroupInclusiveMul ( global highp 2-component vector of uint)
+0:149          vector swizzle ( temp highp 2-component vector of uint)
+0:149            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:149              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:149                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:149                Constant:
+0:149                  1 (const int)
+0:149              Constant:
+0:149                2 (const int)
+0:149            Sequence
+0:149              Constant:
+0:149                0 (const int)
+0:149              Constant:
+0:149                1 (const int)
+0:150      move second child to first child ( temp highp 3-component vector of uint)
+0:150        vector swizzle ( temp highp 3-component vector of uint)
+0:150          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:150            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150              Constant:
+0:150                2 (const int)
+0:150            Constant:
+0:150              2 (const int)
+0:150          Sequence
+0:150            Constant:
+0:150              0 (const int)
+0:150            Constant:
+0:150              1 (const int)
+0:150            Constant:
+0:150              2 (const int)
+0:150        subgroupInclusiveMul ( global highp 3-component vector of uint)
+0:150          vector swizzle ( temp highp 3-component vector of uint)
+0:150            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:150              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150                Constant:
+0:150                  2 (const int)
+0:150              Constant:
+0:150                2 (const int)
+0:150            Sequence
+0:150              Constant:
+0:150                0 (const int)
+0:150              Constant:
+0:150                1 (const int)
+0:150              Constant:
+0:150                2 (const int)
+0:151      move second child to first child ( temp highp 4-component vector of uint)
+0:151        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:151          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151            Constant:
+0:151              2 (const int)
+0:151          Constant:
+0:151            2 (const int)
+0:151        subgroupInclusiveMul ( global highp 4-component vector of uint)
+0:151          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:151            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151              Constant:
+0:151                3 (const int)
+0:151            Constant:
+0:151              2 (const int)
+0:153      move second child to first child ( temp highp float)
+0:153        direct index ( temp highp float)
+0:153          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:153            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153              Constant:
+0:153                3 (const int)
+0:153            Constant:
+0:153              0 (const int)
+0:153          Constant:
+0:153            0 (const int)
+0:153        subgroupInclusiveMin ( global highp float)
+0:153          direct index ( temp highp float)
+0:153            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:153              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153                Constant:
+0:153                  0 (const int)
+0:153              Constant:
+0:153                0 (const int)
+0:153            Constant:
+0:153              0 (const int)
+0:154      move second child to first child ( temp highp 2-component vector of float)
+0:154        vector swizzle ( temp highp 2-component vector of float)
+0:154          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:154            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:154              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:154              Constant:
+0:154                3 (const int)
+0:154            Constant:
+0:154              0 (const int)
+0:154          Sequence
+0:154            Constant:
+0:154              0 (const int)
+0:154            Constant:
+0:154              1 (const int)
+0:154        subgroupInclusiveMin ( global highp 2-component vector of float)
+0:154          vector swizzle ( temp highp 2-component vector of float)
+0:154            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:154              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:154                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:154                Constant:
+0:154                  1 (const int)
+0:154              Constant:
+0:154                0 (const int)
+0:154            Sequence
+0:154              Constant:
+0:154                0 (const int)
+0:154              Constant:
+0:154                1 (const int)
+0:155      move second child to first child ( temp highp 3-component vector of float)
+0:155        vector swizzle ( temp highp 3-component vector of float)
+0:155          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:155            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155              Constant:
+0:155                3 (const int)
+0:155            Constant:
+0:155              0 (const int)
+0:155          Sequence
+0:155            Constant:
+0:155              0 (const int)
+0:155            Constant:
+0:155              1 (const int)
+0:155            Constant:
+0:155              2 (const int)
+0:155        subgroupInclusiveMin ( global highp 3-component vector of float)
+0:155          vector swizzle ( temp highp 3-component vector of float)
+0:155            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:155              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155                Constant:
+0:155                  2 (const int)
+0:155              Constant:
+0:155                0 (const int)
+0:155            Sequence
+0:155              Constant:
+0:155                0 (const int)
+0:155              Constant:
+0:155                1 (const int)
+0:155              Constant:
+0:155                2 (const int)
+0:156      move second child to first child ( temp highp 4-component vector of float)
+0:156        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:156          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156            Constant:
+0:156              3 (const int)
+0:156          Constant:
+0:156            0 (const int)
+0:156        subgroupInclusiveMin ( global highp 4-component vector of float)
+0:156          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:156            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156              Constant:
+0:156                3 (const int)
+0:156            Constant:
+0:156              0 (const int)
+0:158      move second child to first child ( temp highp int)
+0:158        direct index ( temp highp int)
+0:158          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:158            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158              Constant:
+0:158                0 (const int)
+0:158            Constant:
+0:158              1 (const int)
+0:158          Constant:
+0:158            0 (const int)
+0:158        subgroupInclusiveMin ( global highp int)
+0:158          direct index ( temp highp int)
+0:158            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:158              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158                Constant:
+0:158                  0 (const int)
+0:158              Constant:
+0:158                1 (const int)
+0:158            Constant:
+0:158              0 (const int)
+0:159      move second child to first child ( temp highp 2-component vector of int)
+0:159        vector swizzle ( temp highp 2-component vector of int)
+0:159          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:159            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:159              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:159              Constant:
+0:159                0 (const int)
+0:159            Constant:
+0:159              1 (const int)
+0:159          Sequence
+0:159            Constant:
+0:159              0 (const int)
+0:159            Constant:
+0:159              1 (const int)
+0:159        subgroupInclusiveMin ( global highp 2-component vector of int)
+0:159          vector swizzle ( temp highp 2-component vector of int)
+0:159            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:159              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:159                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:159                Constant:
+0:159                  1 (const int)
+0:159              Constant:
+0:159                1 (const int)
+0:159            Sequence
+0:159              Constant:
+0:159                0 (const int)
+0:159              Constant:
+0:159                1 (const int)
+0:160      move second child to first child ( temp highp 3-component vector of int)
+0:160        vector swizzle ( temp highp 3-component vector of int)
+0:160          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:160            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160              Constant:
+0:160                0 (const int)
+0:160            Constant:
+0:160              1 (const int)
+0:160          Sequence
+0:160            Constant:
+0:160              0 (const int)
+0:160            Constant:
+0:160              1 (const int)
+0:160            Constant:
+0:160              2 (const int)
+0:160        subgroupInclusiveMin ( global highp 3-component vector of int)
+0:160          vector swizzle ( temp highp 3-component vector of int)
+0:160            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:160              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160                Constant:
+0:160                  2 (const int)
+0:160              Constant:
+0:160                1 (const int)
+0:160            Sequence
+0:160              Constant:
+0:160                0 (const int)
+0:160              Constant:
+0:160                1 (const int)
+0:160              Constant:
+0:160                2 (const int)
+0:161      move second child to first child ( temp highp 4-component vector of int)
+0:161        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:161          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161            Constant:
+0:161              0 (const int)
+0:161          Constant:
+0:161            1 (const int)
+0:161        subgroupInclusiveMin ( global highp 4-component vector of int)
+0:161          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:161            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161              Constant:
+0:161                3 (const int)
+0:161            Constant:
+0:161              1 (const int)
+0:163      move second child to first child ( temp highp uint)
+0:163        direct index ( temp highp uint)
+0:163          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:163            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163              Constant:
+0:163                1 (const int)
+0:163            Constant:
+0:163              2 (const int)
+0:163          Constant:
+0:163            0 (const int)
+0:163        subgroupInclusiveMin ( global highp uint)
+0:163          direct index ( temp highp uint)
+0:163            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:163              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163                Constant:
+0:163                  0 (const int)
+0:163              Constant:
+0:163                2 (const int)
+0:163            Constant:
+0:163              0 (const int)
+0:164      move second child to first child ( temp highp 2-component vector of uint)
+0:164        vector swizzle ( temp highp 2-component vector of uint)
+0:164          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:164            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:164              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:164              Constant:
+0:164                1 (const int)
+0:164            Constant:
+0:164              2 (const int)
+0:164          Sequence
+0:164            Constant:
+0:164              0 (const int)
+0:164            Constant:
+0:164              1 (const int)
+0:164        subgroupInclusiveMin ( global highp 2-component vector of uint)
+0:164          vector swizzle ( temp highp 2-component vector of uint)
+0:164            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:164              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:164                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:164                Constant:
+0:164                  1 (const int)
+0:164              Constant:
+0:164                2 (const int)
+0:164            Sequence
+0:164              Constant:
+0:164                0 (const int)
+0:164              Constant:
+0:164                1 (const int)
+0:165      move second child to first child ( temp highp 3-component vector of uint)
+0:165        vector swizzle ( temp highp 3-component vector of uint)
+0:165          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:165            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165              Constant:
+0:165                1 (const int)
+0:165            Constant:
+0:165              2 (const int)
+0:165          Sequence
+0:165            Constant:
+0:165              0 (const int)
+0:165            Constant:
+0:165              1 (const int)
+0:165            Constant:
+0:165              2 (const int)
+0:165        subgroupInclusiveMin ( global highp 3-component vector of uint)
+0:165          vector swizzle ( temp highp 3-component vector of uint)
+0:165            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:165              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165                Constant:
+0:165                  2 (const int)
+0:165              Constant:
+0:165                2 (const int)
+0:165            Sequence
+0:165              Constant:
+0:165                0 (const int)
+0:165              Constant:
+0:165                1 (const int)
+0:165              Constant:
+0:165                2 (const int)
+0:166      move second child to first child ( temp highp 4-component vector of uint)
+0:166        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:166          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166            Constant:
+0:166              1 (const int)
+0:166          Constant:
+0:166            2 (const int)
+0:166        subgroupInclusiveMin ( global highp 4-component vector of uint)
+0:166          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:166            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166              Constant:
+0:166                3 (const int)
+0:166            Constant:
+0:166              2 (const int)
+0:168      move second child to first child ( temp highp float)
+0:168        direct index ( temp highp float)
+0:168          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:168            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168              Constant:
+0:168                2 (const int)
+0:168            Constant:
+0:168              0 (const int)
+0:168          Constant:
+0:168            0 (const int)
+0:168        subgroupInclusiveMax ( global highp float)
+0:168          direct index ( temp highp float)
+0:168            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:168              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168                Constant:
+0:168                  0 (const int)
+0:168              Constant:
+0:168                0 (const int)
+0:168            Constant:
+0:168              0 (const int)
+0:169      move second child to first child ( temp highp 2-component vector of float)
+0:169        vector swizzle ( temp highp 2-component vector of float)
+0:169          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:169            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:169              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:169              Constant:
+0:169                2 (const int)
+0:169            Constant:
+0:169              0 (const int)
+0:169          Sequence
+0:169            Constant:
+0:169              0 (const int)
+0:169            Constant:
+0:169              1 (const int)
+0:169        subgroupInclusiveMax ( global highp 2-component vector of float)
+0:169          vector swizzle ( temp highp 2-component vector of float)
+0:169            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:169              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:169                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:169                Constant:
+0:169                  1 (const int)
+0:169              Constant:
+0:169                0 (const int)
+0:169            Sequence
+0:169              Constant:
+0:169                0 (const int)
+0:169              Constant:
+0:169                1 (const int)
+0:170      move second child to first child ( temp highp 3-component vector of float)
+0:170        vector swizzle ( temp highp 3-component vector of float)
+0:170          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:170            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170              Constant:
+0:170                2 (const int)
+0:170            Constant:
+0:170              0 (const int)
+0:170          Sequence
+0:170            Constant:
+0:170              0 (const int)
+0:170            Constant:
+0:170              1 (const int)
+0:170            Constant:
+0:170              2 (const int)
+0:170        subgroupInclusiveMax ( global highp 3-component vector of float)
+0:170          vector swizzle ( temp highp 3-component vector of float)
+0:170            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:170              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170                Constant:
+0:170                  2 (const int)
+0:170              Constant:
+0:170                0 (const int)
+0:170            Sequence
+0:170              Constant:
+0:170                0 (const int)
+0:170              Constant:
+0:170                1 (const int)
+0:170              Constant:
+0:170                2 (const int)
+0:171      move second child to first child ( temp highp 4-component vector of float)
+0:171        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:171          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171            Constant:
+0:171              2 (const int)
+0:171          Constant:
+0:171            0 (const int)
+0:171        subgroupInclusiveMax ( global highp 4-component vector of float)
+0:171          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:171            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171              Constant:
+0:171                3 (const int)
+0:171            Constant:
+0:171              0 (const int)
+0:173      move second child to first child ( temp highp int)
+0:173        direct index ( temp highp int)
+0:173          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:173            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173              Constant:
+0:173                3 (const int)
+0:173            Constant:
+0:173              1 (const int)
+0:173          Constant:
+0:173            0 (const int)
+0:173        subgroupInclusiveMax ( global highp int)
+0:173          direct index ( temp highp int)
+0:173            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:173              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173                Constant:
+0:173                  0 (const int)
+0:173              Constant:
+0:173                1 (const int)
+0:173            Constant:
+0:173              0 (const int)
+0:174      move second child to first child ( temp highp 2-component vector of int)
+0:174        vector swizzle ( temp highp 2-component vector of int)
+0:174          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:174            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:174              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:174              Constant:
+0:174                3 (const int)
+0:174            Constant:
+0:174              1 (const int)
+0:174          Sequence
+0:174            Constant:
+0:174              0 (const int)
+0:174            Constant:
+0:174              1 (const int)
+0:174        subgroupInclusiveMax ( global highp 2-component vector of int)
+0:174          vector swizzle ( temp highp 2-component vector of int)
+0:174            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:174              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:174                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:174                Constant:
+0:174                  1 (const int)
+0:174              Constant:
+0:174                1 (const int)
+0:174            Sequence
+0:174              Constant:
+0:174                0 (const int)
+0:174              Constant:
+0:174                1 (const int)
+0:175      move second child to first child ( temp highp 3-component vector of int)
+0:175        vector swizzle ( temp highp 3-component vector of int)
+0:175          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:175            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175              Constant:
+0:175                3 (const int)
+0:175            Constant:
+0:175              1 (const int)
+0:175          Sequence
+0:175            Constant:
+0:175              0 (const int)
+0:175            Constant:
+0:175              1 (const int)
+0:175            Constant:
+0:175              2 (const int)
+0:175        subgroupInclusiveMax ( global highp 3-component vector of int)
+0:175          vector swizzle ( temp highp 3-component vector of int)
+0:175            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:175              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175                Constant:
+0:175                  2 (const int)
+0:175              Constant:
+0:175                1 (const int)
+0:175            Sequence
+0:175              Constant:
+0:175                0 (const int)
+0:175              Constant:
+0:175                1 (const int)
+0:175              Constant:
+0:175                2 (const int)
+0:176      move second child to first child ( temp highp 4-component vector of int)
+0:176        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:176          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176            Constant:
+0:176              3 (const int)
+0:176          Constant:
+0:176            1 (const int)
+0:176        subgroupInclusiveMax ( global highp 4-component vector of int)
+0:176          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:176            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176              Constant:
+0:176                3 (const int)
+0:176            Constant:
+0:176              1 (const int)
+0:178      move second child to first child ( temp highp uint)
+0:178        direct index ( temp highp uint)
+0:178          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:178            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178              Constant:
+0:178                0 (const int)
+0:178            Constant:
+0:178              2 (const int)
+0:178          Constant:
+0:178            0 (const int)
+0:178        subgroupInclusiveMax ( global highp uint)
+0:178          direct index ( temp highp uint)
+0:178            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:178              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178                Constant:
+0:178                  0 (const int)
+0:178              Constant:
+0:178                2 (const int)
+0:178            Constant:
+0:178              0 (const int)
+0:179      move second child to first child ( temp highp 2-component vector of uint)
+0:179        vector swizzle ( temp highp 2-component vector of uint)
+0:179          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:179            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:179              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:179              Constant:
+0:179                0 (const int)
+0:179            Constant:
+0:179              2 (const int)
+0:179          Sequence
+0:179            Constant:
+0:179              0 (const int)
+0:179            Constant:
+0:179              1 (const int)
+0:179        subgroupInclusiveMax ( global highp 2-component vector of uint)
+0:179          vector swizzle ( temp highp 2-component vector of uint)
+0:179            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:179              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:179                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:179                Constant:
+0:179                  1 (const int)
+0:179              Constant:
+0:179                2 (const int)
+0:179            Sequence
+0:179              Constant:
+0:179                0 (const int)
+0:179              Constant:
+0:179                1 (const int)
+0:180      move second child to first child ( temp highp 3-component vector of uint)
+0:180        vector swizzle ( temp highp 3-component vector of uint)
+0:180          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:180            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180              Constant:
+0:180                0 (const int)
+0:180            Constant:
+0:180              2 (const int)
+0:180          Sequence
+0:180            Constant:
+0:180              0 (const int)
+0:180            Constant:
+0:180              1 (const int)
+0:180            Constant:
+0:180              2 (const int)
+0:180        subgroupInclusiveMax ( global highp 3-component vector of uint)
+0:180          vector swizzle ( temp highp 3-component vector of uint)
+0:180            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:180              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180                Constant:
+0:180                  2 (const int)
+0:180              Constant:
+0:180                2 (const int)
+0:180            Sequence
+0:180              Constant:
+0:180                0 (const int)
+0:180              Constant:
+0:180                1 (const int)
+0:180              Constant:
+0:180                2 (const int)
+0:181      move second child to first child ( temp highp 4-component vector of uint)
+0:181        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:181          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181            Constant:
+0:181              0 (const int)
+0:181          Constant:
+0:181            2 (const int)
+0:181        subgroupInclusiveMax ( global highp 4-component vector of uint)
+0:181          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:181            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181              Constant:
+0:181                3 (const int)
+0:181            Constant:
+0:181              2 (const int)
+0:183      move second child to first child ( temp highp int)
+0:183        direct index ( temp highp int)
+0:183          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:183            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183              Constant:
+0:183                1 (const int)
+0:183            Constant:
+0:183              1 (const int)
+0:183          Constant:
+0:183            0 (const int)
+0:183        subgroupInclusiveAnd ( global highp int)
+0:183          direct index ( temp highp int)
+0:183            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:183              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183                Constant:
+0:183                  0 (const int)
+0:183              Constant:
+0:183                1 (const int)
+0:183            Constant:
+0:183              0 (const int)
+0:184      move second child to first child ( temp highp 2-component vector of int)
+0:184        vector swizzle ( temp highp 2-component vector of int)
+0:184          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:184            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:184              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:184              Constant:
+0:184                1 (const int)
+0:184            Constant:
+0:184              1 (const int)
+0:184          Sequence
+0:184            Constant:
+0:184              0 (const int)
+0:184            Constant:
+0:184              1 (const int)
+0:184        subgroupInclusiveAnd ( global highp 2-component vector of int)
+0:184          vector swizzle ( temp highp 2-component vector of int)
+0:184            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:184              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:184                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:184                Constant:
+0:184                  1 (const int)
+0:184              Constant:
+0:184                1 (const int)
+0:184            Sequence
+0:184              Constant:
+0:184                0 (const int)
+0:184              Constant:
+0:184                1 (const int)
+0:185      move second child to first child ( temp highp 3-component vector of int)
+0:185        vector swizzle ( temp highp 3-component vector of int)
+0:185          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:185            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185              Constant:
+0:185                1 (const int)
+0:185            Constant:
+0:185              1 (const int)
+0:185          Sequence
+0:185            Constant:
+0:185              0 (const int)
+0:185            Constant:
+0:185              1 (const int)
+0:185            Constant:
+0:185              2 (const int)
+0:185        subgroupInclusiveAnd ( global highp 3-component vector of int)
+0:185          vector swizzle ( temp highp 3-component vector of int)
+0:185            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:185              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185                Constant:
+0:185                  2 (const int)
+0:185              Constant:
+0:185                1 (const int)
+0:185            Sequence
+0:185              Constant:
+0:185                0 (const int)
+0:185              Constant:
+0:185                1 (const int)
+0:185              Constant:
+0:185                2 (const int)
+0:186      move second child to first child ( temp highp 4-component vector of int)
+0:186        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:186          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186            Constant:
+0:186              1 (const int)
+0:186          Constant:
+0:186            1 (const int)
+0:186        subgroupInclusiveAnd ( global highp 4-component vector of int)
+0:186          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:186            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186              Constant:
+0:186                3 (const int)
+0:186            Constant:
+0:186              1 (const int)
+0:188      move second child to first child ( temp highp uint)
+0:188        direct index ( temp highp uint)
+0:188          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:188            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188              Constant:
+0:188                2 (const int)
+0:188            Constant:
+0:188              2 (const int)
+0:188          Constant:
+0:188            0 (const int)
+0:188        subgroupInclusiveAnd ( global highp uint)
+0:188          direct index ( temp highp uint)
+0:188            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:188              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188                Constant:
+0:188                  0 (const int)
+0:188              Constant:
+0:188                2 (const int)
+0:188            Constant:
+0:188              0 (const int)
+0:189      move second child to first child ( temp highp 2-component vector of uint)
+0:189        vector swizzle ( temp highp 2-component vector of uint)
+0:189          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:189            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:189              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:189              Constant:
+0:189                2 (const int)
+0:189            Constant:
+0:189              2 (const int)
+0:189          Sequence
+0:189            Constant:
+0:189              0 (const int)
+0:189            Constant:
+0:189              1 (const int)
+0:189        subgroupInclusiveAnd ( global highp 2-component vector of uint)
+0:189          vector swizzle ( temp highp 2-component vector of uint)
+0:189            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:189              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:189                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:189                Constant:
+0:189                  1 (const int)
+0:189              Constant:
+0:189                2 (const int)
+0:189            Sequence
+0:189              Constant:
+0:189                0 (const int)
+0:189              Constant:
+0:189                1 (const int)
+0:190      move second child to first child ( temp highp 3-component vector of uint)
+0:190        vector swizzle ( temp highp 3-component vector of uint)
+0:190          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:190            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190              Constant:
+0:190                2 (const int)
+0:190            Constant:
+0:190              2 (const int)
+0:190          Sequence
+0:190            Constant:
+0:190              0 (const int)
+0:190            Constant:
+0:190              1 (const int)
+0:190            Constant:
+0:190              2 (const int)
+0:190        subgroupInclusiveAnd ( global highp 3-component vector of uint)
+0:190          vector swizzle ( temp highp 3-component vector of uint)
+0:190            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:190              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190                Constant:
+0:190                  2 (const int)
+0:190              Constant:
+0:190                2 (const int)
+0:190            Sequence
+0:190              Constant:
+0:190                0 (const int)
+0:190              Constant:
+0:190                1 (const int)
+0:190              Constant:
+0:190                2 (const int)
+0:191      move second child to first child ( temp highp 4-component vector of uint)
+0:191        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:191          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191            Constant:
+0:191              2 (const int)
+0:191          Constant:
+0:191            2 (const int)
+0:191        subgroupInclusiveAnd ( global highp 4-component vector of uint)
+0:191          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:191            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191              Constant:
+0:191                3 (const int)
+0:191            Constant:
+0:191              2 (const int)
+0:193      move second child to first child ( temp highp int)
+0:193        direct index ( temp highp int)
+0:193          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:193            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193              Constant:
+0:193                3 (const int)
+0:193            Constant:
+0:193              1 (const int)
+0:193          Constant:
+0:193            0 (const int)
+0:193        Convert bool to int ( temp highp int)
+0:193          subgroupInclusiveAnd ( global bool)
+0:193            Compare Less Than ( temp bool)
+0:193              direct index ( temp highp int)
+0:193                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:193                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193                    Constant:
+0:193                      0 (const int)
+0:193                  Constant:
+0:193                    1 (const int)
+0:193                Constant:
+0:193                  0 (const int)
+0:193              Constant:
+0:193                0 (const int)
+0:194      move second child to first child ( temp highp 2-component vector of int)
+0:194        vector swizzle ( temp highp 2-component vector of int)
+0:194          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:194            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:194              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:194              Constant:
+0:194                3 (const int)
+0:194            Constant:
+0:194              1 (const int)
+0:194          Sequence
+0:194            Constant:
+0:194              0 (const int)
+0:194            Constant:
+0:194              1 (const int)
+0:194        Convert bool to int ( temp highp 2-component vector of int)
+0:194          subgroupInclusiveAnd ( global 2-component vector of bool)
+0:194            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:194              vector swizzle ( temp highp 2-component vector of int)
+0:194                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:194                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:194                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:194                    Constant:
+0:194                      1 (const int)
+0:194                  Constant:
+0:194                    1 (const int)
+0:194                Sequence
+0:194                  Constant:
+0:194                    0 (const int)
+0:194                  Constant:
+0:194                    1 (const int)
+0:194              Constant:
+0:194                0 (const int)
+0:194                0 (const int)
+0:195      move second child to first child ( temp highp 3-component vector of int)
+0:195        vector swizzle ( temp highp 3-component vector of int)
+0:195          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:195            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195              Constant:
+0:195                3 (const int)
+0:195            Constant:
+0:195              1 (const int)
+0:195          Sequence
+0:195            Constant:
+0:195              0 (const int)
+0:195            Constant:
+0:195              1 (const int)
+0:195            Constant:
+0:195              2 (const int)
+0:195        Convert bool to int ( temp highp 3-component vector of int)
+0:195          subgroupInclusiveAnd ( global 3-component vector of bool)
+0:195            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:195              vector swizzle ( temp highp 3-component vector of int)
+0:195                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:195                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195                    Constant:
+0:195                      1 (const int)
+0:195                  Constant:
+0:195                    1 (const int)
+0:195                Sequence
+0:195                  Constant:
+0:195                    0 (const int)
+0:195                  Constant:
+0:195                    1 (const int)
+0:195                  Constant:
+0:195                    2 (const int)
+0:195              Constant:
+0:195                0 (const int)
+0:195                0 (const int)
+0:195                0 (const int)
+0:196      move second child to first child ( temp highp 4-component vector of int)
+0:196        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:196          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196            Constant:
+0:196              3 (const int)
+0:196          Constant:
+0:196            1 (const int)
+0:196        Convert bool to int ( temp highp 4-component vector of int)
+0:196          subgroupInclusiveAnd ( global 4-component vector of bool)
+0:196            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:196              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:196                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196                  Constant:
+0:196                    1 (const int)
+0:196                Constant:
+0:196                  1 (const int)
+0:196              Constant:
+0:196                0 (const int)
+0:196                0 (const int)
+0:196                0 (const int)
+0:196                0 (const int)
+0:198      move second child to first child ( temp highp int)
+0:198        direct index ( temp highp int)
+0:198          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:198            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198              Constant:
+0:198                0 (const int)
+0:198            Constant:
+0:198              1 (const int)
+0:198          Constant:
+0:198            0 (const int)
+0:198        subgroupInclusiveOr ( global highp int)
+0:198          direct index ( temp highp int)
+0:198            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:198              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198                Constant:
+0:198                  0 (const int)
+0:198              Constant:
+0:198                1 (const int)
+0:198            Constant:
+0:198              0 (const int)
+0:199      move second child to first child ( temp highp 2-component vector of int)
+0:199        vector swizzle ( temp highp 2-component vector of int)
+0:199          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:199            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:199              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:199              Constant:
+0:199                0 (const int)
+0:199            Constant:
+0:199              1 (const int)
+0:199          Sequence
+0:199            Constant:
+0:199              0 (const int)
+0:199            Constant:
+0:199              1 (const int)
+0:199        subgroupInclusiveOr ( global highp 2-component vector of int)
+0:199          vector swizzle ( temp highp 2-component vector of int)
+0:199            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:199              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:199                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:199                Constant:
+0:199                  1 (const int)
+0:199              Constant:
+0:199                1 (const int)
+0:199            Sequence
+0:199              Constant:
+0:199                0 (const int)
+0:199              Constant:
+0:199                1 (const int)
+0:200      move second child to first child ( temp highp 3-component vector of int)
+0:200        vector swizzle ( temp highp 3-component vector of int)
+0:200          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:200            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200              Constant:
+0:200                0 (const int)
+0:200            Constant:
+0:200              1 (const int)
+0:200          Sequence
+0:200            Constant:
+0:200              0 (const int)
+0:200            Constant:
+0:200              1 (const int)
+0:200            Constant:
+0:200              2 (const int)
+0:200        subgroupInclusiveOr ( global highp 3-component vector of int)
+0:200          vector swizzle ( temp highp 3-component vector of int)
+0:200            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:200              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200                Constant:
+0:200                  2 (const int)
+0:200              Constant:
+0:200                1 (const int)
+0:200            Sequence
+0:200              Constant:
+0:200                0 (const int)
+0:200              Constant:
+0:200                1 (const int)
+0:200              Constant:
+0:200                2 (const int)
+0:201      move second child to first child ( temp highp 4-component vector of int)
+0:201        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:201          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201            Constant:
+0:201              0 (const int)
+0:201          Constant:
+0:201            1 (const int)
+0:201        subgroupInclusiveOr ( global highp 4-component vector of int)
+0:201          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:201            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201              Constant:
+0:201                3 (const int)
+0:201            Constant:
+0:201              1 (const int)
+0:203      move second child to first child ( temp highp uint)
+0:203        direct index ( temp highp uint)
+0:203          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:203            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203              Constant:
+0:203                1 (const int)
+0:203            Constant:
+0:203              2 (const int)
+0:203          Constant:
+0:203            0 (const int)
+0:203        subgroupInclusiveOr ( global highp uint)
+0:203          direct index ( temp highp uint)
+0:203            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:203              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203                Constant:
+0:203                  0 (const int)
+0:203              Constant:
+0:203                2 (const int)
+0:203            Constant:
+0:203              0 (const int)
+0:204      move second child to first child ( temp highp 2-component vector of uint)
+0:204        vector swizzle ( temp highp 2-component vector of uint)
+0:204          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:204            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:204              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:204              Constant:
+0:204                1 (const int)
+0:204            Constant:
+0:204              2 (const int)
+0:204          Sequence
+0:204            Constant:
+0:204              0 (const int)
+0:204            Constant:
+0:204              1 (const int)
+0:204        subgroupInclusiveOr ( global highp 2-component vector of uint)
+0:204          vector swizzle ( temp highp 2-component vector of uint)
+0:204            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:204              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:204                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:204                Constant:
+0:204                  1 (const int)
+0:204              Constant:
+0:204                2 (const int)
+0:204            Sequence
+0:204              Constant:
+0:204                0 (const int)
+0:204              Constant:
+0:204                1 (const int)
+0:205      move second child to first child ( temp highp 3-component vector of uint)
+0:205        vector swizzle ( temp highp 3-component vector of uint)
+0:205          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:205            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205              Constant:
+0:205                1 (const int)
+0:205            Constant:
+0:205              2 (const int)
+0:205          Sequence
+0:205            Constant:
+0:205              0 (const int)
+0:205            Constant:
+0:205              1 (const int)
+0:205            Constant:
+0:205              2 (const int)
+0:205        subgroupInclusiveOr ( global highp 3-component vector of uint)
+0:205          vector swizzle ( temp highp 3-component vector of uint)
+0:205            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:205              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205                Constant:
+0:205                  2 (const int)
+0:205              Constant:
+0:205                2 (const int)
+0:205            Sequence
+0:205              Constant:
+0:205                0 (const int)
+0:205              Constant:
+0:205                1 (const int)
+0:205              Constant:
+0:205                2 (const int)
+0:206      move second child to first child ( temp highp 4-component vector of uint)
+0:206        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:206          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206            Constant:
+0:206              1 (const int)
+0:206          Constant:
+0:206            2 (const int)
+0:206        subgroupInclusiveOr ( global highp 4-component vector of uint)
+0:206          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:206            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206              Constant:
+0:206                3 (const int)
+0:206            Constant:
+0:206              2 (const int)
+0:208      move second child to first child ( temp highp int)
+0:208        direct index ( temp highp int)
+0:208          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:208            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208              Constant:
+0:208                2 (const int)
+0:208            Constant:
+0:208              1 (const int)
+0:208          Constant:
+0:208            0 (const int)
+0:208        Convert bool to int ( temp highp int)
+0:208          subgroupInclusiveOr ( global bool)
+0:208            Compare Less Than ( temp bool)
+0:208              direct index ( temp highp int)
+0:208                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:208                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208                    Constant:
+0:208                      0 (const int)
+0:208                  Constant:
+0:208                    1 (const int)
+0:208                Constant:
+0:208                  0 (const int)
+0:208              Constant:
+0:208                0 (const int)
+0:209      move second child to first child ( temp highp 2-component vector of int)
+0:209        vector swizzle ( temp highp 2-component vector of int)
+0:209          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:209            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:209              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:209              Constant:
+0:209                2 (const int)
+0:209            Constant:
+0:209              1 (const int)
+0:209          Sequence
+0:209            Constant:
+0:209              0 (const int)
+0:209            Constant:
+0:209              1 (const int)
+0:209        Convert bool to int ( temp highp 2-component vector of int)
+0:209          subgroupInclusiveOr ( global 2-component vector of bool)
+0:209            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:209              vector swizzle ( temp highp 2-component vector of int)
+0:209                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:209                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:209                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:209                    Constant:
+0:209                      1 (const int)
+0:209                  Constant:
+0:209                    1 (const int)
+0:209                Sequence
+0:209                  Constant:
+0:209                    0 (const int)
+0:209                  Constant:
+0:209                    1 (const int)
+0:209              Constant:
+0:209                0 (const int)
+0:209                0 (const int)
+0:210      move second child to first child ( temp highp 3-component vector of int)
+0:210        vector swizzle ( temp highp 3-component vector of int)
+0:210          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:210            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210              Constant:
+0:210                2 (const int)
+0:210            Constant:
+0:210              1 (const int)
+0:210          Sequence
+0:210            Constant:
+0:210              0 (const int)
+0:210            Constant:
+0:210              1 (const int)
+0:210            Constant:
+0:210              2 (const int)
+0:210        Convert bool to int ( temp highp 3-component vector of int)
+0:210          subgroupInclusiveOr ( global 3-component vector of bool)
+0:210            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:210              vector swizzle ( temp highp 3-component vector of int)
+0:210                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:210                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210                    Constant:
+0:210                      1 (const int)
+0:210                  Constant:
+0:210                    1 (const int)
+0:210                Sequence
+0:210                  Constant:
+0:210                    0 (const int)
+0:210                  Constant:
+0:210                    1 (const int)
+0:210                  Constant:
+0:210                    2 (const int)
+0:210              Constant:
+0:210                0 (const int)
+0:210                0 (const int)
+0:210                0 (const int)
+0:211      move second child to first child ( temp highp 4-component vector of int)
+0:211        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:211          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211            Constant:
+0:211              2 (const int)
+0:211          Constant:
+0:211            1 (const int)
+0:211        Convert bool to int ( temp highp 4-component vector of int)
+0:211          subgroupInclusiveOr ( global 4-component vector of bool)
+0:211            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:211              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:211                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211                  Constant:
+0:211                    1 (const int)
+0:211                Constant:
+0:211                  1 (const int)
+0:211              Constant:
+0:211                0 (const int)
+0:211                0 (const int)
+0:211                0 (const int)
+0:211                0 (const int)
+0:213      move second child to first child ( temp highp int)
+0:213        direct index ( temp highp int)
+0:213          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:213            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213              Constant:
+0:213                3 (const int)
+0:213            Constant:
+0:213              1 (const int)
+0:213          Constant:
+0:213            0 (const int)
+0:213        subgroupInclusiveXor ( global highp int)
+0:213          direct index ( temp highp int)
+0:213            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:213              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213                Constant:
+0:213                  0 (const int)
+0:213              Constant:
+0:213                1 (const int)
+0:213            Constant:
+0:213              0 (const int)
+0:214      move second child to first child ( temp highp 2-component vector of int)
+0:214        vector swizzle ( temp highp 2-component vector of int)
+0:214          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:214            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:214              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:214              Constant:
+0:214                3 (const int)
+0:214            Constant:
+0:214              1 (const int)
+0:214          Sequence
+0:214            Constant:
+0:214              0 (const int)
+0:214            Constant:
+0:214              1 (const int)
+0:214        subgroupInclusiveXor ( global highp 2-component vector of int)
+0:214          vector swizzle ( temp highp 2-component vector of int)
+0:214            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:214              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:214                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:214                Constant:
+0:214                  1 (const int)
+0:214              Constant:
+0:214                1 (const int)
+0:214            Sequence
+0:214              Constant:
+0:214                0 (const int)
+0:214              Constant:
+0:214                1 (const int)
+0:215      move second child to first child ( temp highp 3-component vector of int)
+0:215        vector swizzle ( temp highp 3-component vector of int)
+0:215          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:215            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215              Constant:
+0:215                3 (const int)
+0:215            Constant:
+0:215              1 (const int)
+0:215          Sequence
+0:215            Constant:
+0:215              0 (const int)
+0:215            Constant:
+0:215              1 (const int)
+0:215            Constant:
+0:215              2 (const int)
+0:215        subgroupInclusiveXor ( global highp 3-component vector of int)
+0:215          vector swizzle ( temp highp 3-component vector of int)
+0:215            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:215              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215                Constant:
+0:215                  2 (const int)
+0:215              Constant:
+0:215                1 (const int)
+0:215            Sequence
+0:215              Constant:
+0:215                0 (const int)
+0:215              Constant:
+0:215                1 (const int)
+0:215              Constant:
+0:215                2 (const int)
+0:216      move second child to first child ( temp highp 4-component vector of int)
+0:216        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:216          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216            Constant:
+0:216              3 (const int)
+0:216          Constant:
+0:216            1 (const int)
+0:216        subgroupInclusiveXor ( global highp 4-component vector of int)
+0:216          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:216            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216              Constant:
+0:216                3 (const int)
+0:216            Constant:
+0:216              1 (const int)
+0:218      move second child to first child ( temp highp uint)
+0:218        direct index ( temp highp uint)
+0:218          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:218            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218              Constant:
+0:218                0 (const int)
+0:218            Constant:
+0:218              2 (const int)
+0:218          Constant:
+0:218            0 (const int)
+0:218        subgroupInclusiveXor ( global highp uint)
+0:218          direct index ( temp highp uint)
+0:218            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:218              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218                Constant:
+0:218                  0 (const int)
+0:218              Constant:
+0:218                2 (const int)
+0:218            Constant:
+0:218              0 (const int)
+0:219      move second child to first child ( temp highp 2-component vector of uint)
+0:219        vector swizzle ( temp highp 2-component vector of uint)
+0:219          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:219            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:219              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:219              Constant:
+0:219                0 (const int)
+0:219            Constant:
+0:219              2 (const int)
+0:219          Sequence
+0:219            Constant:
+0:219              0 (const int)
+0:219            Constant:
+0:219              1 (const int)
+0:219        subgroupInclusiveXor ( global highp 2-component vector of uint)
+0:219          vector swizzle ( temp highp 2-component vector of uint)
+0:219            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:219              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:219                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:219                Constant:
+0:219                  1 (const int)
+0:219              Constant:
+0:219                2 (const int)
+0:219            Sequence
+0:219              Constant:
+0:219                0 (const int)
+0:219              Constant:
+0:219                1 (const int)
+0:220      move second child to first child ( temp highp 3-component vector of uint)
+0:220        vector swizzle ( temp highp 3-component vector of uint)
+0:220          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:220            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220              Constant:
+0:220                0 (const int)
+0:220            Constant:
+0:220              2 (const int)
+0:220          Sequence
+0:220            Constant:
+0:220              0 (const int)
+0:220            Constant:
+0:220              1 (const int)
+0:220            Constant:
+0:220              2 (const int)
+0:220        subgroupInclusiveXor ( global highp 3-component vector of uint)
+0:220          vector swizzle ( temp highp 3-component vector of uint)
+0:220            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:220              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220                Constant:
+0:220                  2 (const int)
+0:220              Constant:
+0:220                2 (const int)
+0:220            Sequence
+0:220              Constant:
+0:220                0 (const int)
+0:220              Constant:
+0:220                1 (const int)
+0:220              Constant:
+0:220                2 (const int)
+0:221      move second child to first child ( temp highp 4-component vector of uint)
+0:221        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:221          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221            Constant:
+0:221              0 (const int)
+0:221          Constant:
+0:221            2 (const int)
+0:221        subgroupInclusiveXor ( global highp 4-component vector of uint)
+0:221          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:221            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221              Constant:
+0:221                3 (const int)
+0:221            Constant:
+0:221              2 (const int)
+0:223      move second child to first child ( temp highp int)
+0:223        direct index ( temp highp int)
+0:223          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:223            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223              Constant:
+0:223                1 (const int)
+0:223            Constant:
+0:223              1 (const int)
+0:223          Constant:
+0:223            0 (const int)
+0:223        Convert bool to int ( temp highp int)
+0:223          subgroupInclusiveXor ( global bool)
+0:223            Compare Less Than ( temp bool)
+0:223              direct index ( temp highp int)
+0:223                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:223                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223                    Constant:
+0:223                      0 (const int)
+0:223                  Constant:
+0:223                    1 (const int)
+0:223                Constant:
+0:223                  0 (const int)
+0:223              Constant:
+0:223                0 (const int)
+0:224      move second child to first child ( temp highp 2-component vector of int)
+0:224        vector swizzle ( temp highp 2-component vector of int)
+0:224          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:224            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:224              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:224              Constant:
+0:224                1 (const int)
+0:224            Constant:
+0:224              1 (const int)
+0:224          Sequence
+0:224            Constant:
+0:224              0 (const int)
+0:224            Constant:
+0:224              1 (const int)
+0:224        Convert bool to int ( temp highp 2-component vector of int)
+0:224          subgroupInclusiveXor ( global 2-component vector of bool)
+0:224            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:224              vector swizzle ( temp highp 2-component vector of int)
+0:224                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:224                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:224                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:224                    Constant:
+0:224                      1 (const int)
+0:224                  Constant:
+0:224                    1 (const int)
+0:224                Sequence
+0:224                  Constant:
+0:224                    0 (const int)
+0:224                  Constant:
+0:224                    1 (const int)
+0:224              Constant:
+0:224                0 (const int)
+0:224                0 (const int)
+0:225      move second child to first child ( temp highp 3-component vector of int)
+0:225        vector swizzle ( temp highp 3-component vector of int)
+0:225          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:225            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225              Constant:
+0:225                1 (const int)
+0:225            Constant:
+0:225              1 (const int)
+0:225          Sequence
+0:225            Constant:
+0:225              0 (const int)
+0:225            Constant:
+0:225              1 (const int)
+0:225            Constant:
+0:225              2 (const int)
+0:225        Convert bool to int ( temp highp 3-component vector of int)
+0:225          subgroupInclusiveXor ( global 3-component vector of bool)
+0:225            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:225              vector swizzle ( temp highp 3-component vector of int)
+0:225                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:225                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225                    Constant:
+0:225                      1 (const int)
+0:225                  Constant:
+0:225                    1 (const int)
+0:225                Sequence
+0:225                  Constant:
+0:225                    0 (const int)
+0:225                  Constant:
+0:225                    1 (const int)
+0:225                  Constant:
+0:225                    2 (const int)
+0:225              Constant:
+0:225                0 (const int)
+0:225                0 (const int)
+0:225                0 (const int)
+0:226      move second child to first child ( temp highp 4-component vector of int)
+0:226        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:226          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226            Constant:
+0:226              1 (const int)
+0:226          Constant:
+0:226            1 (const int)
+0:226        Convert bool to int ( temp highp 4-component vector of int)
+0:226          subgroupInclusiveXor ( global 4-component vector of bool)
+0:226            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:226              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:226                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226                  Constant:
+0:226                    1 (const int)
+0:226                Constant:
+0:226                  1 (const int)
+0:226              Constant:
+0:226                0 (const int)
+0:226                0 (const int)
+0:226                0 (const int)
+0:226                0 (const int)
+0:228      move second child to first child ( temp highp float)
+0:228        direct index ( temp highp float)
+0:228          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:228            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228              Constant:
+0:228                2 (const int)
+0:228            Constant:
+0:228              0 (const int)
+0:228          Constant:
+0:228            0 (const int)
+0:228        subgroupExclusiveAdd ( global highp float)
+0:228          direct index ( temp highp float)
+0:228            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:228              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228                Constant:
+0:228                  0 (const int)
+0:228              Constant:
+0:228                0 (const int)
+0:228            Constant:
+0:228              0 (const int)
+0:229      move second child to first child ( temp highp 2-component vector of float)
+0:229        vector swizzle ( temp highp 2-component vector of float)
+0:229          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:229            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:229              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:229              Constant:
+0:229                2 (const int)
+0:229            Constant:
+0:229              0 (const int)
+0:229          Sequence
+0:229            Constant:
+0:229              0 (const int)
+0:229            Constant:
+0:229              1 (const int)
+0:229        subgroupExclusiveAdd ( global highp 2-component vector of float)
+0:229          vector swizzle ( temp highp 2-component vector of float)
+0:229            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:229              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:229                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:229                Constant:
+0:229                  1 (const int)
+0:229              Constant:
+0:229                0 (const int)
+0:229            Sequence
+0:229              Constant:
+0:229                0 (const int)
+0:229              Constant:
+0:229                1 (const int)
+0:230      move second child to first child ( temp highp 3-component vector of float)
+0:230        vector swizzle ( temp highp 3-component vector of float)
+0:230          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:230            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230              Constant:
+0:230                2 (const int)
+0:230            Constant:
+0:230              0 (const int)
+0:230          Sequence
+0:230            Constant:
+0:230              0 (const int)
+0:230            Constant:
+0:230              1 (const int)
+0:230            Constant:
+0:230              2 (const int)
+0:230        subgroupExclusiveAdd ( global highp 3-component vector of float)
+0:230          vector swizzle ( temp highp 3-component vector of float)
+0:230            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:230              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230                Constant:
+0:230                  2 (const int)
+0:230              Constant:
+0:230                0 (const int)
+0:230            Sequence
+0:230              Constant:
+0:230                0 (const int)
+0:230              Constant:
+0:230                1 (const int)
+0:230              Constant:
+0:230                2 (const int)
+0:231      move second child to first child ( temp highp 4-component vector of float)
+0:231        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:231          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231            Constant:
+0:231              2 (const int)
+0:231          Constant:
+0:231            0 (const int)
+0:231        subgroupExclusiveAdd ( global highp 4-component vector of float)
+0:231          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:231            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231              Constant:
+0:231                3 (const int)
+0:231            Constant:
+0:231              0 (const int)
+0:233      move second child to first child ( temp highp int)
+0:233        direct index ( temp highp int)
+0:233          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:233            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233              Constant:
+0:233                3 (const int)
+0:233            Constant:
+0:233              1 (const int)
+0:233          Constant:
+0:233            0 (const int)
+0:233        subgroupExclusiveAdd ( global highp int)
+0:233          direct index ( temp highp int)
+0:233            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:233              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233                Constant:
+0:233                  0 (const int)
+0:233              Constant:
+0:233                1 (const int)
+0:233            Constant:
+0:233              0 (const int)
+0:234      move second child to first child ( temp highp 2-component vector of int)
+0:234        vector swizzle ( temp highp 2-component vector of int)
+0:234          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:234            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:234              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:234              Constant:
+0:234                3 (const int)
+0:234            Constant:
+0:234              1 (const int)
+0:234          Sequence
+0:234            Constant:
+0:234              0 (const int)
+0:234            Constant:
+0:234              1 (const int)
+0:234        subgroupExclusiveAdd ( global highp 2-component vector of int)
+0:234          vector swizzle ( temp highp 2-component vector of int)
+0:234            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:234              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:234                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:234                Constant:
+0:234                  1 (const int)
+0:234              Constant:
+0:234                1 (const int)
+0:234            Sequence
+0:234              Constant:
+0:234                0 (const int)
+0:234              Constant:
+0:234                1 (const int)
+0:235      move second child to first child ( temp highp 3-component vector of int)
+0:235        vector swizzle ( temp highp 3-component vector of int)
+0:235          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:235            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235              Constant:
+0:235                3 (const int)
+0:235            Constant:
+0:235              1 (const int)
+0:235          Sequence
+0:235            Constant:
+0:235              0 (const int)
+0:235            Constant:
+0:235              1 (const int)
+0:235            Constant:
+0:235              2 (const int)
+0:235        subgroupExclusiveAdd ( global highp 3-component vector of int)
+0:235          vector swizzle ( temp highp 3-component vector of int)
+0:235            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:235              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235                Constant:
+0:235                  2 (const int)
+0:235              Constant:
+0:235                1 (const int)
+0:235            Sequence
+0:235              Constant:
+0:235                0 (const int)
+0:235              Constant:
+0:235                1 (const int)
+0:235              Constant:
+0:235                2 (const int)
+0:236      move second child to first child ( temp highp 4-component vector of int)
+0:236        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:236          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236            Constant:
+0:236              3 (const int)
+0:236          Constant:
+0:236            1 (const int)
+0:236        subgroupExclusiveAdd ( global highp 4-component vector of int)
+0:236          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:236            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236              Constant:
+0:236                3 (const int)
+0:236            Constant:
+0:236              1 (const int)
+0:238      move second child to first child ( temp highp uint)
+0:238        direct index ( temp highp uint)
+0:238          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:238            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238              Constant:
+0:238                0 (const int)
+0:238            Constant:
+0:238              2 (const int)
+0:238          Constant:
+0:238            0 (const int)
+0:238        subgroupExclusiveAdd ( global highp uint)
+0:238          direct index ( temp highp uint)
+0:238            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:238              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238                Constant:
+0:238                  0 (const int)
+0:238              Constant:
+0:238                2 (const int)
+0:238            Constant:
+0:238              0 (const int)
+0:239      move second child to first child ( temp highp 2-component vector of uint)
+0:239        vector swizzle ( temp highp 2-component vector of uint)
+0:239          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:239            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:239              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:239              Constant:
+0:239                0 (const int)
+0:239            Constant:
+0:239              2 (const int)
+0:239          Sequence
+0:239            Constant:
+0:239              0 (const int)
+0:239            Constant:
+0:239              1 (const int)
+0:239        subgroupExclusiveAdd ( global highp 2-component vector of uint)
+0:239          vector swizzle ( temp highp 2-component vector of uint)
+0:239            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:239              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:239                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:239                Constant:
+0:239                  1 (const int)
+0:239              Constant:
+0:239                2 (const int)
+0:239            Sequence
+0:239              Constant:
+0:239                0 (const int)
+0:239              Constant:
+0:239                1 (const int)
+0:240      move second child to first child ( temp highp 3-component vector of uint)
+0:240        vector swizzle ( temp highp 3-component vector of uint)
+0:240          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:240            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240              Constant:
+0:240                0 (const int)
+0:240            Constant:
+0:240              2 (const int)
+0:240          Sequence
+0:240            Constant:
+0:240              0 (const int)
+0:240            Constant:
+0:240              1 (const int)
+0:240            Constant:
+0:240              2 (const int)
+0:240        subgroupExclusiveAdd ( global highp 3-component vector of uint)
+0:240          vector swizzle ( temp highp 3-component vector of uint)
+0:240            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:240              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240                Constant:
+0:240                  2 (const int)
+0:240              Constant:
+0:240                2 (const int)
+0:240            Sequence
+0:240              Constant:
+0:240                0 (const int)
+0:240              Constant:
+0:240                1 (const int)
+0:240              Constant:
+0:240                2 (const int)
+0:241      move second child to first child ( temp highp 4-component vector of uint)
+0:241        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:241          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241            Constant:
+0:241              0 (const int)
+0:241          Constant:
+0:241            2 (const int)
+0:241        subgroupExclusiveAdd ( global highp 4-component vector of uint)
+0:241          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:241            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241              Constant:
+0:241                3 (const int)
+0:241            Constant:
+0:241              2 (const int)
+0:243      move second child to first child ( temp highp float)
+0:243        direct index ( temp highp float)
+0:243          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:243            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243              Constant:
+0:243                1 (const int)
+0:243            Constant:
+0:243              0 (const int)
+0:243          Constant:
+0:243            0 (const int)
+0:243        subgroupExclusiveMul ( global highp float)
+0:243          direct index ( temp highp float)
+0:243            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:243              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243                Constant:
+0:243                  0 (const int)
+0:243              Constant:
+0:243                0 (const int)
+0:243            Constant:
+0:243              0 (const int)
+0:244      move second child to first child ( temp highp 2-component vector of float)
+0:244        vector swizzle ( temp highp 2-component vector of float)
+0:244          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:244            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:244              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:244              Constant:
+0:244                1 (const int)
+0:244            Constant:
+0:244              0 (const int)
+0:244          Sequence
+0:244            Constant:
+0:244              0 (const int)
+0:244            Constant:
+0:244              1 (const int)
+0:244        subgroupExclusiveMul ( global highp 2-component vector of float)
+0:244          vector swizzle ( temp highp 2-component vector of float)
+0:244            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:244              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:244                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:244                Constant:
+0:244                  1 (const int)
+0:244              Constant:
+0:244                0 (const int)
+0:244            Sequence
+0:244              Constant:
+0:244                0 (const int)
+0:244              Constant:
+0:244                1 (const int)
+0:245      move second child to first child ( temp highp 3-component vector of float)
+0:245        vector swizzle ( temp highp 3-component vector of float)
+0:245          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:245            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245              Constant:
+0:245                1 (const int)
+0:245            Constant:
+0:245              0 (const int)
+0:245          Sequence
+0:245            Constant:
+0:245              0 (const int)
+0:245            Constant:
+0:245              1 (const int)
+0:245            Constant:
+0:245              2 (const int)
+0:245        subgroupExclusiveMul ( global highp 3-component vector of float)
+0:245          vector swizzle ( temp highp 3-component vector of float)
+0:245            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:245              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245                Constant:
+0:245                  2 (const int)
+0:245              Constant:
+0:245                0 (const int)
+0:245            Sequence
+0:245              Constant:
+0:245                0 (const int)
+0:245              Constant:
+0:245                1 (const int)
+0:245              Constant:
+0:245                2 (const int)
+0:246      move second child to first child ( temp highp 4-component vector of float)
+0:246        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:246          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246            Constant:
+0:246              1 (const int)
+0:246          Constant:
+0:246            0 (const int)
+0:246        subgroupExclusiveMul ( global highp 4-component vector of float)
+0:246          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:246            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246              Constant:
+0:246                3 (const int)
+0:246            Constant:
+0:246              0 (const int)
+0:248      move second child to first child ( temp highp int)
+0:248        direct index ( temp highp int)
+0:248          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:248            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248              Constant:
+0:248                2 (const int)
+0:248            Constant:
+0:248              1 (const int)
+0:248          Constant:
+0:248            0 (const int)
+0:248        subgroupExclusiveMul ( global highp int)
+0:248          direct index ( temp highp int)
+0:248            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:248              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248                Constant:
+0:248                  0 (const int)
+0:248              Constant:
+0:248                1 (const int)
+0:248            Constant:
+0:248              0 (const int)
+0:249      move second child to first child ( temp highp 2-component vector of int)
+0:249        vector swizzle ( temp highp 2-component vector of int)
+0:249          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:249            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:249              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:249              Constant:
+0:249                2 (const int)
+0:249            Constant:
+0:249              1 (const int)
+0:249          Sequence
+0:249            Constant:
+0:249              0 (const int)
+0:249            Constant:
+0:249              1 (const int)
+0:249        subgroupExclusiveMul ( global highp 2-component vector of int)
+0:249          vector swizzle ( temp highp 2-component vector of int)
+0:249            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:249              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:249                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:249                Constant:
+0:249                  1 (const int)
+0:249              Constant:
+0:249                1 (const int)
+0:249            Sequence
+0:249              Constant:
+0:249                0 (const int)
+0:249              Constant:
+0:249                1 (const int)
+0:250      move second child to first child ( temp highp 3-component vector of int)
+0:250        vector swizzle ( temp highp 3-component vector of int)
+0:250          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:250            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250              Constant:
+0:250                2 (const int)
+0:250            Constant:
+0:250              1 (const int)
+0:250          Sequence
+0:250            Constant:
+0:250              0 (const int)
+0:250            Constant:
+0:250              1 (const int)
+0:250            Constant:
+0:250              2 (const int)
+0:250        subgroupExclusiveMul ( global highp 3-component vector of int)
+0:250          vector swizzle ( temp highp 3-component vector of int)
+0:250            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:250              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250                Constant:
+0:250                  2 (const int)
+0:250              Constant:
+0:250                1 (const int)
+0:250            Sequence
+0:250              Constant:
+0:250                0 (const int)
+0:250              Constant:
+0:250                1 (const int)
+0:250              Constant:
+0:250                2 (const int)
+0:251      move second child to first child ( temp highp 4-component vector of int)
+0:251        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:251          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251            Constant:
+0:251              2 (const int)
+0:251          Constant:
+0:251            1 (const int)
+0:251        subgroupExclusiveMul ( global highp 4-component vector of int)
+0:251          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:251            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251              Constant:
+0:251                3 (const int)
+0:251            Constant:
+0:251              1 (const int)
+0:253      move second child to first child ( temp highp uint)
+0:253        direct index ( temp highp uint)
+0:253          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:253            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253              Constant:
+0:253                3 (const int)
+0:253            Constant:
+0:253              2 (const int)
+0:253          Constant:
+0:253            0 (const int)
+0:253        subgroupExclusiveMul ( global highp uint)
+0:253          direct index ( temp highp uint)
+0:253            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:253              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253                Constant:
+0:253                  0 (const int)
+0:253              Constant:
+0:253                2 (const int)
+0:253            Constant:
+0:253              0 (const int)
+0:254      move second child to first child ( temp highp 2-component vector of uint)
+0:254        vector swizzle ( temp highp 2-component vector of uint)
+0:254          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:254            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:254              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:254              Constant:
+0:254                3 (const int)
+0:254            Constant:
+0:254              2 (const int)
+0:254          Sequence
+0:254            Constant:
+0:254              0 (const int)
+0:254            Constant:
+0:254              1 (const int)
+0:254        subgroupExclusiveMul ( global highp 2-component vector of uint)
+0:254          vector swizzle ( temp highp 2-component vector of uint)
+0:254            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:254              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:254                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:254                Constant:
+0:254                  1 (const int)
+0:254              Constant:
+0:254                2 (const int)
+0:254            Sequence
+0:254              Constant:
+0:254                0 (const int)
+0:254              Constant:
+0:254                1 (const int)
+0:255      move second child to first child ( temp highp 3-component vector of uint)
+0:255        vector swizzle ( temp highp 3-component vector of uint)
+0:255          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:255            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255              Constant:
+0:255                3 (const int)
+0:255            Constant:
+0:255              2 (const int)
+0:255          Sequence
+0:255            Constant:
+0:255              0 (const int)
+0:255            Constant:
+0:255              1 (const int)
+0:255            Constant:
+0:255              2 (const int)
+0:255        subgroupExclusiveMul ( global highp 3-component vector of uint)
+0:255          vector swizzle ( temp highp 3-component vector of uint)
+0:255            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:255              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255                Constant:
+0:255                  2 (const int)
+0:255              Constant:
+0:255                2 (const int)
+0:255            Sequence
+0:255              Constant:
+0:255                0 (const int)
+0:255              Constant:
+0:255                1 (const int)
+0:255              Constant:
+0:255                2 (const int)
+0:256      move second child to first child ( temp highp 4-component vector of uint)
+0:256        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:256          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256            Constant:
+0:256              3 (const int)
+0:256          Constant:
+0:256            2 (const int)
+0:256        subgroupExclusiveMul ( global highp 4-component vector of uint)
+0:256          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:256            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256              Constant:
+0:256                3 (const int)
+0:256            Constant:
+0:256              2 (const int)
+0:258      move second child to first child ( temp highp float)
+0:258        direct index ( temp highp float)
+0:258          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:258            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258              Constant:
+0:258                0 (const int)
+0:258            Constant:
+0:258              0 (const int)
+0:258          Constant:
+0:258            0 (const int)
+0:258        subgroupExclusiveMin ( global highp float)
+0:258          direct index ( temp highp float)
+0:258            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:258              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258                Constant:
+0:258                  0 (const int)
+0:258              Constant:
+0:258                0 (const int)
+0:258            Constant:
+0:258              0 (const int)
+0:259      move second child to first child ( temp highp 2-component vector of float)
+0:259        vector swizzle ( temp highp 2-component vector of float)
+0:259          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:259            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:259              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:259              Constant:
+0:259                0 (const int)
+0:259            Constant:
+0:259              0 (const int)
+0:259          Sequence
+0:259            Constant:
+0:259              0 (const int)
+0:259            Constant:
+0:259              1 (const int)
+0:259        subgroupExclusiveMin ( global highp 2-component vector of float)
+0:259          vector swizzle ( temp highp 2-component vector of float)
+0:259            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:259              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:259                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:259                Constant:
+0:259                  1 (const int)
+0:259              Constant:
+0:259                0 (const int)
+0:259            Sequence
+0:259              Constant:
+0:259                0 (const int)
+0:259              Constant:
+0:259                1 (const int)
+0:260      move second child to first child ( temp highp 3-component vector of float)
+0:260        vector swizzle ( temp highp 3-component vector of float)
+0:260          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:260            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260              Constant:
+0:260                0 (const int)
+0:260            Constant:
+0:260              0 (const int)
+0:260          Sequence
+0:260            Constant:
+0:260              0 (const int)
+0:260            Constant:
+0:260              1 (const int)
+0:260            Constant:
+0:260              2 (const int)
+0:260        subgroupExclusiveMin ( global highp 3-component vector of float)
+0:260          vector swizzle ( temp highp 3-component vector of float)
+0:260            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:260              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260                Constant:
+0:260                  2 (const int)
+0:260              Constant:
+0:260                0 (const int)
+0:260            Sequence
+0:260              Constant:
+0:260                0 (const int)
+0:260              Constant:
+0:260                1 (const int)
+0:260              Constant:
+0:260                2 (const int)
+0:261      move second child to first child ( temp highp 4-component vector of float)
+0:261        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:261          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261            Constant:
+0:261              0 (const int)
+0:261          Constant:
+0:261            0 (const int)
+0:261        subgroupExclusiveMin ( global highp 4-component vector of float)
+0:261          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:261            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261              Constant:
+0:261                3 (const int)
+0:261            Constant:
+0:261              0 (const int)
+0:263      move second child to first child ( temp highp int)
+0:263        direct index ( temp highp int)
+0:263          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:263            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263              Constant:
+0:263                1 (const int)
+0:263            Constant:
+0:263              1 (const int)
+0:263          Constant:
+0:263            0 (const int)
+0:263        subgroupExclusiveMin ( global highp int)
+0:263          direct index ( temp highp int)
+0:263            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:263              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263                Constant:
+0:263                  0 (const int)
+0:263              Constant:
+0:263                1 (const int)
+0:263            Constant:
+0:263              0 (const int)
+0:264      move second child to first child ( temp highp 2-component vector of int)
+0:264        vector swizzle ( temp highp 2-component vector of int)
+0:264          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:264            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:264              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:264              Constant:
+0:264                1 (const int)
+0:264            Constant:
+0:264              1 (const int)
+0:264          Sequence
+0:264            Constant:
+0:264              0 (const int)
+0:264            Constant:
+0:264              1 (const int)
+0:264        subgroupExclusiveMin ( global highp 2-component vector of int)
+0:264          vector swizzle ( temp highp 2-component vector of int)
+0:264            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:264              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:264                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:264                Constant:
+0:264                  1 (const int)
+0:264              Constant:
+0:264                1 (const int)
+0:264            Sequence
+0:264              Constant:
+0:264                0 (const int)
+0:264              Constant:
+0:264                1 (const int)
+0:265      move second child to first child ( temp highp 3-component vector of int)
+0:265        vector swizzle ( temp highp 3-component vector of int)
+0:265          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:265            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265              Constant:
+0:265                1 (const int)
+0:265            Constant:
+0:265              1 (const int)
+0:265          Sequence
+0:265            Constant:
+0:265              0 (const int)
+0:265            Constant:
+0:265              1 (const int)
+0:265            Constant:
+0:265              2 (const int)
+0:265        subgroupExclusiveMin ( global highp 3-component vector of int)
+0:265          vector swizzle ( temp highp 3-component vector of int)
+0:265            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:265              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265                Constant:
+0:265                  2 (const int)
+0:265              Constant:
+0:265                1 (const int)
+0:265            Sequence
+0:265              Constant:
+0:265                0 (const int)
+0:265              Constant:
+0:265                1 (const int)
+0:265              Constant:
+0:265                2 (const int)
+0:266      move second child to first child ( temp highp 4-component vector of int)
+0:266        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:266          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266            Constant:
+0:266              1 (const int)
+0:266          Constant:
+0:266            1 (const int)
+0:266        subgroupExclusiveMin ( global highp 4-component vector of int)
+0:266          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:266            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266              Constant:
+0:266                3 (const int)
+0:266            Constant:
+0:266              1 (const int)
+0:268      move second child to first child ( temp highp uint)
+0:268        direct index ( temp highp uint)
+0:268          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:268            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268              Constant:
+0:268                2 (const int)
+0:268            Constant:
+0:268              2 (const int)
+0:268          Constant:
+0:268            0 (const int)
+0:268        subgroupExclusiveMin ( global highp uint)
+0:268          direct index ( temp highp uint)
+0:268            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:268              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268                Constant:
+0:268                  0 (const int)
+0:268              Constant:
+0:268                2 (const int)
+0:268            Constant:
+0:268              0 (const int)
+0:269      move second child to first child ( temp highp 2-component vector of uint)
+0:269        vector swizzle ( temp highp 2-component vector of uint)
+0:269          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:269            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:269              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:269              Constant:
+0:269                2 (const int)
+0:269            Constant:
+0:269              2 (const int)
+0:269          Sequence
+0:269            Constant:
+0:269              0 (const int)
+0:269            Constant:
+0:269              1 (const int)
+0:269        subgroupExclusiveMin ( global highp 2-component vector of uint)
+0:269          vector swizzle ( temp highp 2-component vector of uint)
+0:269            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:269              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:269                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:269                Constant:
+0:269                  1 (const int)
+0:269              Constant:
+0:269                2 (const int)
+0:269            Sequence
+0:269              Constant:
+0:269                0 (const int)
+0:269              Constant:
+0:269                1 (const int)
+0:270      move second child to first child ( temp highp 3-component vector of uint)
+0:270        vector swizzle ( temp highp 3-component vector of uint)
+0:270          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:270            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270              Constant:
+0:270                2 (const int)
+0:270            Constant:
+0:270              2 (const int)
+0:270          Sequence
+0:270            Constant:
+0:270              0 (const int)
+0:270            Constant:
+0:270              1 (const int)
+0:270            Constant:
+0:270              2 (const int)
+0:270        subgroupExclusiveMin ( global highp 3-component vector of uint)
+0:270          vector swizzle ( temp highp 3-component vector of uint)
+0:270            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:270              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270                Constant:
+0:270                  2 (const int)
+0:270              Constant:
+0:270                2 (const int)
+0:270            Sequence
+0:270              Constant:
+0:270                0 (const int)
+0:270              Constant:
+0:270                1 (const int)
+0:270              Constant:
+0:270                2 (const int)
+0:271      move second child to first child ( temp highp 4-component vector of uint)
+0:271        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:271          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271            Constant:
+0:271              2 (const int)
+0:271          Constant:
+0:271            2 (const int)
+0:271        subgroupExclusiveMin ( global highp 4-component vector of uint)
+0:271          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:271            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271              Constant:
+0:271                3 (const int)
+0:271            Constant:
+0:271              2 (const int)
+0:273      move second child to first child ( temp highp float)
+0:273        direct index ( temp highp float)
+0:273          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:273            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273              Constant:
+0:273                3 (const int)
+0:273            Constant:
+0:273              0 (const int)
+0:273          Constant:
+0:273            0 (const int)
+0:273        subgroupExclusiveMax ( global highp float)
+0:273          direct index ( temp highp float)
+0:273            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:273              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273                Constant:
+0:273                  0 (const int)
+0:273              Constant:
+0:273                0 (const int)
+0:273            Constant:
+0:273              0 (const int)
+0:274      move second child to first child ( temp highp 2-component vector of float)
+0:274        vector swizzle ( temp highp 2-component vector of float)
+0:274          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:274            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:274              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:274              Constant:
+0:274                3 (const int)
+0:274            Constant:
+0:274              0 (const int)
+0:274          Sequence
+0:274            Constant:
+0:274              0 (const int)
+0:274            Constant:
+0:274              1 (const int)
+0:274        subgroupExclusiveMax ( global highp 2-component vector of float)
+0:274          vector swizzle ( temp highp 2-component vector of float)
+0:274            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:274              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:274                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:274                Constant:
+0:274                  1 (const int)
+0:274              Constant:
+0:274                0 (const int)
+0:274            Sequence
+0:274              Constant:
+0:274                0 (const int)
+0:274              Constant:
+0:274                1 (const int)
+0:275      move second child to first child ( temp highp 3-component vector of float)
+0:275        vector swizzle ( temp highp 3-component vector of float)
+0:275          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:275            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275              Constant:
+0:275                3 (const int)
+0:275            Constant:
+0:275              0 (const int)
+0:275          Sequence
+0:275            Constant:
+0:275              0 (const int)
+0:275            Constant:
+0:275              1 (const int)
+0:275            Constant:
+0:275              2 (const int)
+0:275        subgroupExclusiveMax ( global highp 3-component vector of float)
+0:275          vector swizzle ( temp highp 3-component vector of float)
+0:275            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:275              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275                Constant:
+0:275                  2 (const int)
+0:275              Constant:
+0:275                0 (const int)
+0:275            Sequence
+0:275              Constant:
+0:275                0 (const int)
+0:275              Constant:
+0:275                1 (const int)
+0:275              Constant:
+0:275                2 (const int)
+0:276      move second child to first child ( temp highp 4-component vector of float)
+0:276        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:276          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276            Constant:
+0:276              3 (const int)
+0:276          Constant:
+0:276            0 (const int)
+0:276        subgroupExclusiveMax ( global highp 4-component vector of float)
+0:276          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:276            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276              Constant:
+0:276                3 (const int)
+0:276            Constant:
+0:276              0 (const int)
+0:278      move second child to first child ( temp highp int)
+0:278        direct index ( temp highp int)
+0:278          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:278            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278              Constant:
+0:278                0 (const int)
+0:278            Constant:
+0:278              1 (const int)
+0:278          Constant:
+0:278            0 (const int)
+0:278        subgroupExclusiveMax ( global highp int)
+0:278          direct index ( temp highp int)
+0:278            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:278              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278                Constant:
+0:278                  0 (const int)
+0:278              Constant:
+0:278                1 (const int)
+0:278            Constant:
+0:278              0 (const int)
+0:279      move second child to first child ( temp highp 2-component vector of int)
+0:279        vector swizzle ( temp highp 2-component vector of int)
+0:279          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:279            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:279              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:279              Constant:
+0:279                0 (const int)
+0:279            Constant:
+0:279              1 (const int)
+0:279          Sequence
+0:279            Constant:
+0:279              0 (const int)
+0:279            Constant:
+0:279              1 (const int)
+0:279        subgroupExclusiveMax ( global highp 2-component vector of int)
+0:279          vector swizzle ( temp highp 2-component vector of int)
+0:279            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:279              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:279                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:279                Constant:
+0:279                  1 (const int)
+0:279              Constant:
+0:279                1 (const int)
+0:279            Sequence
+0:279              Constant:
+0:279                0 (const int)
+0:279              Constant:
+0:279                1 (const int)
+0:280      move second child to first child ( temp highp 3-component vector of int)
+0:280        vector swizzle ( temp highp 3-component vector of int)
+0:280          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:280            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280              Constant:
+0:280                0 (const int)
+0:280            Constant:
+0:280              1 (const int)
+0:280          Sequence
+0:280            Constant:
+0:280              0 (const int)
+0:280            Constant:
+0:280              1 (const int)
+0:280            Constant:
+0:280              2 (const int)
+0:280        subgroupExclusiveMax ( global highp 3-component vector of int)
+0:280          vector swizzle ( temp highp 3-component vector of int)
+0:280            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:280              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280                Constant:
+0:280                  2 (const int)
+0:280              Constant:
+0:280                1 (const int)
+0:280            Sequence
+0:280              Constant:
+0:280                0 (const int)
+0:280              Constant:
+0:280                1 (const int)
+0:280              Constant:
+0:280                2 (const int)
+0:281      move second child to first child ( temp highp 4-component vector of int)
+0:281        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:281          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281            Constant:
+0:281              0 (const int)
+0:281          Constant:
+0:281            1 (const int)
+0:281        subgroupExclusiveMax ( global highp 4-component vector of int)
+0:281          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:281            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281              Constant:
+0:281                3 (const int)
+0:281            Constant:
+0:281              1 (const int)
+0:283      move second child to first child ( temp highp uint)
+0:283        direct index ( temp highp uint)
+0:283          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:283            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283              Constant:
+0:283                1 (const int)
+0:283            Constant:
+0:283              2 (const int)
+0:283          Constant:
+0:283            0 (const int)
+0:283        subgroupExclusiveMax ( global highp uint)
+0:283          direct index ( temp highp uint)
+0:283            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:283              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283                Constant:
+0:283                  0 (const int)
+0:283              Constant:
+0:283                2 (const int)
+0:283            Constant:
+0:283              0 (const int)
+0:284      move second child to first child ( temp highp 2-component vector of uint)
+0:284        vector swizzle ( temp highp 2-component vector of uint)
+0:284          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:284            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:284              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:284              Constant:
+0:284                1 (const int)
+0:284            Constant:
+0:284              2 (const int)
+0:284          Sequence
+0:284            Constant:
+0:284              0 (const int)
+0:284            Constant:
+0:284              1 (const int)
+0:284        subgroupExclusiveMax ( global highp 2-component vector of uint)
+0:284          vector swizzle ( temp highp 2-component vector of uint)
+0:284            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:284              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:284                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:284                Constant:
+0:284                  1 (const int)
+0:284              Constant:
+0:284                2 (const int)
+0:284            Sequence
+0:284              Constant:
+0:284                0 (const int)
+0:284              Constant:
+0:284                1 (const int)
+0:285      move second child to first child ( temp highp 3-component vector of uint)
+0:285        vector swizzle ( temp highp 3-component vector of uint)
+0:285          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:285            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285              Constant:
+0:285                1 (const int)
+0:285            Constant:
+0:285              2 (const int)
+0:285          Sequence
+0:285            Constant:
+0:285              0 (const int)
+0:285            Constant:
+0:285              1 (const int)
+0:285            Constant:
+0:285              2 (const int)
+0:285        subgroupExclusiveMax ( global highp 3-component vector of uint)
+0:285          vector swizzle ( temp highp 3-component vector of uint)
+0:285            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:285              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285                Constant:
+0:285                  2 (const int)
+0:285              Constant:
+0:285                2 (const int)
+0:285            Sequence
+0:285              Constant:
+0:285                0 (const int)
+0:285              Constant:
+0:285                1 (const int)
+0:285              Constant:
+0:285                2 (const int)
+0:286      move second child to first child ( temp highp 4-component vector of uint)
+0:286        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:286          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286            Constant:
+0:286              1 (const int)
+0:286          Constant:
+0:286            2 (const int)
+0:286        subgroupExclusiveMax ( global highp 4-component vector of uint)
+0:286          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:286            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286              Constant:
+0:286                3 (const int)
+0:286            Constant:
+0:286              2 (const int)
+0:288      move second child to first child ( temp highp int)
+0:288        direct index ( temp highp int)
+0:288          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:288            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288              Constant:
+0:288                2 (const int)
+0:288            Constant:
+0:288              1 (const int)
+0:288          Constant:
+0:288            0 (const int)
+0:288        subgroupExclusiveAnd ( global highp int)
+0:288          direct index ( temp highp int)
+0:288            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:288              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288                Constant:
+0:288                  0 (const int)
+0:288              Constant:
+0:288                1 (const int)
+0:288            Constant:
+0:288              0 (const int)
+0:289      move second child to first child ( temp highp 2-component vector of int)
+0:289        vector swizzle ( temp highp 2-component vector of int)
+0:289          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:289            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:289              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:289              Constant:
+0:289                2 (const int)
+0:289            Constant:
+0:289              1 (const int)
+0:289          Sequence
+0:289            Constant:
+0:289              0 (const int)
+0:289            Constant:
+0:289              1 (const int)
+0:289        subgroupExclusiveAnd ( global highp 2-component vector of int)
+0:289          vector swizzle ( temp highp 2-component vector of int)
+0:289            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:289              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:289                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:289                Constant:
+0:289                  1 (const int)
+0:289              Constant:
+0:289                1 (const int)
+0:289            Sequence
+0:289              Constant:
+0:289                0 (const int)
+0:289              Constant:
+0:289                1 (const int)
+0:290      move second child to first child ( temp highp 3-component vector of int)
+0:290        vector swizzle ( temp highp 3-component vector of int)
+0:290          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:290            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290              Constant:
+0:290                2 (const int)
+0:290            Constant:
+0:290              1 (const int)
+0:290          Sequence
+0:290            Constant:
+0:290              0 (const int)
+0:290            Constant:
+0:290              1 (const int)
+0:290            Constant:
+0:290              2 (const int)
+0:290        subgroupExclusiveAnd ( global highp 3-component vector of int)
+0:290          vector swizzle ( temp highp 3-component vector of int)
+0:290            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:290              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290                Constant:
+0:290                  2 (const int)
+0:290              Constant:
+0:290                1 (const int)
+0:290            Sequence
+0:290              Constant:
+0:290                0 (const int)
+0:290              Constant:
+0:290                1 (const int)
+0:290              Constant:
+0:290                2 (const int)
+0:291      move second child to first child ( temp highp 4-component vector of int)
+0:291        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:291          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291            Constant:
+0:291              2 (const int)
+0:291          Constant:
+0:291            1 (const int)
+0:291        subgroupExclusiveAnd ( global highp 4-component vector of int)
+0:291          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:291            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291              Constant:
+0:291                3 (const int)
+0:291            Constant:
+0:291              1 (const int)
+0:293      move second child to first child ( temp highp uint)
+0:293        direct index ( temp highp uint)
+0:293          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:293            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293              Constant:
+0:293                3 (const int)
+0:293            Constant:
+0:293              2 (const int)
+0:293          Constant:
+0:293            0 (const int)
+0:293        subgroupExclusiveAnd ( global highp uint)
+0:293          direct index ( temp highp uint)
+0:293            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:293              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293                Constant:
+0:293                  0 (const int)
+0:293              Constant:
+0:293                2 (const int)
+0:293            Constant:
+0:293              0 (const int)
+0:294      move second child to first child ( temp highp 2-component vector of uint)
+0:294        vector swizzle ( temp highp 2-component vector of uint)
+0:294          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:294            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:294              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:294              Constant:
+0:294                3 (const int)
+0:294            Constant:
+0:294              2 (const int)
+0:294          Sequence
+0:294            Constant:
+0:294              0 (const int)
+0:294            Constant:
+0:294              1 (const int)
+0:294        subgroupExclusiveAnd ( global highp 2-component vector of uint)
+0:294          vector swizzle ( temp highp 2-component vector of uint)
+0:294            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:294              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:294                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:294                Constant:
+0:294                  1 (const int)
+0:294              Constant:
+0:294                2 (const int)
+0:294            Sequence
+0:294              Constant:
+0:294                0 (const int)
+0:294              Constant:
+0:294                1 (const int)
+0:295      move second child to first child ( temp highp 3-component vector of uint)
+0:295        vector swizzle ( temp highp 3-component vector of uint)
+0:295          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:295            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295              Constant:
+0:295                3 (const int)
+0:295            Constant:
+0:295              2 (const int)
+0:295          Sequence
+0:295            Constant:
+0:295              0 (const int)
+0:295            Constant:
+0:295              1 (const int)
+0:295            Constant:
+0:295              2 (const int)
+0:295        subgroupExclusiveAnd ( global highp 3-component vector of uint)
+0:295          vector swizzle ( temp highp 3-component vector of uint)
+0:295            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:295              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295                Constant:
+0:295                  2 (const int)
+0:295              Constant:
+0:295                2 (const int)
+0:295            Sequence
+0:295              Constant:
+0:295                0 (const int)
+0:295              Constant:
+0:295                1 (const int)
+0:295              Constant:
+0:295                2 (const int)
+0:296      move second child to first child ( temp highp 4-component vector of uint)
+0:296        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:296          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296            Constant:
+0:296              3 (const int)
+0:296          Constant:
+0:296            2 (const int)
+0:296        subgroupExclusiveAnd ( global highp 4-component vector of uint)
+0:296          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:296            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296              Constant:
+0:296                3 (const int)
+0:296            Constant:
+0:296              2 (const int)
+0:298      move second child to first child ( temp highp int)
+0:298        direct index ( temp highp int)
+0:298          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:298            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298              Constant:
+0:298                0 (const int)
+0:298            Constant:
+0:298              1 (const int)
+0:298          Constant:
+0:298            0 (const int)
+0:298        Convert bool to int ( temp highp int)
+0:298          subgroupExclusiveAnd ( global bool)
+0:298            Compare Less Than ( temp bool)
+0:298              direct index ( temp highp int)
+0:298                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:298                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298                    Constant:
+0:298                      0 (const int)
+0:298                  Constant:
+0:298                    1 (const int)
+0:298                Constant:
+0:298                  0 (const int)
+0:298              Constant:
+0:298                0 (const int)
+0:299      move second child to first child ( temp highp 2-component vector of int)
+0:299        vector swizzle ( temp highp 2-component vector of int)
+0:299          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:299            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:299              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:299              Constant:
+0:299                0 (const int)
+0:299            Constant:
+0:299              1 (const int)
+0:299          Sequence
+0:299            Constant:
+0:299              0 (const int)
+0:299            Constant:
+0:299              1 (const int)
+0:299        Convert bool to int ( temp highp 2-component vector of int)
+0:299          subgroupExclusiveAnd ( global 2-component vector of bool)
+0:299            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:299              vector swizzle ( temp highp 2-component vector of int)
+0:299                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:299                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:299                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:299                    Constant:
+0:299                      1 (const int)
+0:299                  Constant:
+0:299                    1 (const int)
+0:299                Sequence
+0:299                  Constant:
+0:299                    0 (const int)
+0:299                  Constant:
+0:299                    1 (const int)
+0:299              Constant:
+0:299                0 (const int)
+0:299                0 (const int)
+0:300      move second child to first child ( temp highp 3-component vector of int)
+0:300        vector swizzle ( temp highp 3-component vector of int)
+0:300          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:300            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300              Constant:
+0:300                0 (const int)
+0:300            Constant:
+0:300              1 (const int)
+0:300          Sequence
+0:300            Constant:
+0:300              0 (const int)
+0:300            Constant:
+0:300              1 (const int)
+0:300            Constant:
+0:300              2 (const int)
+0:300        Convert bool to int ( temp highp 3-component vector of int)
+0:300          subgroupExclusiveAnd ( global 3-component vector of bool)
+0:300            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:300              vector swizzle ( temp highp 3-component vector of int)
+0:300                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:300                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300                    Constant:
+0:300                      1 (const int)
+0:300                  Constant:
+0:300                    1 (const int)
+0:300                Sequence
+0:300                  Constant:
+0:300                    0 (const int)
+0:300                  Constant:
+0:300                    1 (const int)
+0:300                  Constant:
+0:300                    2 (const int)
+0:300              Constant:
+0:300                0 (const int)
+0:300                0 (const int)
+0:300                0 (const int)
+0:301      move second child to first child ( temp highp 4-component vector of int)
+0:301        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:301          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301            Constant:
+0:301              0 (const int)
+0:301          Constant:
+0:301            1 (const int)
+0:301        Convert bool to int ( temp highp 4-component vector of int)
+0:301          subgroupExclusiveAnd ( global 4-component vector of bool)
+0:301            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:301              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:301                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301                  Constant:
+0:301                    1 (const int)
+0:301                Constant:
+0:301                  1 (const int)
+0:301              Constant:
+0:301                0 (const int)
+0:301                0 (const int)
+0:301                0 (const int)
+0:301                0 (const int)
+0:303      move second child to first child ( temp highp int)
+0:303        direct index ( temp highp int)
+0:303          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:303            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303              Constant:
+0:303                1 (const int)
+0:303            Constant:
+0:303              1 (const int)
+0:303          Constant:
+0:303            0 (const int)
+0:303        subgroupExclusiveOr ( global highp int)
+0:303          direct index ( temp highp int)
+0:303            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:303              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303                Constant:
+0:303                  0 (const int)
+0:303              Constant:
+0:303                1 (const int)
+0:303            Constant:
+0:303              0 (const int)
+0:304      move second child to first child ( temp highp 2-component vector of int)
+0:304        vector swizzle ( temp highp 2-component vector of int)
+0:304          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:304            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:304              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:304              Constant:
+0:304                1 (const int)
+0:304            Constant:
+0:304              1 (const int)
+0:304          Sequence
+0:304            Constant:
+0:304              0 (const int)
+0:304            Constant:
+0:304              1 (const int)
+0:304        subgroupExclusiveOr ( global highp 2-component vector of int)
+0:304          vector swizzle ( temp highp 2-component vector of int)
+0:304            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:304              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:304                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:304                Constant:
+0:304                  1 (const int)
+0:304              Constant:
+0:304                1 (const int)
+0:304            Sequence
+0:304              Constant:
+0:304                0 (const int)
+0:304              Constant:
+0:304                1 (const int)
+0:305      move second child to first child ( temp highp 3-component vector of int)
+0:305        vector swizzle ( temp highp 3-component vector of int)
+0:305          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:305            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305              Constant:
+0:305                1 (const int)
+0:305            Constant:
+0:305              1 (const int)
+0:305          Sequence
+0:305            Constant:
+0:305              0 (const int)
+0:305            Constant:
+0:305              1 (const int)
+0:305            Constant:
+0:305              2 (const int)
+0:305        subgroupExclusiveOr ( global highp 3-component vector of int)
+0:305          vector swizzle ( temp highp 3-component vector of int)
+0:305            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:305              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305                Constant:
+0:305                  2 (const int)
+0:305              Constant:
+0:305                1 (const int)
+0:305            Sequence
+0:305              Constant:
+0:305                0 (const int)
+0:305              Constant:
+0:305                1 (const int)
+0:305              Constant:
+0:305                2 (const int)
+0:306      move second child to first child ( temp highp 4-component vector of int)
+0:306        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:306          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306            Constant:
+0:306              1 (const int)
+0:306          Constant:
+0:306            1 (const int)
+0:306        subgroupExclusiveOr ( global highp 4-component vector of int)
+0:306          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:306            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306              Constant:
+0:306                3 (const int)
+0:306            Constant:
+0:306              1 (const int)
+0:308      move second child to first child ( temp highp uint)
+0:308        direct index ( temp highp uint)
+0:308          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:308            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308              Constant:
+0:308                2 (const int)
+0:308            Constant:
+0:308              2 (const int)
+0:308          Constant:
+0:308            0 (const int)
+0:308        subgroupExclusiveOr ( global highp uint)
+0:308          direct index ( temp highp uint)
+0:308            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:308              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308                Constant:
+0:308                  0 (const int)
+0:308              Constant:
+0:308                2 (const int)
+0:308            Constant:
+0:308              0 (const int)
+0:309      move second child to first child ( temp highp 2-component vector of uint)
+0:309        vector swizzle ( temp highp 2-component vector of uint)
+0:309          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:309            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:309              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:309              Constant:
+0:309                2 (const int)
+0:309            Constant:
+0:309              2 (const int)
+0:309          Sequence
+0:309            Constant:
+0:309              0 (const int)
+0:309            Constant:
+0:309              1 (const int)
+0:309        subgroupExclusiveOr ( global highp 2-component vector of uint)
+0:309          vector swizzle ( temp highp 2-component vector of uint)
+0:309            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:309              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:309                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:309                Constant:
+0:309                  1 (const int)
+0:309              Constant:
+0:309                2 (const int)
+0:309            Sequence
+0:309              Constant:
+0:309                0 (const int)
+0:309              Constant:
+0:309                1 (const int)
+0:310      move second child to first child ( temp highp 3-component vector of uint)
+0:310        vector swizzle ( temp highp 3-component vector of uint)
+0:310          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:310            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310              Constant:
+0:310                2 (const int)
+0:310            Constant:
+0:310              2 (const int)
+0:310          Sequence
+0:310            Constant:
+0:310              0 (const int)
+0:310            Constant:
+0:310              1 (const int)
+0:310            Constant:
+0:310              2 (const int)
+0:310        subgroupExclusiveOr ( global highp 3-component vector of uint)
+0:310          vector swizzle ( temp highp 3-component vector of uint)
+0:310            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:310              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310                Constant:
+0:310                  2 (const int)
+0:310              Constant:
+0:310                2 (const int)
+0:310            Sequence
+0:310              Constant:
+0:310                0 (const int)
+0:310              Constant:
+0:310                1 (const int)
+0:310              Constant:
+0:310                2 (const int)
+0:311      move second child to first child ( temp highp 4-component vector of uint)
+0:311        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:311          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311            Constant:
+0:311              2 (const int)
+0:311          Constant:
+0:311            2 (const int)
+0:311        subgroupExclusiveOr ( global highp 4-component vector of uint)
+0:311          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:311            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311              Constant:
+0:311                3 (const int)
+0:311            Constant:
+0:311              2 (const int)
+0:313      move second child to first child ( temp highp int)
+0:313        direct index ( temp highp int)
+0:313          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:313            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313              Constant:
+0:313                3 (const int)
+0:313            Constant:
+0:313              1 (const int)
+0:313          Constant:
+0:313            0 (const int)
+0:313        Convert bool to int ( temp highp int)
+0:313          subgroupExclusiveOr ( global bool)
+0:313            Compare Less Than ( temp bool)
+0:313              direct index ( temp highp int)
+0:313                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:313                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313                    Constant:
+0:313                      0 (const int)
+0:313                  Constant:
+0:313                    1 (const int)
+0:313                Constant:
+0:313                  0 (const int)
+0:313              Constant:
+0:313                0 (const int)
+0:314      move second child to first child ( temp highp 2-component vector of int)
+0:314        vector swizzle ( temp highp 2-component vector of int)
+0:314          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:314            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:314              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:314              Constant:
+0:314                3 (const int)
+0:314            Constant:
+0:314              1 (const int)
+0:314          Sequence
+0:314            Constant:
+0:314              0 (const int)
+0:314            Constant:
+0:314              1 (const int)
+0:314        Convert bool to int ( temp highp 2-component vector of int)
+0:314          subgroupExclusiveOr ( global 2-component vector of bool)
+0:314            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:314              vector swizzle ( temp highp 2-component vector of int)
+0:314                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:314                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:314                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:314                    Constant:
+0:314                      1 (const int)
+0:314                  Constant:
+0:314                    1 (const int)
+0:314                Sequence
+0:314                  Constant:
+0:314                    0 (const int)
+0:314                  Constant:
+0:314                    1 (const int)
+0:314              Constant:
+0:314                0 (const int)
+0:314                0 (const int)
+0:315      move second child to first child ( temp highp 3-component vector of int)
+0:315        vector swizzle ( temp highp 3-component vector of int)
+0:315          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:315            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315              Constant:
+0:315                3 (const int)
+0:315            Constant:
+0:315              1 (const int)
+0:315          Sequence
+0:315            Constant:
+0:315              0 (const int)
+0:315            Constant:
+0:315              1 (const int)
+0:315            Constant:
+0:315              2 (const int)
+0:315        Convert bool to int ( temp highp 3-component vector of int)
+0:315          subgroupExclusiveOr ( global 3-component vector of bool)
+0:315            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:315              vector swizzle ( temp highp 3-component vector of int)
+0:315                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:315                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315                    Constant:
+0:315                      1 (const int)
+0:315                  Constant:
+0:315                    1 (const int)
+0:315                Sequence
+0:315                  Constant:
+0:315                    0 (const int)
+0:315                  Constant:
+0:315                    1 (const int)
+0:315                  Constant:
+0:315                    2 (const int)
+0:315              Constant:
+0:315                0 (const int)
+0:315                0 (const int)
+0:315                0 (const int)
+0:316      move second child to first child ( temp highp 4-component vector of int)
+0:316        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:316          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316            Constant:
+0:316              3 (const int)
+0:316          Constant:
+0:316            1 (const int)
+0:316        Convert bool to int ( temp highp 4-component vector of int)
+0:316          subgroupExclusiveOr ( global 4-component vector of bool)
+0:316            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:316              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:316                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316                  Constant:
+0:316                    1 (const int)
+0:316                Constant:
+0:316                  1 (const int)
+0:316              Constant:
+0:316                0 (const int)
+0:316                0 (const int)
+0:316                0 (const int)
+0:316                0 (const int)
+0:318      move second child to first child ( temp highp int)
+0:318        direct index ( temp highp int)
+0:318          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:318            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318              Constant:
+0:318                0 (const int)
+0:318            Constant:
+0:318              1 (const int)
+0:318          Constant:
+0:318            0 (const int)
+0:318        subgroupExclusiveXor ( global highp int)
+0:318          direct index ( temp highp int)
+0:318            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:318              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318                Constant:
+0:318                  0 (const int)
+0:318              Constant:
+0:318                1 (const int)
+0:318            Constant:
+0:318              0 (const int)
+0:319      move second child to first child ( temp highp 2-component vector of int)
+0:319        vector swizzle ( temp highp 2-component vector of int)
+0:319          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:319            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:319              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:319              Constant:
+0:319                0 (const int)
+0:319            Constant:
+0:319              1 (const int)
+0:319          Sequence
+0:319            Constant:
+0:319              0 (const int)
+0:319            Constant:
+0:319              1 (const int)
+0:319        subgroupExclusiveXor ( global highp 2-component vector of int)
+0:319          vector swizzle ( temp highp 2-component vector of int)
+0:319            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:319              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:319                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:319                Constant:
+0:319                  1 (const int)
+0:319              Constant:
+0:319                1 (const int)
+0:319            Sequence
+0:319              Constant:
+0:319                0 (const int)
+0:319              Constant:
+0:319                1 (const int)
+0:320      move second child to first child ( temp highp 3-component vector of int)
+0:320        vector swizzle ( temp highp 3-component vector of int)
+0:320          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:320            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320              Constant:
+0:320                0 (const int)
+0:320            Constant:
+0:320              1 (const int)
+0:320          Sequence
+0:320            Constant:
+0:320              0 (const int)
+0:320            Constant:
+0:320              1 (const int)
+0:320            Constant:
+0:320              2 (const int)
+0:320        subgroupExclusiveXor ( global highp 3-component vector of int)
+0:320          vector swizzle ( temp highp 3-component vector of int)
+0:320            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:320              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320                Constant:
+0:320                  2 (const int)
+0:320              Constant:
+0:320                1 (const int)
+0:320            Sequence
+0:320              Constant:
+0:320                0 (const int)
+0:320              Constant:
+0:320                1 (const int)
+0:320              Constant:
+0:320                2 (const int)
+0:321      move second child to first child ( temp highp 4-component vector of int)
+0:321        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:321          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321            Constant:
+0:321              0 (const int)
+0:321          Constant:
+0:321            1 (const int)
+0:321        subgroupExclusiveXor ( global highp 4-component vector of int)
+0:321          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:321            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321              Constant:
+0:321                3 (const int)
+0:321            Constant:
+0:321              1 (const int)
+0:323      move second child to first child ( temp highp uint)
+0:323        direct index ( temp highp uint)
+0:323          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:323            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323              Constant:
+0:323                1 (const int)
+0:323            Constant:
+0:323              2 (const int)
+0:323          Constant:
+0:323            0 (const int)
+0:323        subgroupExclusiveXor ( global highp uint)
+0:323          direct index ( temp highp uint)
+0:323            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:323              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323                Constant:
+0:323                  0 (const int)
+0:323              Constant:
+0:323                2 (const int)
+0:323            Constant:
+0:323              0 (const int)
+0:324      move second child to first child ( temp highp 2-component vector of uint)
+0:324        vector swizzle ( temp highp 2-component vector of uint)
+0:324          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:324            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:324              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:324              Constant:
+0:324                1 (const int)
+0:324            Constant:
+0:324              2 (const int)
+0:324          Sequence
+0:324            Constant:
+0:324              0 (const int)
+0:324            Constant:
+0:324              1 (const int)
+0:324        subgroupExclusiveXor ( global highp 2-component vector of uint)
+0:324          vector swizzle ( temp highp 2-component vector of uint)
+0:324            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:324              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:324                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:324                Constant:
+0:324                  1 (const int)
+0:324              Constant:
+0:324                2 (const int)
+0:324            Sequence
+0:324              Constant:
+0:324                0 (const int)
+0:324              Constant:
+0:324                1 (const int)
+0:325      move second child to first child ( temp highp 3-component vector of uint)
+0:325        vector swizzle ( temp highp 3-component vector of uint)
+0:325          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:325            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325              Constant:
+0:325                1 (const int)
+0:325            Constant:
+0:325              2 (const int)
+0:325          Sequence
+0:325            Constant:
+0:325              0 (const int)
+0:325            Constant:
+0:325              1 (const int)
+0:325            Constant:
+0:325              2 (const int)
+0:325        subgroupExclusiveXor ( global highp 3-component vector of uint)
+0:325          vector swizzle ( temp highp 3-component vector of uint)
+0:325            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:325              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325                Constant:
+0:325                  2 (const int)
+0:325              Constant:
+0:325                2 (const int)
+0:325            Sequence
+0:325              Constant:
+0:325                0 (const int)
+0:325              Constant:
+0:325                1 (const int)
+0:325              Constant:
+0:325                2 (const int)
+0:326      move second child to first child ( temp highp 4-component vector of uint)
+0:326        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:326          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326            Constant:
+0:326              1 (const int)
+0:326          Constant:
+0:326            2 (const int)
+0:326        subgroupExclusiveXor ( global highp 4-component vector of uint)
+0:326          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:326            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326              Constant:
+0:326                3 (const int)
+0:326            Constant:
+0:326              2 (const int)
+0:328      move second child to first child ( temp highp int)
+0:328        direct index ( temp highp int)
+0:328          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:328            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328              Constant:
+0:328                2 (const int)
+0:328            Constant:
+0:328              1 (const int)
+0:328          Constant:
+0:328            0 (const int)
+0:328        Convert bool to int ( temp highp int)
+0:328          subgroupExclusiveXor ( global bool)
+0:328            Compare Less Than ( temp bool)
+0:328              direct index ( temp highp int)
+0:328                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:328                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328                    Constant:
+0:328                      0 (const int)
+0:328                  Constant:
+0:328                    1 (const int)
+0:328                Constant:
+0:328                  0 (const int)
+0:328              Constant:
+0:328                0 (const int)
+0:329      move second child to first child ( temp highp 2-component vector of int)
+0:329        vector swizzle ( temp highp 2-component vector of int)
+0:329          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:329            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:329              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:329              Constant:
+0:329                2 (const int)
+0:329            Constant:
+0:329              1 (const int)
+0:329          Sequence
+0:329            Constant:
+0:329              0 (const int)
+0:329            Constant:
+0:329              1 (const int)
+0:329        Convert bool to int ( temp highp 2-component vector of int)
+0:329          subgroupExclusiveXor ( global 2-component vector of bool)
+0:329            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:329              vector swizzle ( temp highp 2-component vector of int)
+0:329                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:329                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:329                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:329                    Constant:
+0:329                      1 (const int)
+0:329                  Constant:
+0:329                    1 (const int)
+0:329                Sequence
+0:329                  Constant:
+0:329                    0 (const int)
+0:329                  Constant:
+0:329                    1 (const int)
+0:329              Constant:
+0:329                0 (const int)
+0:329                0 (const int)
+0:330      move second child to first child ( temp highp 3-component vector of int)
+0:330        vector swizzle ( temp highp 3-component vector of int)
+0:330          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:330            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330              Constant:
+0:330                2 (const int)
+0:330            Constant:
+0:330              1 (const int)
+0:330          Sequence
+0:330            Constant:
+0:330              0 (const int)
+0:330            Constant:
+0:330              1 (const int)
+0:330            Constant:
+0:330              2 (const int)
+0:330        Convert bool to int ( temp highp 3-component vector of int)
+0:330          subgroupExclusiveXor ( global 3-component vector of bool)
+0:330            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:330              vector swizzle ( temp highp 3-component vector of int)
+0:330                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:330                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330                    Constant:
+0:330                      1 (const int)
+0:330                  Constant:
+0:330                    1 (const int)
+0:330                Sequence
+0:330                  Constant:
+0:330                    0 (const int)
+0:330                  Constant:
+0:330                    1 (const int)
+0:330                  Constant:
+0:330                    2 (const int)
+0:330              Constant:
+0:330                0 (const int)
+0:330                0 (const int)
+0:330                0 (const int)
+0:331      move second child to first child ( temp highp 4-component vector of int)
+0:331        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:331          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331            Constant:
+0:331              2 (const int)
+0:331          Constant:
+0:331            1 (const int)
+0:331        Convert bool to int ( temp highp 4-component vector of int)
+0:331          subgroupExclusiveXor ( global 4-component vector of bool)
+0:331            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:331              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:331                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331                  Constant:
+0:331                    1 (const int)
+0:331                Constant:
+0:331                  1 (const int)
+0:331              Constant:
+0:331                0 (const int)
+0:331                0 (const int)
+0:331                0 (const int)
+0:331                0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
diff --git a/Test/baseResults/glsl.es320.subgroupBallot.comp.out b/Test/baseResults/glsl.es320.subgroupBallot.comp.out
new file mode 100644
index 0000000..927debf
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupBallot.comp.out
@@ -0,0 +1,1981 @@
+glsl.es320.subgroupBallot.comp
+Shader version: 320
+Requested GL_KHR_shader_subgroup_ballot
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      Sequence
+0:18        move second child to first child ( temp highp 4-component vector of uint)
+0:18          'relMask' ( temp highp 4-component vector of uint)
+0:21          add ( temp highp 4-component vector of uint)
+0:20            add ( temp highp 4-component vector of uint)
+0:19              add ( temp highp 4-component vector of uint)
+0:18                add ( temp highp 4-component vector of uint)
+0:18                  'gl_SubgroupEqMask' ( in highp 4-component vector of uint unknown built-in variable)
+0:19                  'gl_SubgroupGeMask' ( in highp 4-component vector of uint unknown built-in variable)
+0:20                'gl_SubgroupGtMask' ( in highp 4-component vector of uint unknown built-in variable)
+0:21              'gl_SubgroupLeMask' ( in highp 4-component vector of uint unknown built-in variable)
+0:22            'gl_SubgroupLtMask' ( in highp 4-component vector of uint unknown built-in variable)
+0:24      Sequence
+0:24        move second child to first child ( temp highp 4-component vector of uint)
+0:24          'result' ( temp highp 4-component vector of uint)
+0:24          subgroupBallot ( global highp 4-component vector of uint)
+0:24            Constant:
+0:24              true (const bool)
+0:26      move second child to first child ( temp highp uint)
+0:26        direct index ( temp highp uint)
+0:26          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Constant:
+0:26            0 (const int)
+0:26        subgroupBallotBitCount ( global highp uint)
+0:26          'result' ( temp highp 4-component vector of uint)
+0:27      move second child to first child ( temp highp uint)
+0:27        direct index ( temp highp uint)
+0:27          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27              Constant:
+0:27                0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Constant:
+0:27            1 (const int)
+0:27        Test condition and select ( temp highp uint)
+0:27          Condition
+0:27          subgroupBallotBitExtract ( global bool, operation at highp)
+0:27            'result' ( temp highp 4-component vector of uint)
+0:27            Constant:
+0:27              0 (const uint)
+0:27          true case
+0:27          Constant:
+0:27            1 (const uint)
+0:27          false case
+0:27          Constant:
+0:27            0 (const uint)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            2 (const int)
+0:28        add ( temp highp uint)
+0:28          subgroupBallotInclusiveBitCount ( global highp uint)
+0:28            'result' ( temp highp 4-component vector of uint)
+0:28          subgroupBallotExclusiveBitCount ( global highp uint)
+0:28            'result' ( temp highp 4-component vector of uint)
+0:29      move second child to first child ( temp highp uint)
+0:29        direct index ( temp highp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                0 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        add ( temp highp uint)
+0:29          subgroupBallotFindLSB ( global highp uint)
+0:29            'result' ( temp highp 4-component vector of uint)
+0:29          subgroupBallotFindMSB ( global highp uint)
+0:29            'result' ( temp highp 4-component vector of uint)
+0:31      Test condition and select ( temp void)
+0:31        Condition
+0:31        logical-and ( temp bool)
+0:31          Compare Equal ( temp bool)
+0:31            'relMask' ( temp highp 4-component vector of uint)
+0:31            'result' ( temp highp 4-component vector of uint)
+0:31          subgroupInverseBallot ( global bool, operation at highp)
+0:31            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31        true case
+0:33        Sequence
+0:33          move second child to first child ( temp highp float)
+0:33            direct index ( temp highp float)
+0:33              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                  Constant:
+0:33                    1 (const int)
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            subgroupBroadcast ( global highp float)
+0:33              direct index ( temp highp float)
+0:33                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                  Constant:
+0:33                    0 (const int)
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                3 (const uint)
+0:34          move second child to first child ( temp highp 2-component vector of float)
+0:34            vector swizzle ( temp highp 2-component vector of float)
+0:34              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                  Constant:
+0:34                    1 (const int)
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Sequence
+0:34                Constant:
+0:34                  0 (const int)
+0:34                Constant:
+0:34                  1 (const int)
+0:34            subgroupBroadcast ( global highp 2-component vector of float)
+0:34              vector swizzle ( temp highp 2-component vector of float)
+0:34                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    Constant:
+0:34                      1 (const int)
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                Sequence
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34              Constant:
+0:34                3 (const uint)
+0:35          move second child to first child ( temp highp 3-component vector of float)
+0:35            vector swizzle ( temp highp 3-component vector of float)
+0:35              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                Constant:
+0:35                  0 (const int)
+0:35              Sequence
+0:35                Constant:
+0:35                  0 (const int)
+0:35                Constant:
+0:35                  1 (const int)
+0:35                Constant:
+0:35                  2 (const int)
+0:35            subgroupBroadcast ( global highp 3-component vector of float)
+0:35              vector swizzle ( temp highp 3-component vector of float)
+0:35                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    Constant:
+0:35                      2 (const int)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                Sequence
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                  Constant:
+0:35                    2 (const int)
+0:35              Constant:
+0:35                3 (const uint)
+0:36          move second child to first child ( temp highp 4-component vector of float)
+0:36            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                Constant:
+0:36                  1 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36            subgroupBroadcast ( global highp 4-component vector of float)
+0:36              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  Constant:
+0:36                    3 (const int)
+0:36                Constant:
+0:36                  0 (const int)
+0:36              Constant:
+0:36                3 (const uint)
+0:38          move second child to first child ( temp highp int)
+0:38            direct index ( temp highp int)
+0:38              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                  Constant:
+0:38                    2 (const int)
+0:38                Constant:
+0:38                  1 (const int)
+0:38              Constant:
+0:38                0 (const int)
+0:38            subgroupBroadcast ( global highp int)
+0:38              direct index ( temp highp int)
+0:38                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                    Constant:
+0:38                      0 (const int)
+0:38                  Constant:
+0:38                    1 (const int)
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                2 (const uint)
+0:39          move second child to first child ( temp highp 2-component vector of int)
+0:39            vector swizzle ( temp highp 2-component vector of int)
+0:39              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                  Constant:
+0:39                    2 (const int)
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Sequence
+0:39                Constant:
+0:39                  0 (const int)
+0:39                Constant:
+0:39                  1 (const int)
+0:39            subgroupBroadcast ( global highp 2-component vector of int)
+0:39              vector swizzle ( temp highp 2-component vector of int)
+0:39                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                    Constant:
+0:39                      1 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Sequence
+0:39                  Constant:
+0:39                    0 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39              Constant:
+0:39                2 (const uint)
+0:40          move second child to first child ( temp highp 3-component vector of int)
+0:40            vector swizzle ( temp highp 3-component vector of int)
+0:40              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                  Constant:
+0:40                    2 (const int)
+0:40                Constant:
+0:40                  1 (const int)
+0:40              Sequence
+0:40                Constant:
+0:40                  0 (const int)
+0:40                Constant:
+0:40                  1 (const int)
+0:40                Constant:
+0:40                  2 (const int)
+0:40            subgroupBroadcast ( global highp 3-component vector of int)
+0:40              vector swizzle ( temp highp 3-component vector of int)
+0:40                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                    Constant:
+0:40                      2 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Sequence
+0:40                  Constant:
+0:40                    0 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                  Constant:
+0:40                    2 (const int)
+0:40              Constant:
+0:40                2 (const uint)
+0:41          move second child to first child ( temp highp 4-component vector of int)
+0:41            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                Constant:
+0:41                  2 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41            subgroupBroadcast ( global highp 4-component vector of int)
+0:41              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                  Constant:
+0:41                    3 (const int)
+0:41                Constant:
+0:41                  1 (const int)
+0:41              Constant:
+0:41                2 (const uint)
+0:43          move second child to first child ( temp highp uint)
+0:43            direct index ( temp highp uint)
+0:43              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                  Constant:
+0:43                    3 (const int)
+0:43                Constant:
+0:43                  2 (const int)
+0:43              Constant:
+0:43                0 (const int)
+0:43            subgroupBroadcast ( global highp uint)
+0:43              direct index ( temp highp uint)
+0:43                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                    Constant:
+0:43                      0 (const int)
+0:43                  Constant:
+0:43                    2 (const int)
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                1 (const uint)
+0:44          move second child to first child ( temp highp 2-component vector of uint)
+0:44            vector swizzle ( temp highp 2-component vector of uint)
+0:44              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                  Constant:
+0:44                    3 (const int)
+0:44                Constant:
+0:44                  2 (const int)
+0:44              Sequence
+0:44                Constant:
+0:44                  0 (const int)
+0:44                Constant:
+0:44                  1 (const int)
+0:44            subgroupBroadcast ( global highp 2-component vector of uint)
+0:44              vector swizzle ( temp highp 2-component vector of uint)
+0:44                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                    Constant:
+0:44                      1 (const int)
+0:44                  Constant:
+0:44                    2 (const int)
+0:44                Sequence
+0:44                  Constant:
+0:44                    0 (const int)
+0:44                  Constant:
+0:44                    1 (const int)
+0:44              Constant:
+0:44                1 (const uint)
+0:45          move second child to first child ( temp highp 3-component vector of uint)
+0:45            vector swizzle ( temp highp 3-component vector of uint)
+0:45              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                  Constant:
+0:45                    3 (const int)
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Sequence
+0:45                Constant:
+0:45                  0 (const int)
+0:45                Constant:
+0:45                  1 (const int)
+0:45                Constant:
+0:45                  2 (const int)
+0:45            subgroupBroadcast ( global highp 3-component vector of uint)
+0:45              vector swizzle ( temp highp 3-component vector of uint)
+0:45                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                    Constant:
+0:45                      2 (const int)
+0:45                  Constant:
+0:45                    2 (const int)
+0:45                Sequence
+0:45                  Constant:
+0:45                    0 (const int)
+0:45                  Constant:
+0:45                    1 (const int)
+0:45                  Constant:
+0:45                    2 (const int)
+0:45              Constant:
+0:45                1 (const uint)
+0:46          move second child to first child ( temp highp 4-component vector of uint)
+0:46            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                Constant:
+0:46                  3 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46            subgroupBroadcast ( global highp 4-component vector of uint)
+0:46              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                  Constant:
+0:46                    3 (const int)
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                1 (const uint)
+0:48          move second child to first child ( temp highp int)
+0:48            direct index ( temp highp int)
+0:48              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:48                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                  Constant:
+0:48                    0 (const int)
+0:48                Constant:
+0:48                  1 (const int)
+0:48              Constant:
+0:48                0 (const int)
+0:48            Convert bool to int ( temp highp int)
+0:48              subgroupBroadcast ( global bool)
+0:48                Compare Less Than ( temp bool)
+0:48                  direct index ( temp highp int)
+0:48                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:48                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                        Constant:
+0:48                          0 (const int)
+0:48                      Constant:
+0:48                        1 (const int)
+0:48                    Constant:
+0:48                      0 (const int)
+0:48                  Constant:
+0:48                    0 (const int)
+0:48                Constant:
+0:48                  1 (const uint)
+0:49          move second child to first child ( temp highp 2-component vector of int)
+0:49            vector swizzle ( temp highp 2-component vector of int)
+0:49              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:49                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                  Constant:
+0:49                    0 (const int)
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Sequence
+0:49                Constant:
+0:49                  0 (const int)
+0:49                Constant:
+0:49                  1 (const int)
+0:49            Convert bool to int ( temp highp 2-component vector of int)
+0:49              subgroupBroadcast ( global 2-component vector of bool)
+0:49                Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:49                  vector swizzle ( temp highp 2-component vector of int)
+0:49                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:49                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                        Constant:
+0:49                          1 (const int)
+0:49                      Constant:
+0:49                        1 (const int)
+0:49                    Sequence
+0:49                      Constant:
+0:49                        0 (const int)
+0:49                      Constant:
+0:49                        1 (const int)
+0:49                  Constant:
+0:49                    0 (const int)
+0:49                    0 (const int)
+0:49                Constant:
+0:49                  1 (const uint)
+0:50          move second child to first child ( temp highp 3-component vector of int)
+0:50            vector swizzle ( temp highp 3-component vector of int)
+0:50              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:50                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                  Constant:
+0:50                    0 (const int)
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Sequence
+0:50                Constant:
+0:50                  0 (const int)
+0:50                Constant:
+0:50                  1 (const int)
+0:50                Constant:
+0:50                  2 (const int)
+0:50            Convert bool to int ( temp highp 3-component vector of int)
+0:50              subgroupBroadcast ( global 3-component vector of bool)
+0:50                Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:50                  vector swizzle ( temp highp 3-component vector of int)
+0:50                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:50                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                        Constant:
+0:50                          1 (const int)
+0:50                      Constant:
+0:50                        1 (const int)
+0:50                    Sequence
+0:50                      Constant:
+0:50                        0 (const int)
+0:50                      Constant:
+0:50                        1 (const int)
+0:50                      Constant:
+0:50                        2 (const int)
+0:50                  Constant:
+0:50                    0 (const int)
+0:50                    0 (const int)
+0:50                    0 (const int)
+0:50                Constant:
+0:50                  1 (const uint)
+0:51          move second child to first child ( temp highp 4-component vector of int)
+0:51            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                Constant:
+0:51                  0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51            Convert bool to int ( temp highp 4-component vector of int)
+0:51              subgroupBroadcast ( global 4-component vector of bool)
+0:51                Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:51                  i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:51                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                      Constant:
+0:51                        1 (const int)
+0:51                    Constant:
+0:51                      1 (const int)
+0:51                  Constant:
+0:51                    0 (const int)
+0:51                    0 (const int)
+0:51                    0 (const int)
+0:51                    0 (const int)
+0:51                Constant:
+0:51                  1 (const uint)
+0:31        false case
+0:55        Sequence
+0:55          move second child to first child ( temp highp float)
+0:55            direct index ( temp highp float)
+0:55              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:55                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                Constant:
+0:55                  0 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55            subgroupBroadcastFirst ( global highp float)
+0:55              direct index ( temp highp float)
+0:55                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:55                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    Constant:
+0:55                      0 (const int)
+0:55                  Constant:
+0:55                    0 (const int)
+0:55                Constant:
+0:55                  0 (const int)
+0:56          move second child to first child ( temp highp 2-component vector of float)
+0:56            vector swizzle ( temp highp 2-component vector of float)
+0:56              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:56                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  Constant:
+0:56                    1 (const int)
+0:56                Constant:
+0:56                  0 (const int)
+0:56              Sequence
+0:56                Constant:
+0:56                  0 (const int)
+0:56                Constant:
+0:56                  1 (const int)
+0:56            subgroupBroadcastFirst ( global highp 2-component vector of float)
+0:56              vector swizzle ( temp highp 2-component vector of float)
+0:56                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:56                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                    Constant:
+0:56                      1 (const int)
+0:56                  Constant:
+0:56                    0 (const int)
+0:56                Sequence
+0:56                  Constant:
+0:56                    0 (const int)
+0:56                  Constant:
+0:56                    1 (const int)
+0:57          move second child to first child ( temp highp 3-component vector of float)
+0:57            vector swizzle ( temp highp 3-component vector of float)
+0:57              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:57                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                  Constant:
+0:57                    1 (const int)
+0:57                Constant:
+0:57                  0 (const int)
+0:57              Sequence
+0:57                Constant:
+0:57                  0 (const int)
+0:57                Constant:
+0:57                  1 (const int)
+0:57                Constant:
+0:57                  2 (const int)
+0:57            subgroupBroadcastFirst ( global highp 3-component vector of float)
+0:57              vector swizzle ( temp highp 3-component vector of float)
+0:57                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:57                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                    Constant:
+0:57                      2 (const int)
+0:57                  Constant:
+0:57                    0 (const int)
+0:57                Sequence
+0:57                  Constant:
+0:57                    0 (const int)
+0:57                  Constant:
+0:57                    1 (const int)
+0:57                  Constant:
+0:57                    2 (const int)
+0:58          move second child to first child ( temp highp 4-component vector of float)
+0:58            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                Constant:
+0:58                  1 (const int)
+0:58              Constant:
+0:58                0 (const int)
+0:58            subgroupBroadcastFirst ( global highp 4-component vector of float)
+0:58              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                  Constant:
+0:58                    3 (const int)
+0:58                Constant:
+0:58                  0 (const int)
+0:60          move second child to first child ( temp highp int)
+0:60            direct index ( temp highp int)
+0:60              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:60                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                  Constant:
+0:60                    2 (const int)
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                0 (const int)
+0:60            subgroupBroadcastFirst ( global highp int)
+0:60              direct index ( temp highp int)
+0:60                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:60                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                    Constant:
+0:60                      0 (const int)
+0:60                  Constant:
+0:60                    1 (const int)
+0:60                Constant:
+0:60                  0 (const int)
+0:61          move second child to first child ( temp highp 2-component vector of int)
+0:61            vector swizzle ( temp highp 2-component vector of int)
+0:61              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:61                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                  Constant:
+0:61                    2 (const int)
+0:61                Constant:
+0:61                  1 (const int)
+0:61              Sequence
+0:61                Constant:
+0:61                  0 (const int)
+0:61                Constant:
+0:61                  1 (const int)
+0:61            subgroupBroadcastFirst ( global highp 2-component vector of int)
+0:61              vector swizzle ( temp highp 2-component vector of int)
+0:61                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:61                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                    Constant:
+0:61                      1 (const int)
+0:61                  Constant:
+0:61                    1 (const int)
+0:61                Sequence
+0:61                  Constant:
+0:61                    0 (const int)
+0:61                  Constant:
+0:61                    1 (const int)
+0:62          move second child to first child ( temp highp 3-component vector of int)
+0:62            vector swizzle ( temp highp 3-component vector of int)
+0:62              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:62                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                  Constant:
+0:62                    2 (const int)
+0:62                Constant:
+0:62                  1 (const int)
+0:62              Sequence
+0:62                Constant:
+0:62                  0 (const int)
+0:62                Constant:
+0:62                  1 (const int)
+0:62                Constant:
+0:62                  2 (const int)
+0:62            subgroupBroadcastFirst ( global highp 3-component vector of int)
+0:62              vector swizzle ( temp highp 3-component vector of int)
+0:62                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:62                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                    Constant:
+0:62                      2 (const int)
+0:62                  Constant:
+0:62                    1 (const int)
+0:62                Sequence
+0:62                  Constant:
+0:62                    0 (const int)
+0:62                  Constant:
+0:62                    1 (const int)
+0:62                  Constant:
+0:62                    2 (const int)
+0:63          move second child to first child ( temp highp 4-component vector of int)
+0:63            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                Constant:
+0:63                  2 (const int)
+0:63              Constant:
+0:63                1 (const int)
+0:63            subgroupBroadcastFirst ( global highp 4-component vector of int)
+0:63              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                  Constant:
+0:63                    3 (const int)
+0:63                Constant:
+0:63                  1 (const int)
+0:65          move second child to first child ( temp highp uint)
+0:65            direct index ( temp highp uint)
+0:65              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:65                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                  Constant:
+0:65                    3 (const int)
+0:65                Constant:
+0:65                  2 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65            subgroupBroadcastFirst ( global highp uint)
+0:65              direct index ( temp highp uint)
+0:65                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:65                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                    Constant:
+0:65                      0 (const int)
+0:65                  Constant:
+0:65                    2 (const int)
+0:65                Constant:
+0:65                  0 (const int)
+0:66          move second child to first child ( temp highp 2-component vector of uint)
+0:66            vector swizzle ( temp highp 2-component vector of uint)
+0:66              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:66                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                  Constant:
+0:66                    3 (const int)
+0:66                Constant:
+0:66                  2 (const int)
+0:66              Sequence
+0:66                Constant:
+0:66                  0 (const int)
+0:66                Constant:
+0:66                  1 (const int)
+0:66            subgroupBroadcastFirst ( global highp 2-component vector of uint)
+0:66              vector swizzle ( temp highp 2-component vector of uint)
+0:66                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:66                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                    Constant:
+0:66                      1 (const int)
+0:66                  Constant:
+0:66                    2 (const int)
+0:66                Sequence
+0:66                  Constant:
+0:66                    0 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:67          move second child to first child ( temp highp 3-component vector of uint)
+0:67            vector swizzle ( temp highp 3-component vector of uint)
+0:67              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:67                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                  Constant:
+0:67                    3 (const int)
+0:67                Constant:
+0:67                  2 (const int)
+0:67              Sequence
+0:67                Constant:
+0:67                  0 (const int)
+0:67                Constant:
+0:67                  1 (const int)
+0:67                Constant:
+0:67                  2 (const int)
+0:67            subgroupBroadcastFirst ( global highp 3-component vector of uint)
+0:67              vector swizzle ( temp highp 3-component vector of uint)
+0:67                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:67                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                    Constant:
+0:67                      2 (const int)
+0:67                  Constant:
+0:67                    2 (const int)
+0:67                Sequence
+0:67                  Constant:
+0:67                    0 (const int)
+0:67                  Constant:
+0:67                    1 (const int)
+0:67                  Constant:
+0:67                    2 (const int)
+0:68          move second child to first child ( temp highp 4-component vector of uint)
+0:68            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                Constant:
+0:68                  3 (const int)
+0:68              Constant:
+0:68                2 (const int)
+0:68            subgroupBroadcastFirst ( global highp 4-component vector of uint)
+0:68              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                  Constant:
+0:68                    3 (const int)
+0:68                Constant:
+0:68                  2 (const int)
+0:70          move second child to first child ( temp highp int)
+0:70            direct index ( temp highp int)
+0:70              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                  Constant:
+0:70                    0 (const int)
+0:70                Constant:
+0:70                  1 (const int)
+0:70              Constant:
+0:70                0 (const int)
+0:70            Convert bool to int ( temp highp int)
+0:70              subgroupBroadcastFirst ( global bool)
+0:70                Compare Less Than ( temp bool)
+0:70                  direct index ( temp highp int)
+0:70                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                        Constant:
+0:70                          0 (const int)
+0:70                      Constant:
+0:70                        1 (const int)
+0:70                    Constant:
+0:70                      0 (const int)
+0:70                  Constant:
+0:70                    0 (const int)
+0:71          move second child to first child ( temp highp 2-component vector of int)
+0:71            vector swizzle ( temp highp 2-component vector of int)
+0:71              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                  Constant:
+0:71                    0 (const int)
+0:71                Constant:
+0:71                  1 (const int)
+0:71              Sequence
+0:71                Constant:
+0:71                  0 (const int)
+0:71                Constant:
+0:71                  1 (const int)
+0:71            Convert bool to int ( temp highp 2-component vector of int)
+0:71              subgroupBroadcastFirst ( global 2-component vector of bool)
+0:71                Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:71                  vector swizzle ( temp highp 2-component vector of int)
+0:71                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                        Constant:
+0:71                          1 (const int)
+0:71                      Constant:
+0:71                        1 (const int)
+0:71                    Sequence
+0:71                      Constant:
+0:71                        0 (const int)
+0:71                      Constant:
+0:71                        1 (const int)
+0:71                  Constant:
+0:71                    0 (const int)
+0:71                    0 (const int)
+0:72          move second child to first child ( temp highp 3-component vector of int)
+0:72            vector swizzle ( temp highp 3-component vector of int)
+0:72              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:72                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                  Constant:
+0:72                    0 (const int)
+0:72                Constant:
+0:72                  1 (const int)
+0:72              Sequence
+0:72                Constant:
+0:72                  0 (const int)
+0:72                Constant:
+0:72                  1 (const int)
+0:72                Constant:
+0:72                  2 (const int)
+0:72            Convert bool to int ( temp highp 3-component vector of int)
+0:72              subgroupBroadcastFirst ( global 3-component vector of bool)
+0:72                Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:72                  vector swizzle ( temp highp 3-component vector of int)
+0:72                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:72                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                        Constant:
+0:72                          1 (const int)
+0:72                      Constant:
+0:72                        1 (const int)
+0:72                    Sequence
+0:72                      Constant:
+0:72                        0 (const int)
+0:72                      Constant:
+0:72                        1 (const int)
+0:72                      Constant:
+0:72                        2 (const int)
+0:72                  Constant:
+0:72                    0 (const int)
+0:72                    0 (const int)
+0:72                    0 (const int)
+0:73          move second child to first child ( temp highp 4-component vector of int)
+0:73            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:73              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                Constant:
+0:73                  0 (const int)
+0:73              Constant:
+0:73                1 (const int)
+0:73            Convert bool to int ( temp highp 4-component vector of int)
+0:73              subgroupBroadcastFirst ( global 4-component vector of bool)
+0:73                Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:73                  i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:73                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                      Constant:
+0:73                        1 (const int)
+0:73                    Constant:
+0:73                      1 (const int)
+0:73                  Constant:
+0:73                    0 (const int)
+0:73                    0 (const int)
+0:73                    0 (const int)
+0:73                    0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
+
+Linked compute stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_ballot
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      Sequence
+0:18        move second child to first child ( temp highp 4-component vector of uint)
+0:18          'relMask' ( temp highp 4-component vector of uint)
+0:21          add ( temp highp 4-component vector of uint)
+0:20            add ( temp highp 4-component vector of uint)
+0:19              add ( temp highp 4-component vector of uint)
+0:18                add ( temp highp 4-component vector of uint)
+0:18                  'gl_SubgroupEqMask' ( in highp 4-component vector of uint unknown built-in variable)
+0:19                  'gl_SubgroupGeMask' ( in highp 4-component vector of uint unknown built-in variable)
+0:20                'gl_SubgroupGtMask' ( in highp 4-component vector of uint unknown built-in variable)
+0:21              'gl_SubgroupLeMask' ( in highp 4-component vector of uint unknown built-in variable)
+0:22            'gl_SubgroupLtMask' ( in highp 4-component vector of uint unknown built-in variable)
+0:24      Sequence
+0:24        move second child to first child ( temp highp 4-component vector of uint)
+0:24          'result' ( temp highp 4-component vector of uint)
+0:24          subgroupBallot ( global highp 4-component vector of uint)
+0:24            Constant:
+0:24              true (const bool)
+0:26      move second child to first child ( temp highp uint)
+0:26        direct index ( temp highp uint)
+0:26          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Constant:
+0:26            0 (const int)
+0:26        subgroupBallotBitCount ( global highp uint)
+0:26          'result' ( temp highp 4-component vector of uint)
+0:27      move second child to first child ( temp highp uint)
+0:27        direct index ( temp highp uint)
+0:27          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27              Constant:
+0:27                0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Constant:
+0:27            1 (const int)
+0:27        Test condition and select ( temp highp uint)
+0:27          Condition
+0:27          subgroupBallotBitExtract ( global bool, operation at highp)
+0:27            'result' ( temp highp 4-component vector of uint)
+0:27            Constant:
+0:27              0 (const uint)
+0:27          true case
+0:27          Constant:
+0:27            1 (const uint)
+0:27          false case
+0:27          Constant:
+0:27            0 (const uint)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            2 (const int)
+0:28        add ( temp highp uint)
+0:28          subgroupBallotInclusiveBitCount ( global highp uint)
+0:28            'result' ( temp highp 4-component vector of uint)
+0:28          subgroupBallotExclusiveBitCount ( global highp uint)
+0:28            'result' ( temp highp 4-component vector of uint)
+0:29      move second child to first child ( temp highp uint)
+0:29        direct index ( temp highp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                0 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        add ( temp highp uint)
+0:29          subgroupBallotFindLSB ( global highp uint)
+0:29            'result' ( temp highp 4-component vector of uint)
+0:29          subgroupBallotFindMSB ( global highp uint)
+0:29            'result' ( temp highp 4-component vector of uint)
+0:31      Test condition and select ( temp void)
+0:31        Condition
+0:31        logical-and ( temp bool)
+0:31          Compare Equal ( temp bool)
+0:31            'relMask' ( temp highp 4-component vector of uint)
+0:31            'result' ( temp highp 4-component vector of uint)
+0:31          subgroupInverseBallot ( global bool, operation at highp)
+0:31            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31        true case
+0:33        Sequence
+0:33          move second child to first child ( temp highp float)
+0:33            direct index ( temp highp float)
+0:33              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                  Constant:
+0:33                    1 (const int)
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            subgroupBroadcast ( global highp float)
+0:33              direct index ( temp highp float)
+0:33                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                  Constant:
+0:33                    0 (const int)
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                3 (const uint)
+0:34          move second child to first child ( temp highp 2-component vector of float)
+0:34            vector swizzle ( temp highp 2-component vector of float)
+0:34              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                  Constant:
+0:34                    1 (const int)
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Sequence
+0:34                Constant:
+0:34                  0 (const int)
+0:34                Constant:
+0:34                  1 (const int)
+0:34            subgroupBroadcast ( global highp 2-component vector of float)
+0:34              vector swizzle ( temp highp 2-component vector of float)
+0:34                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    Constant:
+0:34                      1 (const int)
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                Sequence
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34              Constant:
+0:34                3 (const uint)
+0:35          move second child to first child ( temp highp 3-component vector of float)
+0:35            vector swizzle ( temp highp 3-component vector of float)
+0:35              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                Constant:
+0:35                  0 (const int)
+0:35              Sequence
+0:35                Constant:
+0:35                  0 (const int)
+0:35                Constant:
+0:35                  1 (const int)
+0:35                Constant:
+0:35                  2 (const int)
+0:35            subgroupBroadcast ( global highp 3-component vector of float)
+0:35              vector swizzle ( temp highp 3-component vector of float)
+0:35                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    Constant:
+0:35                      2 (const int)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                Sequence
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                  Constant:
+0:35                    2 (const int)
+0:35              Constant:
+0:35                3 (const uint)
+0:36          move second child to first child ( temp highp 4-component vector of float)
+0:36            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                Constant:
+0:36                  1 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36            subgroupBroadcast ( global highp 4-component vector of float)
+0:36              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  Constant:
+0:36                    3 (const int)
+0:36                Constant:
+0:36                  0 (const int)
+0:36              Constant:
+0:36                3 (const uint)
+0:38          move second child to first child ( temp highp int)
+0:38            direct index ( temp highp int)
+0:38              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                  Constant:
+0:38                    2 (const int)
+0:38                Constant:
+0:38                  1 (const int)
+0:38              Constant:
+0:38                0 (const int)
+0:38            subgroupBroadcast ( global highp int)
+0:38              direct index ( temp highp int)
+0:38                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                    Constant:
+0:38                      0 (const int)
+0:38                  Constant:
+0:38                    1 (const int)
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                2 (const uint)
+0:39          move second child to first child ( temp highp 2-component vector of int)
+0:39            vector swizzle ( temp highp 2-component vector of int)
+0:39              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                  Constant:
+0:39                    2 (const int)
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Sequence
+0:39                Constant:
+0:39                  0 (const int)
+0:39                Constant:
+0:39                  1 (const int)
+0:39            subgroupBroadcast ( global highp 2-component vector of int)
+0:39              vector swizzle ( temp highp 2-component vector of int)
+0:39                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                    Constant:
+0:39                      1 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Sequence
+0:39                  Constant:
+0:39                    0 (const int)
+0:39                  Constant:
+0:39                    1 (const int)
+0:39              Constant:
+0:39                2 (const uint)
+0:40          move second child to first child ( temp highp 3-component vector of int)
+0:40            vector swizzle ( temp highp 3-component vector of int)
+0:40              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                  Constant:
+0:40                    2 (const int)
+0:40                Constant:
+0:40                  1 (const int)
+0:40              Sequence
+0:40                Constant:
+0:40                  0 (const int)
+0:40                Constant:
+0:40                  1 (const int)
+0:40                Constant:
+0:40                  2 (const int)
+0:40            subgroupBroadcast ( global highp 3-component vector of int)
+0:40              vector swizzle ( temp highp 3-component vector of int)
+0:40                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                    Constant:
+0:40                      2 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Sequence
+0:40                  Constant:
+0:40                    0 (const int)
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                  Constant:
+0:40                    2 (const int)
+0:40              Constant:
+0:40                2 (const uint)
+0:41          move second child to first child ( temp highp 4-component vector of int)
+0:41            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                Constant:
+0:41                  2 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41            subgroupBroadcast ( global highp 4-component vector of int)
+0:41              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                  Constant:
+0:41                    3 (const int)
+0:41                Constant:
+0:41                  1 (const int)
+0:41              Constant:
+0:41                2 (const uint)
+0:43          move second child to first child ( temp highp uint)
+0:43            direct index ( temp highp uint)
+0:43              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                  Constant:
+0:43                    3 (const int)
+0:43                Constant:
+0:43                  2 (const int)
+0:43              Constant:
+0:43                0 (const int)
+0:43            subgroupBroadcast ( global highp uint)
+0:43              direct index ( temp highp uint)
+0:43                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                    Constant:
+0:43                      0 (const int)
+0:43                  Constant:
+0:43                    2 (const int)
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                1 (const uint)
+0:44          move second child to first child ( temp highp 2-component vector of uint)
+0:44            vector swizzle ( temp highp 2-component vector of uint)
+0:44              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                  Constant:
+0:44                    3 (const int)
+0:44                Constant:
+0:44                  2 (const int)
+0:44              Sequence
+0:44                Constant:
+0:44                  0 (const int)
+0:44                Constant:
+0:44                  1 (const int)
+0:44            subgroupBroadcast ( global highp 2-component vector of uint)
+0:44              vector swizzle ( temp highp 2-component vector of uint)
+0:44                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                    Constant:
+0:44                      1 (const int)
+0:44                  Constant:
+0:44                    2 (const int)
+0:44                Sequence
+0:44                  Constant:
+0:44                    0 (const int)
+0:44                  Constant:
+0:44                    1 (const int)
+0:44              Constant:
+0:44                1 (const uint)
+0:45          move second child to first child ( temp highp 3-component vector of uint)
+0:45            vector swizzle ( temp highp 3-component vector of uint)
+0:45              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                  Constant:
+0:45                    3 (const int)
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Sequence
+0:45                Constant:
+0:45                  0 (const int)
+0:45                Constant:
+0:45                  1 (const int)
+0:45                Constant:
+0:45                  2 (const int)
+0:45            subgroupBroadcast ( global highp 3-component vector of uint)
+0:45              vector swizzle ( temp highp 3-component vector of uint)
+0:45                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                    Constant:
+0:45                      2 (const int)
+0:45                  Constant:
+0:45                    2 (const int)
+0:45                Sequence
+0:45                  Constant:
+0:45                    0 (const int)
+0:45                  Constant:
+0:45                    1 (const int)
+0:45                  Constant:
+0:45                    2 (const int)
+0:45              Constant:
+0:45                1 (const uint)
+0:46          move second child to first child ( temp highp 4-component vector of uint)
+0:46            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                Constant:
+0:46                  3 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46            subgroupBroadcast ( global highp 4-component vector of uint)
+0:46              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                  Constant:
+0:46                    3 (const int)
+0:46                Constant:
+0:46                  2 (const int)
+0:46              Constant:
+0:46                1 (const uint)
+0:48          move second child to first child ( temp highp int)
+0:48            direct index ( temp highp int)
+0:48              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:48                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                  Constant:
+0:48                    0 (const int)
+0:48                Constant:
+0:48                  1 (const int)
+0:48              Constant:
+0:48                0 (const int)
+0:48            Convert bool to int ( temp highp int)
+0:48              subgroupBroadcast ( global bool)
+0:48                Compare Less Than ( temp bool)
+0:48                  direct index ( temp highp int)
+0:48                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:48                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                        Constant:
+0:48                          0 (const int)
+0:48                      Constant:
+0:48                        1 (const int)
+0:48                    Constant:
+0:48                      0 (const int)
+0:48                  Constant:
+0:48                    0 (const int)
+0:48                Constant:
+0:48                  1 (const uint)
+0:49          move second child to first child ( temp highp 2-component vector of int)
+0:49            vector swizzle ( temp highp 2-component vector of int)
+0:49              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:49                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                  Constant:
+0:49                    0 (const int)
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Sequence
+0:49                Constant:
+0:49                  0 (const int)
+0:49                Constant:
+0:49                  1 (const int)
+0:49            Convert bool to int ( temp highp 2-component vector of int)
+0:49              subgroupBroadcast ( global 2-component vector of bool)
+0:49                Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:49                  vector swizzle ( temp highp 2-component vector of int)
+0:49                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:49                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                        Constant:
+0:49                          1 (const int)
+0:49                      Constant:
+0:49                        1 (const int)
+0:49                    Sequence
+0:49                      Constant:
+0:49                        0 (const int)
+0:49                      Constant:
+0:49                        1 (const int)
+0:49                  Constant:
+0:49                    0 (const int)
+0:49                    0 (const int)
+0:49                Constant:
+0:49                  1 (const uint)
+0:50          move second child to first child ( temp highp 3-component vector of int)
+0:50            vector swizzle ( temp highp 3-component vector of int)
+0:50              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:50                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                  Constant:
+0:50                    0 (const int)
+0:50                Constant:
+0:50                  1 (const int)
+0:50              Sequence
+0:50                Constant:
+0:50                  0 (const int)
+0:50                Constant:
+0:50                  1 (const int)
+0:50                Constant:
+0:50                  2 (const int)
+0:50            Convert bool to int ( temp highp 3-component vector of int)
+0:50              subgroupBroadcast ( global 3-component vector of bool)
+0:50                Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:50                  vector swizzle ( temp highp 3-component vector of int)
+0:50                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:50                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                        Constant:
+0:50                          1 (const int)
+0:50                      Constant:
+0:50                        1 (const int)
+0:50                    Sequence
+0:50                      Constant:
+0:50                        0 (const int)
+0:50                      Constant:
+0:50                        1 (const int)
+0:50                      Constant:
+0:50                        2 (const int)
+0:50                  Constant:
+0:50                    0 (const int)
+0:50                    0 (const int)
+0:50                    0 (const int)
+0:50                Constant:
+0:50                  1 (const uint)
+0:51          move second child to first child ( temp highp 4-component vector of int)
+0:51            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                Constant:
+0:51                  0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51            Convert bool to int ( temp highp 4-component vector of int)
+0:51              subgroupBroadcast ( global 4-component vector of bool)
+0:51                Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:51                  i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:51                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                      Constant:
+0:51                        1 (const int)
+0:51                    Constant:
+0:51                      1 (const int)
+0:51                  Constant:
+0:51                    0 (const int)
+0:51                    0 (const int)
+0:51                    0 (const int)
+0:51                    0 (const int)
+0:51                Constant:
+0:51                  1 (const uint)
+0:31        false case
+0:55        Sequence
+0:55          move second child to first child ( temp highp float)
+0:55            direct index ( temp highp float)
+0:55              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:55                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                Constant:
+0:55                  0 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55            subgroupBroadcastFirst ( global highp float)
+0:55              direct index ( temp highp float)
+0:55                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:55                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    Constant:
+0:55                      0 (const int)
+0:55                  Constant:
+0:55                    0 (const int)
+0:55                Constant:
+0:55                  0 (const int)
+0:56          move second child to first child ( temp highp 2-component vector of float)
+0:56            vector swizzle ( temp highp 2-component vector of float)
+0:56              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:56                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  Constant:
+0:56                    1 (const int)
+0:56                Constant:
+0:56                  0 (const int)
+0:56              Sequence
+0:56                Constant:
+0:56                  0 (const int)
+0:56                Constant:
+0:56                  1 (const int)
+0:56            subgroupBroadcastFirst ( global highp 2-component vector of float)
+0:56              vector swizzle ( temp highp 2-component vector of float)
+0:56                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:56                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                    Constant:
+0:56                      1 (const int)
+0:56                  Constant:
+0:56                    0 (const int)
+0:56                Sequence
+0:56                  Constant:
+0:56                    0 (const int)
+0:56                  Constant:
+0:56                    1 (const int)
+0:57          move second child to first child ( temp highp 3-component vector of float)
+0:57            vector swizzle ( temp highp 3-component vector of float)
+0:57              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:57                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                  Constant:
+0:57                    1 (const int)
+0:57                Constant:
+0:57                  0 (const int)
+0:57              Sequence
+0:57                Constant:
+0:57                  0 (const int)
+0:57                Constant:
+0:57                  1 (const int)
+0:57                Constant:
+0:57                  2 (const int)
+0:57            subgroupBroadcastFirst ( global highp 3-component vector of float)
+0:57              vector swizzle ( temp highp 3-component vector of float)
+0:57                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:57                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                    Constant:
+0:57                      2 (const int)
+0:57                  Constant:
+0:57                    0 (const int)
+0:57                Sequence
+0:57                  Constant:
+0:57                    0 (const int)
+0:57                  Constant:
+0:57                    1 (const int)
+0:57                  Constant:
+0:57                    2 (const int)
+0:58          move second child to first child ( temp highp 4-component vector of float)
+0:58            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                Constant:
+0:58                  1 (const int)
+0:58              Constant:
+0:58                0 (const int)
+0:58            subgroupBroadcastFirst ( global highp 4-component vector of float)
+0:58              f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                  Constant:
+0:58                    3 (const int)
+0:58                Constant:
+0:58                  0 (const int)
+0:60          move second child to first child ( temp highp int)
+0:60            direct index ( temp highp int)
+0:60              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:60                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                  Constant:
+0:60                    2 (const int)
+0:60                Constant:
+0:60                  1 (const int)
+0:60              Constant:
+0:60                0 (const int)
+0:60            subgroupBroadcastFirst ( global highp int)
+0:60              direct index ( temp highp int)
+0:60                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:60                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                    Constant:
+0:60                      0 (const int)
+0:60                  Constant:
+0:60                    1 (const int)
+0:60                Constant:
+0:60                  0 (const int)
+0:61          move second child to first child ( temp highp 2-component vector of int)
+0:61            vector swizzle ( temp highp 2-component vector of int)
+0:61              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:61                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                  Constant:
+0:61                    2 (const int)
+0:61                Constant:
+0:61                  1 (const int)
+0:61              Sequence
+0:61                Constant:
+0:61                  0 (const int)
+0:61                Constant:
+0:61                  1 (const int)
+0:61            subgroupBroadcastFirst ( global highp 2-component vector of int)
+0:61              vector swizzle ( temp highp 2-component vector of int)
+0:61                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:61                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                    Constant:
+0:61                      1 (const int)
+0:61                  Constant:
+0:61                    1 (const int)
+0:61                Sequence
+0:61                  Constant:
+0:61                    0 (const int)
+0:61                  Constant:
+0:61                    1 (const int)
+0:62          move second child to first child ( temp highp 3-component vector of int)
+0:62            vector swizzle ( temp highp 3-component vector of int)
+0:62              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:62                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                  Constant:
+0:62                    2 (const int)
+0:62                Constant:
+0:62                  1 (const int)
+0:62              Sequence
+0:62                Constant:
+0:62                  0 (const int)
+0:62                Constant:
+0:62                  1 (const int)
+0:62                Constant:
+0:62                  2 (const int)
+0:62            subgroupBroadcastFirst ( global highp 3-component vector of int)
+0:62              vector swizzle ( temp highp 3-component vector of int)
+0:62                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:62                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                    Constant:
+0:62                      2 (const int)
+0:62                  Constant:
+0:62                    1 (const int)
+0:62                Sequence
+0:62                  Constant:
+0:62                    0 (const int)
+0:62                  Constant:
+0:62                    1 (const int)
+0:62                  Constant:
+0:62                    2 (const int)
+0:63          move second child to first child ( temp highp 4-component vector of int)
+0:63            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                Constant:
+0:63                  2 (const int)
+0:63              Constant:
+0:63                1 (const int)
+0:63            subgroupBroadcastFirst ( global highp 4-component vector of int)
+0:63              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                  Constant:
+0:63                    3 (const int)
+0:63                Constant:
+0:63                  1 (const int)
+0:65          move second child to first child ( temp highp uint)
+0:65            direct index ( temp highp uint)
+0:65              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:65                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                  Constant:
+0:65                    3 (const int)
+0:65                Constant:
+0:65                  2 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65            subgroupBroadcastFirst ( global highp uint)
+0:65              direct index ( temp highp uint)
+0:65                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:65                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                    Constant:
+0:65                      0 (const int)
+0:65                  Constant:
+0:65                    2 (const int)
+0:65                Constant:
+0:65                  0 (const int)
+0:66          move second child to first child ( temp highp 2-component vector of uint)
+0:66            vector swizzle ( temp highp 2-component vector of uint)
+0:66              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:66                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                  Constant:
+0:66                    3 (const int)
+0:66                Constant:
+0:66                  2 (const int)
+0:66              Sequence
+0:66                Constant:
+0:66                  0 (const int)
+0:66                Constant:
+0:66                  1 (const int)
+0:66            subgroupBroadcastFirst ( global highp 2-component vector of uint)
+0:66              vector swizzle ( temp highp 2-component vector of uint)
+0:66                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:66                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                    Constant:
+0:66                      1 (const int)
+0:66                  Constant:
+0:66                    2 (const int)
+0:66                Sequence
+0:66                  Constant:
+0:66                    0 (const int)
+0:66                  Constant:
+0:66                    1 (const int)
+0:67          move second child to first child ( temp highp 3-component vector of uint)
+0:67            vector swizzle ( temp highp 3-component vector of uint)
+0:67              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:67                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                  Constant:
+0:67                    3 (const int)
+0:67                Constant:
+0:67                  2 (const int)
+0:67              Sequence
+0:67                Constant:
+0:67                  0 (const int)
+0:67                Constant:
+0:67                  1 (const int)
+0:67                Constant:
+0:67                  2 (const int)
+0:67            subgroupBroadcastFirst ( global highp 3-component vector of uint)
+0:67              vector swizzle ( temp highp 3-component vector of uint)
+0:67                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:67                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                    Constant:
+0:67                      2 (const int)
+0:67                  Constant:
+0:67                    2 (const int)
+0:67                Sequence
+0:67                  Constant:
+0:67                    0 (const int)
+0:67                  Constant:
+0:67                    1 (const int)
+0:67                  Constant:
+0:67                    2 (const int)
+0:68          move second child to first child ( temp highp 4-component vector of uint)
+0:68            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                Constant:
+0:68                  3 (const int)
+0:68              Constant:
+0:68                2 (const int)
+0:68            subgroupBroadcastFirst ( global highp 4-component vector of uint)
+0:68              u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                  Constant:
+0:68                    3 (const int)
+0:68                Constant:
+0:68                  2 (const int)
+0:70          move second child to first child ( temp highp int)
+0:70            direct index ( temp highp int)
+0:70              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                  Constant:
+0:70                    0 (const int)
+0:70                Constant:
+0:70                  1 (const int)
+0:70              Constant:
+0:70                0 (const int)
+0:70            Convert bool to int ( temp highp int)
+0:70              subgroupBroadcastFirst ( global bool)
+0:70                Compare Less Than ( temp bool)
+0:70                  direct index ( temp highp int)
+0:70                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                        Constant:
+0:70                          0 (const int)
+0:70                      Constant:
+0:70                        1 (const int)
+0:70                    Constant:
+0:70                      0 (const int)
+0:70                  Constant:
+0:70                    0 (const int)
+0:71          move second child to first child ( temp highp 2-component vector of int)
+0:71            vector swizzle ( temp highp 2-component vector of int)
+0:71              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                  Constant:
+0:71                    0 (const int)
+0:71                Constant:
+0:71                  1 (const int)
+0:71              Sequence
+0:71                Constant:
+0:71                  0 (const int)
+0:71                Constant:
+0:71                  1 (const int)
+0:71            Convert bool to int ( temp highp 2-component vector of int)
+0:71              subgroupBroadcastFirst ( global 2-component vector of bool)
+0:71                Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:71                  vector swizzle ( temp highp 2-component vector of int)
+0:71                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                        Constant:
+0:71                          1 (const int)
+0:71                      Constant:
+0:71                        1 (const int)
+0:71                    Sequence
+0:71                      Constant:
+0:71                        0 (const int)
+0:71                      Constant:
+0:71                        1 (const int)
+0:71                  Constant:
+0:71                    0 (const int)
+0:71                    0 (const int)
+0:72          move second child to first child ( temp highp 3-component vector of int)
+0:72            vector swizzle ( temp highp 3-component vector of int)
+0:72              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:72                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                  Constant:
+0:72                    0 (const int)
+0:72                Constant:
+0:72                  1 (const int)
+0:72              Sequence
+0:72                Constant:
+0:72                  0 (const int)
+0:72                Constant:
+0:72                  1 (const int)
+0:72                Constant:
+0:72                  2 (const int)
+0:72            Convert bool to int ( temp highp 3-component vector of int)
+0:72              subgroupBroadcastFirst ( global 3-component vector of bool)
+0:72                Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:72                  vector swizzle ( temp highp 3-component vector of int)
+0:72                    i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:72                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                        Constant:
+0:72                          1 (const int)
+0:72                      Constant:
+0:72                        1 (const int)
+0:72                    Sequence
+0:72                      Constant:
+0:72                        0 (const int)
+0:72                      Constant:
+0:72                        1 (const int)
+0:72                      Constant:
+0:72                        2 (const int)
+0:72                  Constant:
+0:72                    0 (const int)
+0:72                    0 (const int)
+0:72                    0 (const int)
+0:73          move second child to first child ( temp highp 4-component vector of int)
+0:73            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:73              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                Constant:
+0:73                  0 (const int)
+0:73              Constant:
+0:73                1 (const int)
+0:73            Convert bool to int ( temp highp 4-component vector of int)
+0:73              subgroupBroadcastFirst ( global 4-component vector of bool)
+0:73                Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:73                  i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:73                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                      Constant:
+0:73                        1 (const int)
+0:73                    Constant:
+0:73                      1 (const int)
+0:73                  Constant:
+0:73                    0 (const int)
+0:73                    0 (const int)
+0:73                    0 (const int)
+0:73                    0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
diff --git a/Test/baseResults/glsl.es320.subgroupBallotNeg.comp.out b/Test/baseResults/glsl.es320.subgroupBallotNeg.comp.out
new file mode 100644
index 0000000..2d895a6
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupBallotNeg.comp.out
@@ -0,0 +1,275 @@
+glsl.es320.subgroupBallotNeg.comp
+ERROR: 0:31: 'id' : argument must be compile-time constant 
+ERROR: 1 compilation errors.  No code generated.
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_ballot
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+ERROR: node is still EOpNull!
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp uint)
+0:16          'invocation' ( temp uint)
+0:16          mod ( temp uint)
+0:16            add ( temp uint)
+0:16              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      Sequence
+0:18        move second child to first child ( temp 4-component vector of uint)
+0:18          'relMask' ( temp 4-component vector of uint)
+0:21          add ( temp 4-component vector of uint)
+0:20            add ( temp 4-component vector of uint)
+0:19              add ( temp 4-component vector of uint)
+0:18                add ( temp 4-component vector of uint)
+0:18                  'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
+0:19                  'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
+0:20                'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
+0:21              'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
+0:22            'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
+0:24      Sequence
+0:24        move second child to first child ( temp 4-component vector of uint)
+0:24          'result' ( temp 4-component vector of uint)
+0:24          subgroupBallot ( global 4-component vector of uint)
+0:24            Constant:
+0:24              true (const bool)
+0:26      move second child to first child ( temp uint)
+0:26        direct index ( temp uint)
+0:26          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:26              Constant:
+0:26                0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Constant:
+0:26            0 (const int)
+0:26        subgroupBallotBitCount ( global uint)
+0:26          'result' ( temp 4-component vector of uint)
+0:27      move second child to first child ( temp uint)
+0:27        direct index ( temp uint)
+0:27          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:27              Constant:
+0:27                0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Constant:
+0:27            1 (const int)
+0:27        Test condition and select ( temp uint)
+0:27          Condition
+0:27          subgroupBallotBitExtract ( global bool)
+0:27            'result' ( temp 4-component vector of uint)
+0:27            Constant:
+0:27              0 (const uint)
+0:27          true case
+0:27          Constant:
+0:27            1 (const uint)
+0:27          false case
+0:27          Constant:
+0:27            0 (const uint)
+0:28      move second child to first child ( temp uint)
+0:28        direct index ( temp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            2 (const int)
+0:28        add ( temp uint)
+0:28          subgroupBallotInclusiveBitCount ( global uint)
+0:28            'result' ( temp 4-component vector of uint)
+0:28          subgroupBallotExclusiveBitCount ( global uint)
+0:28            'result' ( temp 4-component vector of uint)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:29              Constant:
+0:29                0 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        add ( temp uint)
+0:29          subgroupBallotFindLSB ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:29          subgroupBallotFindMSB ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:31      move second child to first child ( temp float)
+0:31        direct index ( temp float)
+0:31          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:31              Constant:
+0:31                1 (const int)
+0:31            Constant:
+0:31              0 (const int)
+0:31          Constant:
+0:31            0 (const int)
+0:31        subgroupBroadcast ( global float)
+0:31          direct index ( temp float)
+0:31            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                0 (const int)
+0:31            Constant:
+0:31              0 (const int)
+0:31          'invocation' ( temp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+Requested GL_KHR_shader_subgroup_ballot
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+ERROR: node is still EOpNull!
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp uint)
+0:16          'invocation' ( temp uint)
+0:16          mod ( temp uint)
+0:16            add ( temp uint)
+0:16              'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      Sequence
+0:18        move second child to first child ( temp 4-component vector of uint)
+0:18          'relMask' ( temp 4-component vector of uint)
+0:21          add ( temp 4-component vector of uint)
+0:20            add ( temp 4-component vector of uint)
+0:19              add ( temp 4-component vector of uint)
+0:18                add ( temp 4-component vector of uint)
+0:18                  'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
+0:19                  'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
+0:20                'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
+0:21              'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
+0:22            'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
+0:24      Sequence
+0:24        move second child to first child ( temp 4-component vector of uint)
+0:24          'result' ( temp 4-component vector of uint)
+0:24          subgroupBallot ( global 4-component vector of uint)
+0:24            Constant:
+0:24              true (const bool)
+0:26      move second child to first child ( temp uint)
+0:26        direct index ( temp uint)
+0:26          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:26              Constant:
+0:26                0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Constant:
+0:26            0 (const int)
+0:26        subgroupBallotBitCount ( global uint)
+0:26          'result' ( temp 4-component vector of uint)
+0:27      move second child to first child ( temp uint)
+0:27        direct index ( temp uint)
+0:27          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:27              Constant:
+0:27                0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Constant:
+0:27            1 (const int)
+0:27        Test condition and select ( temp uint)
+0:27          Condition
+0:27          subgroupBallotBitExtract ( global bool)
+0:27            'result' ( temp 4-component vector of uint)
+0:27            Constant:
+0:27              0 (const uint)
+0:27          true case
+0:27          Constant:
+0:27            1 (const uint)
+0:27          false case
+0:27          Constant:
+0:27            0 (const uint)
+0:28      move second child to first child ( temp uint)
+0:28        direct index ( temp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            2 (const int)
+0:28        add ( temp uint)
+0:28          subgroupBallotInclusiveBitCount ( global uint)
+0:28            'result' ( temp 4-component vector of uint)
+0:28          subgroupBallotExclusiveBitCount ( global uint)
+0:28            'result' ( temp 4-component vector of uint)
+0:29      move second child to first child ( temp uint)
+0:29        direct index ( temp uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:29              Constant:
+0:29                0 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        add ( temp uint)
+0:29          subgroupBallotFindLSB ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:29          subgroupBallotFindMSB ( global uint)
+0:29            'result' ( temp 4-component vector of uint)
+0:31      move second child to first child ( temp float)
+0:31        direct index ( temp float)
+0:31          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:31              Constant:
+0:31                1 (const int)
+0:31            Constant:
+0:31              0 (const int)
+0:31          Constant:
+0:31            0 (const int)
+0:31        subgroupBroadcast ( global float)
+0:31          direct index ( temp float)
+0:31            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                0 (const int)
+0:31            Constant:
+0:31              0 (const int)
+0:31          'invocation' ( temp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4})
+
diff --git a/Test/baseResults/glsl.es320.subgroupBasic.comp.out b/Test/baseResults/glsl.es320.subgroupBasic.comp.out
new file mode 100644
index 0000000..e97dbd3
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupBasic.comp.out
@@ -0,0 +1,129 @@
+glsl.es320.subgroupBasic.comp
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+0:? Sequence
+0:12  Function Definition: main( ( global void)
+0:12    Function Parameters: 
+0:14    Sequence
+0:14      move second child to first child ( temp highp int)
+0:14        indirect index (layout( column_major shared) temp highp int)
+0:14          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
+0:14            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
+0:14            Constant:
+0:14              0 (const int)
+0:14          'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:14        Constant:
+0:14          1 (const int)
+0:15      move second child to first child ( temp highp int)
+0:15        indirect index (layout( column_major shared) temp highp int)
+0:15          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
+0:15            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
+0:15            Constant:
+0:15              0 (const int)
+0:15          'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:15        Constant:
+0:15          1 (const int)
+0:16      move second child to first child ( temp highp int)
+0:16        indirect index (layout( column_major shared) temp highp int)
+0:16          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
+0:16            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
+0:16            Constant:
+0:16              0 (const int)
+0:16          'gl_NumSubgroups' ( in highp uint unknown built-in variable)
+0:16        Constant:
+0:16          1 (const int)
+0:17      move second child to first child ( temp highp int)
+0:17        indirect index (layout( column_major shared) temp highp int)
+0:17          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
+0:17            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
+0:17            Constant:
+0:17              0 (const int)
+0:17          'gl_SubgroupID' ( in highp uint unknown built-in variable)
+0:17        Test condition and select ( temp highp int)
+0:17          Condition
+0:17          subgroupElect ( global bool)
+0:17          true case
+0:17          Constant:
+0:17            1 (const int)
+0:17          false case
+0:17          Constant:
+0:17            0 (const int)
+0:18      subgroupBarrier ( global void)
+0:19      subgroupMemoryBarrier ( global void)
+0:20      subgroupMemoryBarrierBuffer ( global void)
+0:21      subgroupMemoryBarrierShared ( global void)
+0:22      subgroupMemoryBarrierImage ( global void)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
+
+
+Linked compute stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+local_size = (8, 8, 1)
+0:? Sequence
+0:12  Function Definition: main( ( global void)
+0:12    Function Parameters: 
+0:14    Sequence
+0:14      move second child to first child ( temp highp int)
+0:14        indirect index (layout( column_major shared) temp highp int)
+0:14          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
+0:14            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
+0:14            Constant:
+0:14              0 (const int)
+0:14          'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:14        Constant:
+0:14          1 (const int)
+0:15      move second child to first child ( temp highp int)
+0:15        indirect index (layout( column_major shared) temp highp int)
+0:15          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
+0:15            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
+0:15            Constant:
+0:15              0 (const int)
+0:15          'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:15        Constant:
+0:15          1 (const int)
+0:16      move second child to first child ( temp highp int)
+0:16        indirect index (layout( column_major shared) temp highp int)
+0:16          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
+0:16            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
+0:16            Constant:
+0:16              0 (const int)
+0:16          'gl_NumSubgroups' ( in highp uint unknown built-in variable)
+0:16        Constant:
+0:16          1 (const int)
+0:17      move second child to first child ( temp highp int)
+0:17        indirect index (layout( column_major shared) temp highp int)
+0:17          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
+0:17            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
+0:17            Constant:
+0:17              0 (const int)
+0:17          'gl_SubgroupID' ( in highp uint unknown built-in variable)
+0:17        Test condition and select ( temp highp int)
+0:17          Condition
+0:17          subgroupElect ( global bool)
+0:17          true case
+0:17          Constant:
+0:17            1 (const int)
+0:17          false case
+0:17          Constant:
+0:17            0 (const int)
+0:18      subgroupBarrier ( global void)
+0:19      subgroupMemoryBarrier ( global void)
+0:20      subgroupMemoryBarrierBuffer ( global void)
+0:21      subgroupMemoryBarrierShared ( global void)
+0:22      subgroupMemoryBarrierImage ( global void)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
+
diff --git a/Test/baseResults/glsl.es320.subgroupClustered.comp.out b/Test/baseResults/glsl.es320.subgroupClustered.comp.out
new file mode 100644
index 0000000..bd239dc
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupClustered.comp.out
@@ -0,0 +1,4637 @@
+glsl.es320.subgroupClustered.comp
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_clustered
+local_size = (8, 1, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      move second child to first child ( temp highp float)
+0:18        direct index ( temp highp float)
+0:18          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            0 (const int)
+0:18        subgroupClusteredAdd ( global highp float)
+0:18          direct index ( temp highp float)
+0:18            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                Constant:
+0:18                  0 (const int)
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            1 (const uint)
+0:19      move second child to first child ( temp highp 2-component vector of float)
+0:19        vector swizzle ( temp highp 2-component vector of float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Sequence
+0:19            Constant:
+0:19              0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19        subgroupClusteredAdd ( global highp 2-component vector of float)
+0:19          vector swizzle ( temp highp 2-component vector of float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                Constant:
+0:19                  1 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Sequence
+0:19              Constant:
+0:19                0 (const int)
+0:19              Constant:
+0:19                1 (const int)
+0:19          Constant:
+0:19            1 (const uint)
+0:20      move second child to first child ( temp highp 3-component vector of float)
+0:20        vector swizzle ( temp highp 3-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20            Constant:
+0:20              2 (const int)
+0:20        subgroupClusteredAdd ( global highp 3-component vector of float)
+0:20          vector swizzle ( temp highp 3-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  2 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20              Constant:
+0:20                2 (const int)
+0:20          Constant:
+0:20            1 (const uint)
+0:21      move second child to first child ( temp highp 4-component vector of float)
+0:21        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            0 (const int)
+0:21        subgroupClusteredAdd ( global highp 4-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                3 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            1 (const uint)
+0:23      move second child to first child ( temp highp int)
+0:23        direct index ( temp highp int)
+0:23          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              1 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupClusteredAdd ( global highp int)
+0:23          direct index ( temp highp int)
+0:23            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          Constant:
+0:23            1 (const uint)
+0:24      move second child to first child ( temp highp 2-component vector of int)
+0:24        vector swizzle ( temp highp 2-component vector of int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Sequence
+0:24            Constant:
+0:24              0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24        subgroupClusteredAdd ( global highp 2-component vector of int)
+0:24          vector swizzle ( temp highp 2-component vector of int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                Constant:
+0:24                  1 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Sequence
+0:24              Constant:
+0:24                0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24          Constant:
+0:24            1 (const uint)
+0:25      move second child to first child ( temp highp 3-component vector of int)
+0:25        vector swizzle ( temp highp 3-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                1 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25        subgroupClusteredAdd ( global highp 3-component vector of int)
+0:25          vector swizzle ( temp highp 3-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  2 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25          Constant:
+0:25            1 (const uint)
+0:26      move second child to first child ( temp highp 4-component vector of int)
+0:26        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              1 (const int)
+0:26          Constant:
+0:26            1 (const int)
+0:26        subgroupClusteredAdd ( global highp 4-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                3 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Constant:
+0:26            1 (const uint)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupClusteredAdd ( global highp uint)
+0:28          direct index ( temp highp uint)
+0:28            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28          Constant:
+0:28            1 (const uint)
+0:29      move second child to first child ( temp highp 2-component vector of uint)
+0:29        vector swizzle ( temp highp 2-component vector of uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupClusteredAdd ( global highp 2-component vector of uint)
+0:29          vector swizzle ( temp highp 2-component vector of uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29          Constant:
+0:29            1 (const uint)
+0:30      move second child to first child ( temp highp 3-component vector of uint)
+0:30        vector swizzle ( temp highp 3-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              Constant:
+0:30                2 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30        subgroupClusteredAdd ( global highp 3-component vector of uint)
+0:30          vector swizzle ( temp highp 3-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  2 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30          Constant:
+0:30            1 (const uint)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              2 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupClusteredAdd ( global highp 4-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Constant:
+0:31            1 (const uint)
+0:33      move second child to first child ( temp highp float)
+0:33        direct index ( temp highp float)
+0:33          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                3 (const int)
+0:33            Constant:
+0:33              0 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        subgroupClusteredMul ( global highp float)
+0:33          direct index ( temp highp float)
+0:33            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            Constant:
+0:33              0 (const int)
+0:33          Constant:
+0:33            1 (const uint)
+0:34      move second child to first child ( temp highp 2-component vector of float)
+0:34        vector swizzle ( temp highp 2-component vector of float)
+0:34          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        subgroupClusteredMul ( global highp 2-component vector of float)
+0:34          vector swizzle ( temp highp 2-component vector of float)
+0:34            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                Constant:
+0:34                  1 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34            Sequence
+0:34              Constant:
+0:34                0 (const int)
+0:34              Constant:
+0:34                1 (const int)
+0:34          Constant:
+0:34            1 (const uint)
+0:35      move second child to first child ( temp highp 3-component vector of float)
+0:35        vector swizzle ( temp highp 3-component vector of float)
+0:35          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              Constant:
+0:35                3 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35            Constant:
+0:35              2 (const int)
+0:35        subgroupClusteredMul ( global highp 3-component vector of float)
+0:35          vector swizzle ( temp highp 3-component vector of float)
+0:35            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                Constant:
+0:35                  2 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35              Constant:
+0:35                2 (const int)
+0:35          Constant:
+0:35            1 (const uint)
+0:36      move second child to first child ( temp highp 4-component vector of float)
+0:36        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              3 (const int)
+0:36          Constant:
+0:36            0 (const int)
+0:36        subgroupClusteredMul ( global highp 4-component vector of float)
+0:36          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36              Constant:
+0:36                3 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Constant:
+0:36            1 (const uint)
+0:38      move second child to first child ( temp highp int)
+0:38        direct index ( temp highp int)
+0:38          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              Constant:
+0:38                0 (const int)
+0:38            Constant:
+0:38              1 (const int)
+0:38          Constant:
+0:38            0 (const int)
+0:38        subgroupClusteredMul ( global highp int)
+0:38          direct index ( temp highp int)
+0:38            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          Constant:
+0:38            1 (const uint)
+0:39      move second child to first child ( temp highp 2-component vector of int)
+0:39        vector swizzle ( temp highp 2-component vector of int)
+0:39          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Sequence
+0:39            Constant:
+0:39              0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39        subgroupClusteredMul ( global highp 2-component vector of int)
+0:39          vector swizzle ( temp highp 2-component vector of int)
+0:39            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:39            Sequence
+0:39              Constant:
+0:39                0 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:39          Constant:
+0:39            1 (const uint)
+0:40      move second child to first child ( temp highp 3-component vector of int)
+0:40        vector swizzle ( temp highp 3-component vector of int)
+0:40          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40            Constant:
+0:40              2 (const int)
+0:40        subgroupClusteredMul ( global highp 3-component vector of int)
+0:40          vector swizzle ( temp highp 3-component vector of int)
+0:40            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  2 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40              Constant:
+0:40                2 (const int)
+0:40          Constant:
+0:40            1 (const uint)
+0:41      move second child to first child ( temp highp 4-component vector of int)
+0:41        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            Constant:
+0:41              0 (const int)
+0:41          Constant:
+0:41            1 (const int)
+0:41        subgroupClusteredMul ( global highp 4-component vector of int)
+0:41          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                3 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Constant:
+0:41            1 (const uint)
+0:43      move second child to first child ( temp highp uint)
+0:43        direct index ( temp highp uint)
+0:43          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              2 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        subgroupClusteredMul ( global highp uint)
+0:43          direct index ( temp highp uint)
+0:43            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                2 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:43          Constant:
+0:43            1 (const uint)
+0:44      move second child to first child ( temp highp 2-component vector of uint)
+0:44        vector swizzle ( temp highp 2-component vector of uint)
+0:44          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              Constant:
+0:44                1 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:44          Sequence
+0:44            Constant:
+0:44              0 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44        subgroupClusteredMul ( global highp 2-component vector of uint)
+0:44          vector swizzle ( temp highp 2-component vector of uint)
+0:44            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                Constant:
+0:44                  1 (const int)
+0:44              Constant:
+0:44                2 (const int)
+0:44            Sequence
+0:44              Constant:
+0:44                0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44          Constant:
+0:44            1 (const uint)
+0:45      move second child to first child ( temp highp 3-component vector of uint)
+0:45        vector swizzle ( temp highp 3-component vector of uint)
+0:45          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45        subgroupClusteredMul ( global highp 3-component vector of uint)
+0:45          vector swizzle ( temp highp 3-component vector of uint)
+0:45            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45          Constant:
+0:45            1 (const uint)
+0:46      move second child to first child ( temp highp 4-component vector of uint)
+0:46        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            Constant:
+0:46              1 (const int)
+0:46          Constant:
+0:46            2 (const int)
+0:46        subgroupClusteredMul ( global highp 4-component vector of uint)
+0:46          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                3 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46          Constant:
+0:46            1 (const uint)
+0:48      move second child to first child ( temp highp float)
+0:48        direct index ( temp highp float)
+0:48          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                2 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:48          Constant:
+0:48            0 (const int)
+0:48        subgroupClusteredMin ( global highp float)
+0:48          direct index ( temp highp float)
+0:48            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                Constant:
+0:48                  0 (const int)
+0:48              Constant:
+0:48                0 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:48          Constant:
+0:48            1 (const uint)
+0:49      move second child to first child ( temp highp 2-component vector of float)
+0:49        vector swizzle ( temp highp 2-component vector of float)
+0:49          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              Constant:
+0:49                2 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          Sequence
+0:49            Constant:
+0:49              0 (const int)
+0:49            Constant:
+0:49              1 (const int)
+0:49        subgroupClusteredMin ( global highp 2-component vector of float)
+0:49          vector swizzle ( temp highp 2-component vector of float)
+0:49            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Constant:
+0:49                0 (const int)
+0:49            Sequence
+0:49              Constant:
+0:49                0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49          Constant:
+0:49            1 (const uint)
+0:50      move second child to first child ( temp highp 3-component vector of float)
+0:50        vector swizzle ( temp highp 3-component vector of float)
+0:50          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                2 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50        subgroupClusteredMin ( global highp 3-component vector of float)
+0:50          vector swizzle ( temp highp 3-component vector of float)
+0:50            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  2 (const int)
+0:50              Constant:
+0:50                0 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50          Constant:
+0:50            1 (const uint)
+0:51      move second child to first child ( temp highp 4-component vector of float)
+0:51        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:51          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            Constant:
+0:51              2 (const int)
+0:51          Constant:
+0:51            0 (const int)
+0:51        subgroupClusteredMin ( global highp 4-component vector of float)
+0:51          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                3 (const int)
+0:51            Constant:
+0:51              0 (const int)
+0:51          Constant:
+0:51            1 (const uint)
+0:53      move second child to first child ( temp highp int)
+0:53        direct index ( temp highp int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                3 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            0 (const int)
+0:53        subgroupClusteredMin ( global highp int)
+0:53          direct index ( temp highp int)
+0:53            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                Constant:
+0:53                  0 (const int)
+0:53              Constant:
+0:53                1 (const int)
+0:53            Constant:
+0:53              0 (const int)
+0:53          Constant:
+0:53            1 (const uint)
+0:54      move second child to first child ( temp highp 2-component vector of int)
+0:54        vector swizzle ( temp highp 2-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          Sequence
+0:54            Constant:
+0:54              0 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54        subgroupClusteredMin ( global highp 2-component vector of int)
+0:54          vector swizzle ( temp highp 2-component vector of int)
+0:54            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                Constant:
+0:54                  1 (const int)
+0:54              Constant:
+0:54                1 (const int)
+0:54            Sequence
+0:54              Constant:
+0:54                0 (const int)
+0:54              Constant:
+0:54                1 (const int)
+0:54          Constant:
+0:54            1 (const uint)
+0:55      move second child to first child ( temp highp 3-component vector of int)
+0:55        vector swizzle ( temp highp 3-component vector of int)
+0:55          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                3 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55            Constant:
+0:55              2 (const int)
+0:55        subgroupClusteredMin ( global highp 3-component vector of int)
+0:55          vector swizzle ( temp highp 3-component vector of int)
+0:55            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                Constant:
+0:55                  2 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55              Constant:
+0:55                2 (const int)
+0:55          Constant:
+0:55            1 (const uint)
+0:56      move second child to first child ( temp highp 4-component vector of int)
+0:56        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            Constant:
+0:56              3 (const int)
+0:56          Constant:
+0:56            1 (const int)
+0:56        subgroupClusteredMin ( global highp 4-component vector of int)
+0:56          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              Constant:
+0:56                3 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56          Constant:
+0:56            1 (const uint)
+0:58      move second child to first child ( temp highp uint)
+0:58        direct index ( temp highp uint)
+0:58          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:58            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              Constant:
+0:58                0 (const int)
+0:58            Constant:
+0:58              2 (const int)
+0:58          Constant:
+0:58            0 (const int)
+0:58        subgroupClusteredMin ( global highp uint)
+0:58          direct index ( temp highp uint)
+0:58            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:58              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                Constant:
+0:58                  0 (const int)
+0:58              Constant:
+0:58                2 (const int)
+0:58            Constant:
+0:58              0 (const int)
+0:58          Constant:
+0:58            1 (const uint)
+0:59      move second child to first child ( temp highp 2-component vector of uint)
+0:59        vector swizzle ( temp highp 2-component vector of uint)
+0:59          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:59            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              Constant:
+0:59                0 (const int)
+0:59            Constant:
+0:59              2 (const int)
+0:59          Sequence
+0:59            Constant:
+0:59              0 (const int)
+0:59            Constant:
+0:59              1 (const int)
+0:59        subgroupClusteredMin ( global highp 2-component vector of uint)
+0:59          vector swizzle ( temp highp 2-component vector of uint)
+0:59            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                Constant:
+0:59                  1 (const int)
+0:59              Constant:
+0:59                2 (const int)
+0:59            Sequence
+0:59              Constant:
+0:59                0 (const int)
+0:59              Constant:
+0:59                1 (const int)
+0:59          Constant:
+0:59            1 (const uint)
+0:60      move second child to first child ( temp highp 3-component vector of uint)
+0:60        vector swizzle ( temp highp 3-component vector of uint)
+0:60          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:60            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              Constant:
+0:60                0 (const int)
+0:60            Constant:
+0:60              2 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60            Constant:
+0:60              2 (const int)
+0:60        subgroupClusteredMin ( global highp 3-component vector of uint)
+0:60          vector swizzle ( temp highp 3-component vector of uint)
+0:60            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                Constant:
+0:60                  2 (const int)
+0:60              Constant:
+0:60                2 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60              Constant:
+0:60                2 (const int)
+0:60          Constant:
+0:60            1 (const uint)
+0:61      move second child to first child ( temp highp 4-component vector of uint)
+0:61        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:61          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            Constant:
+0:61              0 (const int)
+0:61          Constant:
+0:61            2 (const int)
+0:61        subgroupClusteredMin ( global highp 4-component vector of uint)
+0:61          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:61            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              Constant:
+0:61                3 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61          Constant:
+0:61            1 (const uint)
+0:63      move second child to first child ( temp highp float)
+0:63        direct index ( temp highp float)
+0:63          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:63            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              Constant:
+0:63                1 (const int)
+0:63            Constant:
+0:63              0 (const int)
+0:63          Constant:
+0:63            0 (const int)
+0:63        subgroupClusteredMax ( global highp float)
+0:63          direct index ( temp highp float)
+0:63            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:63              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                Constant:
+0:63                  0 (const int)
+0:63              Constant:
+0:63                0 (const int)
+0:63            Constant:
+0:63              0 (const int)
+0:63          Constant:
+0:63            1 (const uint)
+0:64      move second child to first child ( temp highp 2-component vector of float)
+0:64        vector swizzle ( temp highp 2-component vector of float)
+0:64          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:64            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              Constant:
+0:64                1 (const int)
+0:64            Constant:
+0:64              0 (const int)
+0:64          Sequence
+0:64            Constant:
+0:64              0 (const int)
+0:64            Constant:
+0:64              1 (const int)
+0:64        subgroupClusteredMax ( global highp 2-component vector of float)
+0:64          vector swizzle ( temp highp 2-component vector of float)
+0:64            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                Constant:
+0:64                  1 (const int)
+0:64              Constant:
+0:64                0 (const int)
+0:64            Sequence
+0:64              Constant:
+0:64                0 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:64          Constant:
+0:64            1 (const uint)
+0:65      move second child to first child ( temp highp 3-component vector of float)
+0:65        vector swizzle ( temp highp 3-component vector of float)
+0:65          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:65            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              Constant:
+0:65                1 (const int)
+0:65            Constant:
+0:65              0 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65        subgroupClusteredMax ( global highp 3-component vector of float)
+0:65          vector swizzle ( temp highp 3-component vector of float)
+0:65            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                Constant:
+0:65                  2 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65            Sequence
+0:65              Constant:
+0:65                0 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:65          Constant:
+0:65            1 (const uint)
+0:66      move second child to first child ( temp highp 4-component vector of float)
+0:66        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:66          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            Constant:
+0:66              1 (const int)
+0:66          Constant:
+0:66            0 (const int)
+0:66        subgroupClusteredMax ( global highp 4-component vector of float)
+0:66          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:66            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              Constant:
+0:66                3 (const int)
+0:66            Constant:
+0:66              0 (const int)
+0:66          Constant:
+0:66            1 (const uint)
+0:68      move second child to first child ( temp highp int)
+0:68        direct index ( temp highp int)
+0:68          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:68            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              Constant:
+0:68                2 (const int)
+0:68            Constant:
+0:68              1 (const int)
+0:68          Constant:
+0:68            0 (const int)
+0:68        subgroupClusteredMax ( global highp int)
+0:68          direct index ( temp highp int)
+0:68            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:68              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                Constant:
+0:68                  0 (const int)
+0:68              Constant:
+0:68                1 (const int)
+0:68            Constant:
+0:68              0 (const int)
+0:68          Constant:
+0:68            1 (const uint)
+0:69      move second child to first child ( temp highp 2-component vector of int)
+0:69        vector swizzle ( temp highp 2-component vector of int)
+0:69          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:69            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              Constant:
+0:69                2 (const int)
+0:69            Constant:
+0:69              1 (const int)
+0:69          Sequence
+0:69            Constant:
+0:69              0 (const int)
+0:69            Constant:
+0:69              1 (const int)
+0:69        subgroupClusteredMax ( global highp 2-component vector of int)
+0:69          vector swizzle ( temp highp 2-component vector of int)
+0:69            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                Constant:
+0:69                  1 (const int)
+0:69              Constant:
+0:69                1 (const int)
+0:69            Sequence
+0:69              Constant:
+0:69                0 (const int)
+0:69              Constant:
+0:69                1 (const int)
+0:69          Constant:
+0:69            1 (const uint)
+0:70      move second child to first child ( temp highp 3-component vector of int)
+0:70        vector swizzle ( temp highp 3-component vector of int)
+0:70          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              Constant:
+0:70                2 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70            Constant:
+0:70              2 (const int)
+0:70        subgroupClusteredMax ( global highp 3-component vector of int)
+0:70          vector swizzle ( temp highp 3-component vector of int)
+0:70            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                Constant:
+0:70                  2 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:70          Constant:
+0:70            1 (const uint)
+0:71      move second child to first child ( temp highp 4-component vector of int)
+0:71        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            Constant:
+0:71              2 (const int)
+0:71          Constant:
+0:71            1 (const int)
+0:71        subgroupClusteredMax ( global highp 4-component vector of int)
+0:71          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              Constant:
+0:71                3 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71          Constant:
+0:71            1 (const uint)
+0:73      move second child to first child ( temp highp uint)
+0:73        direct index ( temp highp uint)
+0:73          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:73            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              Constant:
+0:73                3 (const int)
+0:73            Constant:
+0:73              2 (const int)
+0:73          Constant:
+0:73            0 (const int)
+0:73        subgroupClusteredMax ( global highp uint)
+0:73          direct index ( temp highp uint)
+0:73            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:73              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                Constant:
+0:73                  0 (const int)
+0:73              Constant:
+0:73                2 (const int)
+0:73            Constant:
+0:73              0 (const int)
+0:73          Constant:
+0:73            1 (const uint)
+0:74      move second child to first child ( temp highp 2-component vector of uint)
+0:74        vector swizzle ( temp highp 2-component vector of uint)
+0:74          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:74            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              2 (const int)
+0:74          Sequence
+0:74            Constant:
+0:74              0 (const int)
+0:74            Constant:
+0:74              1 (const int)
+0:74        subgroupClusteredMax ( global highp 2-component vector of uint)
+0:74          vector swizzle ( temp highp 2-component vector of uint)
+0:74            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:74              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                Constant:
+0:74                  1 (const int)
+0:74              Constant:
+0:74                2 (const int)
+0:74            Sequence
+0:74              Constant:
+0:74                0 (const int)
+0:74              Constant:
+0:74                1 (const int)
+0:74          Constant:
+0:74            1 (const uint)
+0:75      move second child to first child ( temp highp 3-component vector of uint)
+0:75        vector swizzle ( temp highp 3-component vector of uint)
+0:75          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:75            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              Constant:
+0:75                3 (const int)
+0:75            Constant:
+0:75              2 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75            Constant:
+0:75              2 (const int)
+0:75        subgroupClusteredMax ( global highp 3-component vector of uint)
+0:75          vector swizzle ( temp highp 3-component vector of uint)
+0:75            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                Constant:
+0:75                  2 (const int)
+0:75              Constant:
+0:75                2 (const int)
+0:75            Sequence
+0:75              Constant:
+0:75                0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:75              Constant:
+0:75                2 (const int)
+0:75          Constant:
+0:75            1 (const uint)
+0:76      move second child to first child ( temp highp 4-component vector of uint)
+0:76        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:76          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            Constant:
+0:76              3 (const int)
+0:76          Constant:
+0:76            2 (const int)
+0:76        subgroupClusteredMax ( global highp 4-component vector of uint)
+0:76          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:76            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              Constant:
+0:76                3 (const int)
+0:76            Constant:
+0:76              2 (const int)
+0:76          Constant:
+0:76            1 (const uint)
+0:78      move second child to first child ( temp highp int)
+0:78        direct index ( temp highp int)
+0:78          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              Constant:
+0:78                0 (const int)
+0:78            Constant:
+0:78              1 (const int)
+0:78          Constant:
+0:78            0 (const int)
+0:78        subgroupClusteredAnd ( global highp int)
+0:78          direct index ( temp highp int)
+0:78            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                Constant:
+0:78                  0 (const int)
+0:78              Constant:
+0:78                1 (const int)
+0:78            Constant:
+0:78              0 (const int)
+0:78          Constant:
+0:78            1 (const uint)
+0:79      move second child to first child ( temp highp 2-component vector of int)
+0:79        vector swizzle ( temp highp 2-component vector of int)
+0:79          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:79            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              Constant:
+0:79                0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79          Sequence
+0:79            Constant:
+0:79              0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79        subgroupClusteredAnd ( global highp 2-component vector of int)
+0:79          vector swizzle ( temp highp 2-component vector of int)
+0:79            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                Constant:
+0:79                  1 (const int)
+0:79              Constant:
+0:79                1 (const int)
+0:79            Sequence
+0:79              Constant:
+0:79                0 (const int)
+0:79              Constant:
+0:79                1 (const int)
+0:79          Constant:
+0:79            1 (const uint)
+0:80      move second child to first child ( temp highp 3-component vector of int)
+0:80        vector swizzle ( temp highp 3-component vector of int)
+0:80          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:80            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              Constant:
+0:80                0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80            Constant:
+0:80              2 (const int)
+0:80        subgroupClusteredAnd ( global highp 3-component vector of int)
+0:80          vector swizzle ( temp highp 3-component vector of int)
+0:80            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                Constant:
+0:80                  2 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80              Constant:
+0:80                2 (const int)
+0:80          Constant:
+0:80            1 (const uint)
+0:81      move second child to first child ( temp highp 4-component vector of int)
+0:81        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:81          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            Constant:
+0:81              0 (const int)
+0:81          Constant:
+0:81            1 (const int)
+0:81        subgroupClusteredAnd ( global highp 4-component vector of int)
+0:81          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:81            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              Constant:
+0:81                3 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81          Constant:
+0:81            1 (const uint)
+0:83      move second child to first child ( temp highp uint)
+0:83        direct index ( temp highp uint)
+0:83          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              Constant:
+0:83                1 (const int)
+0:83            Constant:
+0:83              2 (const int)
+0:83          Constant:
+0:83            0 (const int)
+0:83        subgroupClusteredAnd ( global highp uint)
+0:83          direct index ( temp highp uint)
+0:83            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                Constant:
+0:83                  0 (const int)
+0:83              Constant:
+0:83                2 (const int)
+0:83            Constant:
+0:83              0 (const int)
+0:83          Constant:
+0:83            1 (const uint)
+0:84      move second child to first child ( temp highp 2-component vector of uint)
+0:84        vector swizzle ( temp highp 2-component vector of uint)
+0:84          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:84            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              Constant:
+0:84                1 (const int)
+0:84            Constant:
+0:84              2 (const int)
+0:84          Sequence
+0:84            Constant:
+0:84              0 (const int)
+0:84            Constant:
+0:84              1 (const int)
+0:84        subgroupClusteredAnd ( global highp 2-component vector of uint)
+0:84          vector swizzle ( temp highp 2-component vector of uint)
+0:84            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                Constant:
+0:84                  1 (const int)
+0:84              Constant:
+0:84                2 (const int)
+0:84            Sequence
+0:84              Constant:
+0:84                0 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:84          Constant:
+0:84            1 (const uint)
+0:85      move second child to first child ( temp highp 3-component vector of uint)
+0:85        vector swizzle ( temp highp 3-component vector of uint)
+0:85          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:85            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              Constant:
+0:85                1 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85        subgroupClusteredAnd ( global highp 3-component vector of uint)
+0:85          vector swizzle ( temp highp 3-component vector of uint)
+0:85            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                Constant:
+0:85                  2 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:85          Constant:
+0:85            1 (const uint)
+0:86      move second child to first child ( temp highp 4-component vector of uint)
+0:86        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:86          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            Constant:
+0:86              1 (const int)
+0:86          Constant:
+0:86            2 (const int)
+0:86        subgroupClusteredAnd ( global highp 4-component vector of uint)
+0:86          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:86            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              Constant:
+0:86                3 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86          Constant:
+0:86            1 (const uint)
+0:88      move second child to first child ( temp highp int)
+0:88        direct index ( temp highp int)
+0:88          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:88            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              Constant:
+0:88                2 (const int)
+0:88            Constant:
+0:88              1 (const int)
+0:88          Constant:
+0:88            0 (const int)
+0:88        Convert bool to int ( temp highp int)
+0:88          subgroupClusteredAnd ( global bool)
+0:88            Compare Less Than ( temp bool)
+0:88              direct index ( temp highp int)
+0:88                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:88                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                    Constant:
+0:88                      0 (const int)
+0:88                  Constant:
+0:88                    1 (const int)
+0:88                Constant:
+0:88                  0 (const int)
+0:88              Constant:
+0:88                0 (const int)
+0:88            Constant:
+0:88              1 (const uint)
+0:89      move second child to first child ( temp highp 2-component vector of int)
+0:89        vector swizzle ( temp highp 2-component vector of int)
+0:89          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:89            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              Constant:
+0:89                2 (const int)
+0:89            Constant:
+0:89              1 (const int)
+0:89          Sequence
+0:89            Constant:
+0:89              0 (const int)
+0:89            Constant:
+0:89              1 (const int)
+0:89        Convert bool to int ( temp highp 2-component vector of int)
+0:89          subgroupClusteredAnd ( global 2-component vector of bool)
+0:89            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:89              vector swizzle ( temp highp 2-component vector of int)
+0:89                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:89                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                    Constant:
+0:89                      1 (const int)
+0:89                  Constant:
+0:89                    1 (const int)
+0:89                Sequence
+0:89                  Constant:
+0:89                    0 (const int)
+0:89                  Constant:
+0:89                    1 (const int)
+0:89              Constant:
+0:89                0 (const int)
+0:89                0 (const int)
+0:89            Constant:
+0:89              1 (const uint)
+0:90      move second child to first child ( temp highp 3-component vector of int)
+0:90        vector swizzle ( temp highp 3-component vector of int)
+0:90          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              Constant:
+0:90                2 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90            Constant:
+0:90              2 (const int)
+0:90        Convert bool to int ( temp highp 3-component vector of int)
+0:90          subgroupClusteredAnd ( global 3-component vector of bool)
+0:90            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:90              vector swizzle ( temp highp 3-component vector of int)
+0:90                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                    Constant:
+0:90                      1 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90                Sequence
+0:90                  Constant:
+0:90                    0 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90                  Constant:
+0:90                    2 (const int)
+0:90              Constant:
+0:90                0 (const int)
+0:90                0 (const int)
+0:90                0 (const int)
+0:90            Constant:
+0:90              1 (const uint)
+0:91      move second child to first child ( temp highp 4-component vector of int)
+0:91        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            Constant:
+0:91              2 (const int)
+0:91          Constant:
+0:91            1 (const int)
+0:91        Convert bool to int ( temp highp 4-component vector of int)
+0:91          subgroupClusteredAnd ( global 4-component vector of bool)
+0:91            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:91              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                  Constant:
+0:91                    1 (const int)
+0:91                Constant:
+0:91                  1 (const int)
+0:91              Constant:
+0:91                0 (const int)
+0:91                0 (const int)
+0:91                0 (const int)
+0:91                0 (const int)
+0:91            Constant:
+0:91              1 (const uint)
+0:93      move second child to first child ( temp highp int)
+0:93        direct index ( temp highp int)
+0:93          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              Constant:
+0:93                3 (const int)
+0:93            Constant:
+0:93              1 (const int)
+0:93          Constant:
+0:93            0 (const int)
+0:93        subgroupClusteredOr ( global highp int)
+0:93          direct index ( temp highp int)
+0:93            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                Constant:
+0:93                  0 (const int)
+0:93              Constant:
+0:93                1 (const int)
+0:93            Constant:
+0:93              0 (const int)
+0:93          Constant:
+0:93            1 (const uint)
+0:94      move second child to first child ( temp highp 2-component vector of int)
+0:94        vector swizzle ( temp highp 2-component vector of int)
+0:94          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94          Sequence
+0:94            Constant:
+0:94              0 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94        subgroupClusteredOr ( global highp 2-component vector of int)
+0:94          vector swizzle ( temp highp 2-component vector of int)
+0:94            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                Constant:
+0:94                  1 (const int)
+0:94              Constant:
+0:94                1 (const int)
+0:94            Sequence
+0:94              Constant:
+0:94                0 (const int)
+0:94              Constant:
+0:94                1 (const int)
+0:94          Constant:
+0:94            1 (const uint)
+0:95      move second child to first child ( temp highp 3-component vector of int)
+0:95        vector swizzle ( temp highp 3-component vector of int)
+0:95          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              Constant:
+0:95                3 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95            Constant:
+0:95              2 (const int)
+0:95        subgroupClusteredOr ( global highp 3-component vector of int)
+0:95          vector swizzle ( temp highp 3-component vector of int)
+0:95            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                Constant:
+0:95                  2 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:95            Sequence
+0:95              Constant:
+0:95                0 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:95              Constant:
+0:95                2 (const int)
+0:95          Constant:
+0:95            1 (const uint)
+0:96      move second child to first child ( temp highp 4-component vector of int)
+0:96        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            Constant:
+0:96              3 (const int)
+0:96          Constant:
+0:96            1 (const int)
+0:96        subgroupClusteredOr ( global highp 4-component vector of int)
+0:96          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              Constant:
+0:96                3 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96          Constant:
+0:96            1 (const uint)
+0:98      move second child to first child ( temp highp uint)
+0:98        direct index ( temp highp uint)
+0:98          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              Constant:
+0:98                0 (const int)
+0:98            Constant:
+0:98              2 (const int)
+0:98          Constant:
+0:98            0 (const int)
+0:98        subgroupClusteredOr ( global highp uint)
+0:98          direct index ( temp highp uint)
+0:98            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98                Constant:
+0:98                  0 (const int)
+0:98              Constant:
+0:98                2 (const int)
+0:98            Constant:
+0:98              0 (const int)
+0:98          Constant:
+0:98            1 (const uint)
+0:99      move second child to first child ( temp highp 2-component vector of uint)
+0:99        vector swizzle ( temp highp 2-component vector of uint)
+0:99          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:99            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99              Constant:
+0:99                0 (const int)
+0:99            Constant:
+0:99              2 (const int)
+0:99          Sequence
+0:99            Constant:
+0:99              0 (const int)
+0:99            Constant:
+0:99              1 (const int)
+0:99        subgroupClusteredOr ( global highp 2-component vector of uint)
+0:99          vector swizzle ( temp highp 2-component vector of uint)
+0:99            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:99              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99                Constant:
+0:99                  1 (const int)
+0:99              Constant:
+0:99                2 (const int)
+0:99            Sequence
+0:99              Constant:
+0:99                0 (const int)
+0:99              Constant:
+0:99                1 (const int)
+0:99          Constant:
+0:99            1 (const uint)
+0:100      move second child to first child ( temp highp 3-component vector of uint)
+0:100        vector swizzle ( temp highp 3-component vector of uint)
+0:100          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:100            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              Constant:
+0:100                0 (const int)
+0:100            Constant:
+0:100              2 (const int)
+0:100          Sequence
+0:100            Constant:
+0:100              0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100            Constant:
+0:100              2 (const int)
+0:100        subgroupClusteredOr ( global highp 3-component vector of uint)
+0:100          vector swizzle ( temp highp 3-component vector of uint)
+0:100            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                Constant:
+0:100                  2 (const int)
+0:100              Constant:
+0:100                2 (const int)
+0:100            Sequence
+0:100              Constant:
+0:100                0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100              Constant:
+0:100                2 (const int)
+0:100          Constant:
+0:100            1 (const uint)
+0:101      move second child to first child ( temp highp 4-component vector of uint)
+0:101        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:101          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101            Constant:
+0:101              0 (const int)
+0:101          Constant:
+0:101            2 (const int)
+0:101        subgroupClusteredOr ( global highp 4-component vector of uint)
+0:101          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:101            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              Constant:
+0:101                3 (const int)
+0:101            Constant:
+0:101              2 (const int)
+0:101          Constant:
+0:101            1 (const uint)
+0:103      move second child to first child ( temp highp int)
+0:103        direct index ( temp highp int)
+0:103          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              Constant:
+0:103                1 (const int)
+0:103            Constant:
+0:103              1 (const int)
+0:103          Constant:
+0:103            0 (const int)
+0:103        Convert bool to int ( temp highp int)
+0:103          subgroupClusteredOr ( global bool)
+0:103            Compare Less Than ( temp bool)
+0:103              direct index ( temp highp int)
+0:103                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103                    Constant:
+0:103                      0 (const int)
+0:103                  Constant:
+0:103                    1 (const int)
+0:103                Constant:
+0:103                  0 (const int)
+0:103              Constant:
+0:103                0 (const int)
+0:103            Constant:
+0:103              1 (const uint)
+0:104      move second child to first child ( temp highp 2-component vector of int)
+0:104        vector swizzle ( temp highp 2-component vector of int)
+0:104          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:104            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104              Constant:
+0:104                1 (const int)
+0:104            Constant:
+0:104              1 (const int)
+0:104          Sequence
+0:104            Constant:
+0:104              0 (const int)
+0:104            Constant:
+0:104              1 (const int)
+0:104        Convert bool to int ( temp highp 2-component vector of int)
+0:104          subgroupClusteredOr ( global 2-component vector of bool)
+0:104            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:104              vector swizzle ( temp highp 2-component vector of int)
+0:104                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:104                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104                    Constant:
+0:104                      1 (const int)
+0:104                  Constant:
+0:104                    1 (const int)
+0:104                Sequence
+0:104                  Constant:
+0:104                    0 (const int)
+0:104                  Constant:
+0:104                    1 (const int)
+0:104              Constant:
+0:104                0 (const int)
+0:104                0 (const int)
+0:104            Constant:
+0:104              1 (const uint)
+0:105      move second child to first child ( temp highp 3-component vector of int)
+0:105        vector swizzle ( temp highp 3-component vector of int)
+0:105          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:105            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              Constant:
+0:105                1 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105          Sequence
+0:105            Constant:
+0:105              0 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105            Constant:
+0:105              2 (const int)
+0:105        Convert bool to int ( temp highp 3-component vector of int)
+0:105          subgroupClusteredOr ( global 3-component vector of bool)
+0:105            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:105              vector swizzle ( temp highp 3-component vector of int)
+0:105                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:105                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                    Constant:
+0:105                      1 (const int)
+0:105                  Constant:
+0:105                    1 (const int)
+0:105                Sequence
+0:105                  Constant:
+0:105                    0 (const int)
+0:105                  Constant:
+0:105                    1 (const int)
+0:105                  Constant:
+0:105                    2 (const int)
+0:105              Constant:
+0:105                0 (const int)
+0:105                0 (const int)
+0:105                0 (const int)
+0:105            Constant:
+0:105              1 (const uint)
+0:106      move second child to first child ( temp highp 4-component vector of int)
+0:106        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:106          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106            Constant:
+0:106              1 (const int)
+0:106          Constant:
+0:106            1 (const int)
+0:106        Convert bool to int ( temp highp 4-component vector of int)
+0:106          subgroupClusteredOr ( global 4-component vector of bool)
+0:106            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:106              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:106                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                  Constant:
+0:106                    1 (const int)
+0:106                Constant:
+0:106                  1 (const int)
+0:106              Constant:
+0:106                0 (const int)
+0:106                0 (const int)
+0:106                0 (const int)
+0:106                0 (const int)
+0:106            Constant:
+0:106              1 (const uint)
+0:108      move second child to first child ( temp highp int)
+0:108        direct index ( temp highp int)
+0:108          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:108            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              Constant:
+0:108                2 (const int)
+0:108            Constant:
+0:108              1 (const int)
+0:108          Constant:
+0:108            0 (const int)
+0:108        subgroupClusteredXor ( global highp int)
+0:108          direct index ( temp highp int)
+0:108            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:108              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108                Constant:
+0:108                  0 (const int)
+0:108              Constant:
+0:108                1 (const int)
+0:108            Constant:
+0:108              0 (const int)
+0:108          Constant:
+0:108            1 (const uint)
+0:109      move second child to first child ( temp highp 2-component vector of int)
+0:109        vector swizzle ( temp highp 2-component vector of int)
+0:109          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:109            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109              Constant:
+0:109                2 (const int)
+0:109            Constant:
+0:109              1 (const int)
+0:109          Sequence
+0:109            Constant:
+0:109              0 (const int)
+0:109            Constant:
+0:109              1 (const int)
+0:109        subgroupClusteredXor ( global highp 2-component vector of int)
+0:109          vector swizzle ( temp highp 2-component vector of int)
+0:109            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:109              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109                Constant:
+0:109                  1 (const int)
+0:109              Constant:
+0:109                1 (const int)
+0:109            Sequence
+0:109              Constant:
+0:109                0 (const int)
+0:109              Constant:
+0:109                1 (const int)
+0:109          Constant:
+0:109            1 (const uint)
+0:110      move second child to first child ( temp highp 3-component vector of int)
+0:110        vector swizzle ( temp highp 3-component vector of int)
+0:110          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              Constant:
+0:110                2 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Sequence
+0:110            Constant:
+0:110              0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110            Constant:
+0:110              2 (const int)
+0:110        subgroupClusteredXor ( global highp 3-component vector of int)
+0:110          vector swizzle ( temp highp 3-component vector of int)
+0:110            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                Constant:
+0:110                  2 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:110            Sequence
+0:110              Constant:
+0:110                0 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:110              Constant:
+0:110                2 (const int)
+0:110          Constant:
+0:110            1 (const uint)
+0:111      move second child to first child ( temp highp 4-component vector of int)
+0:111        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111            Constant:
+0:111              2 (const int)
+0:111          Constant:
+0:111            1 (const int)
+0:111        subgroupClusteredXor ( global highp 4-component vector of int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              Constant:
+0:111                3 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Constant:
+0:111            1 (const uint)
+0:113      move second child to first child ( temp highp uint)
+0:113        direct index ( temp highp uint)
+0:113          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:113            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113              Constant:
+0:113                3 (const int)
+0:113            Constant:
+0:113              2 (const int)
+0:113          Constant:
+0:113            0 (const int)
+0:113        subgroupClusteredXor ( global highp uint)
+0:113          direct index ( temp highp uint)
+0:113            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:113              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                Constant:
+0:113                  0 (const int)
+0:113              Constant:
+0:113                2 (const int)
+0:113            Constant:
+0:113              0 (const int)
+0:113          Constant:
+0:113            1 (const uint)
+0:114      move second child to first child ( temp highp 2-component vector of uint)
+0:114        vector swizzle ( temp highp 2-component vector of uint)
+0:114          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:114            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114              Constant:
+0:114                3 (const int)
+0:114            Constant:
+0:114              2 (const int)
+0:114          Sequence
+0:114            Constant:
+0:114              0 (const int)
+0:114            Constant:
+0:114              1 (const int)
+0:114        subgroupClusteredXor ( global highp 2-component vector of uint)
+0:114          vector swizzle ( temp highp 2-component vector of uint)
+0:114            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:114              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114                Constant:
+0:114                  1 (const int)
+0:114              Constant:
+0:114                2 (const int)
+0:114            Sequence
+0:114              Constant:
+0:114                0 (const int)
+0:114              Constant:
+0:114                1 (const int)
+0:114          Constant:
+0:114            1 (const uint)
+0:115      move second child to first child ( temp highp 3-component vector of uint)
+0:115        vector swizzle ( temp highp 3-component vector of uint)
+0:115          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:115            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              Constant:
+0:115                3 (const int)
+0:115            Constant:
+0:115              2 (const int)
+0:115          Sequence
+0:115            Constant:
+0:115              0 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115            Constant:
+0:115              2 (const int)
+0:115        subgroupClusteredXor ( global highp 3-component vector of uint)
+0:115          vector swizzle ( temp highp 3-component vector of uint)
+0:115            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                Constant:
+0:115                  2 (const int)
+0:115              Constant:
+0:115                2 (const int)
+0:115            Sequence
+0:115              Constant:
+0:115                0 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115              Constant:
+0:115                2 (const int)
+0:115          Constant:
+0:115            1 (const uint)
+0:116      move second child to first child ( temp highp 4-component vector of uint)
+0:116        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:116          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116            Constant:
+0:116              3 (const int)
+0:116          Constant:
+0:116            2 (const int)
+0:116        subgroupClusteredXor ( global highp 4-component vector of uint)
+0:116          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:116            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              Constant:
+0:116                3 (const int)
+0:116            Constant:
+0:116              2 (const int)
+0:116          Constant:
+0:116            1 (const uint)
+0:118      move second child to first child ( temp highp int)
+0:118        direct index ( temp highp int)
+0:118          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              Constant:
+0:118                0 (const int)
+0:118            Constant:
+0:118              1 (const int)
+0:118          Constant:
+0:118            0 (const int)
+0:118        Convert bool to int ( temp highp int)
+0:118          subgroupClusteredXor ( global bool)
+0:118            Compare Less Than ( temp bool)
+0:118              direct index ( temp highp int)
+0:118                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118                    Constant:
+0:118                      0 (const int)
+0:118                  Constant:
+0:118                    1 (const int)
+0:118                Constant:
+0:118                  0 (const int)
+0:118              Constant:
+0:118                0 (const int)
+0:118            Constant:
+0:118              1 (const uint)
+0:119      move second child to first child ( temp highp 2-component vector of int)
+0:119        vector swizzle ( temp highp 2-component vector of int)
+0:119          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:119            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119              Constant:
+0:119                0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:119          Sequence
+0:119            Constant:
+0:119              0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:119        Convert bool to int ( temp highp 2-component vector of int)
+0:119          subgroupClusteredXor ( global 2-component vector of bool)
+0:119            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:119              vector swizzle ( temp highp 2-component vector of int)
+0:119                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:119                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119                    Constant:
+0:119                      1 (const int)
+0:119                  Constant:
+0:119                    1 (const int)
+0:119                Sequence
+0:119                  Constant:
+0:119                    0 (const int)
+0:119                  Constant:
+0:119                    1 (const int)
+0:119              Constant:
+0:119                0 (const int)
+0:119                0 (const int)
+0:119            Constant:
+0:119              1 (const uint)
+0:120      move second child to first child ( temp highp 3-component vector of int)
+0:120        vector swizzle ( temp highp 3-component vector of int)
+0:120          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:120            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              Constant:
+0:120                0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120          Sequence
+0:120            Constant:
+0:120              0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120            Constant:
+0:120              2 (const int)
+0:120        Convert bool to int ( temp highp 3-component vector of int)
+0:120          subgroupClusteredXor ( global 3-component vector of bool)
+0:120            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:120              vector swizzle ( temp highp 3-component vector of int)
+0:120                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:120                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                    Constant:
+0:120                      1 (const int)
+0:120                  Constant:
+0:120                    1 (const int)
+0:120                Sequence
+0:120                  Constant:
+0:120                    0 (const int)
+0:120                  Constant:
+0:120                    1 (const int)
+0:120                  Constant:
+0:120                    2 (const int)
+0:120              Constant:
+0:120                0 (const int)
+0:120                0 (const int)
+0:120                0 (const int)
+0:120            Constant:
+0:120              1 (const uint)
+0:121      move second child to first child ( temp highp 4-component vector of int)
+0:121        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:121          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121            Constant:
+0:121              0 (const int)
+0:121          Constant:
+0:121            1 (const int)
+0:121        Convert bool to int ( temp highp 4-component vector of int)
+0:121          subgroupClusteredXor ( global 4-component vector of bool)
+0:121            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:121              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:121                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                  Constant:
+0:121                    1 (const int)
+0:121                Constant:
+0:121                  1 (const int)
+0:121              Constant:
+0:121                0 (const int)
+0:121                0 (const int)
+0:121                0 (const int)
+0:121                0 (const int)
+0:121            Constant:
+0:121              1 (const uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
+
+Linked compute stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_clustered
+local_size = (8, 1, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      move second child to first child ( temp highp float)
+0:18        direct index ( temp highp float)
+0:18          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            0 (const int)
+0:18        subgroupClusteredAdd ( global highp float)
+0:18          direct index ( temp highp float)
+0:18            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                Constant:
+0:18                  0 (const int)
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            1 (const uint)
+0:19      move second child to first child ( temp highp 2-component vector of float)
+0:19        vector swizzle ( temp highp 2-component vector of float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Sequence
+0:19            Constant:
+0:19              0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19        subgroupClusteredAdd ( global highp 2-component vector of float)
+0:19          vector swizzle ( temp highp 2-component vector of float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                Constant:
+0:19                  1 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Sequence
+0:19              Constant:
+0:19                0 (const int)
+0:19              Constant:
+0:19                1 (const int)
+0:19          Constant:
+0:19            1 (const uint)
+0:20      move second child to first child ( temp highp 3-component vector of float)
+0:20        vector swizzle ( temp highp 3-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20            Constant:
+0:20              2 (const int)
+0:20        subgroupClusteredAdd ( global highp 3-component vector of float)
+0:20          vector swizzle ( temp highp 3-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  2 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20              Constant:
+0:20                2 (const int)
+0:20          Constant:
+0:20            1 (const uint)
+0:21      move second child to first child ( temp highp 4-component vector of float)
+0:21        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            0 (const int)
+0:21        subgroupClusteredAdd ( global highp 4-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                3 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            1 (const uint)
+0:23      move second child to first child ( temp highp int)
+0:23        direct index ( temp highp int)
+0:23          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              1 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupClusteredAdd ( global highp int)
+0:23          direct index ( temp highp int)
+0:23            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          Constant:
+0:23            1 (const uint)
+0:24      move second child to first child ( temp highp 2-component vector of int)
+0:24        vector swizzle ( temp highp 2-component vector of int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              Constant:
+0:24                1 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Sequence
+0:24            Constant:
+0:24              0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24        subgroupClusteredAdd ( global highp 2-component vector of int)
+0:24          vector swizzle ( temp highp 2-component vector of int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                Constant:
+0:24                  1 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Sequence
+0:24              Constant:
+0:24                0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24          Constant:
+0:24            1 (const uint)
+0:25      move second child to first child ( temp highp 3-component vector of int)
+0:25        vector swizzle ( temp highp 3-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                1 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25        subgroupClusteredAdd ( global highp 3-component vector of int)
+0:25          vector swizzle ( temp highp 3-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  2 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25          Constant:
+0:25            1 (const uint)
+0:26      move second child to first child ( temp highp 4-component vector of int)
+0:26        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              1 (const int)
+0:26          Constant:
+0:26            1 (const int)
+0:26        subgroupClusteredAdd ( global highp 4-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                3 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Constant:
+0:26            1 (const uint)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupClusteredAdd ( global highp uint)
+0:28          direct index ( temp highp uint)
+0:28            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28          Constant:
+0:28            1 (const uint)
+0:29      move second child to first child ( temp highp 2-component vector of uint)
+0:29        vector swizzle ( temp highp 2-component vector of uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                2 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupClusteredAdd ( global highp 2-component vector of uint)
+0:29          vector swizzle ( temp highp 2-component vector of uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29          Constant:
+0:29            1 (const uint)
+0:30      move second child to first child ( temp highp 3-component vector of uint)
+0:30        vector swizzle ( temp highp 3-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              Constant:
+0:30                2 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30        subgroupClusteredAdd ( global highp 3-component vector of uint)
+0:30          vector swizzle ( temp highp 3-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  2 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30          Constant:
+0:30            1 (const uint)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              2 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupClusteredAdd ( global highp 4-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Constant:
+0:31            1 (const uint)
+0:33      move second child to first child ( temp highp float)
+0:33        direct index ( temp highp float)
+0:33          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                3 (const int)
+0:33            Constant:
+0:33              0 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        subgroupClusteredMul ( global highp float)
+0:33          direct index ( temp highp float)
+0:33            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            Constant:
+0:33              0 (const int)
+0:33          Constant:
+0:33            1 (const uint)
+0:34      move second child to first child ( temp highp 2-component vector of float)
+0:34        vector swizzle ( temp highp 2-component vector of float)
+0:34          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              Constant:
+0:34                3 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        subgroupClusteredMul ( global highp 2-component vector of float)
+0:34          vector swizzle ( temp highp 2-component vector of float)
+0:34            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                Constant:
+0:34                  1 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34            Sequence
+0:34              Constant:
+0:34                0 (const int)
+0:34              Constant:
+0:34                1 (const int)
+0:34          Constant:
+0:34            1 (const uint)
+0:35      move second child to first child ( temp highp 3-component vector of float)
+0:35        vector swizzle ( temp highp 3-component vector of float)
+0:35          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              Constant:
+0:35                3 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35            Constant:
+0:35              2 (const int)
+0:35        subgroupClusteredMul ( global highp 3-component vector of float)
+0:35          vector swizzle ( temp highp 3-component vector of float)
+0:35            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                Constant:
+0:35                  2 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Sequence
+0:35              Constant:
+0:35                0 (const int)
+0:35              Constant:
+0:35                1 (const int)
+0:35              Constant:
+0:35                2 (const int)
+0:35          Constant:
+0:35            1 (const uint)
+0:36      move second child to first child ( temp highp 4-component vector of float)
+0:36        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              3 (const int)
+0:36          Constant:
+0:36            0 (const int)
+0:36        subgroupClusteredMul ( global highp 4-component vector of float)
+0:36          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:36            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36              Constant:
+0:36                3 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Constant:
+0:36            1 (const uint)
+0:38      move second child to first child ( temp highp int)
+0:38        direct index ( temp highp int)
+0:38          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              Constant:
+0:38                0 (const int)
+0:38            Constant:
+0:38              1 (const int)
+0:38          Constant:
+0:38            0 (const int)
+0:38        subgroupClusteredMul ( global highp int)
+0:38          direct index ( temp highp int)
+0:38            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          Constant:
+0:38            1 (const uint)
+0:39      move second child to first child ( temp highp 2-component vector of int)
+0:39        vector swizzle ( temp highp 2-component vector of int)
+0:39          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Sequence
+0:39            Constant:
+0:39              0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39        subgroupClusteredMul ( global highp 2-component vector of int)
+0:39          vector swizzle ( temp highp 2-component vector of int)
+0:39            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:39            Sequence
+0:39              Constant:
+0:39                0 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:39          Constant:
+0:39            1 (const uint)
+0:40      move second child to first child ( temp highp 3-component vector of int)
+0:40        vector swizzle ( temp highp 3-component vector of int)
+0:40          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40            Constant:
+0:40              2 (const int)
+0:40        subgroupClusteredMul ( global highp 3-component vector of int)
+0:40          vector swizzle ( temp highp 3-component vector of int)
+0:40            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  2 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40              Constant:
+0:40                2 (const int)
+0:40          Constant:
+0:40            1 (const uint)
+0:41      move second child to first child ( temp highp 4-component vector of int)
+0:41        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            Constant:
+0:41              0 (const int)
+0:41          Constant:
+0:41            1 (const int)
+0:41        subgroupClusteredMul ( global highp 4-component vector of int)
+0:41          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                3 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Constant:
+0:41            1 (const uint)
+0:43      move second child to first child ( temp highp uint)
+0:43        direct index ( temp highp uint)
+0:43          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              2 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        subgroupClusteredMul ( global highp uint)
+0:43          direct index ( temp highp uint)
+0:43            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:43              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                2 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:43          Constant:
+0:43            1 (const uint)
+0:44      move second child to first child ( temp highp 2-component vector of uint)
+0:44        vector swizzle ( temp highp 2-component vector of uint)
+0:44          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              Constant:
+0:44                1 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:44          Sequence
+0:44            Constant:
+0:44              0 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44        subgroupClusteredMul ( global highp 2-component vector of uint)
+0:44          vector swizzle ( temp highp 2-component vector of uint)
+0:44            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                Constant:
+0:44                  1 (const int)
+0:44              Constant:
+0:44                2 (const int)
+0:44            Sequence
+0:44              Constant:
+0:44                0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44          Constant:
+0:44            1 (const uint)
+0:45      move second child to first child ( temp highp 3-component vector of uint)
+0:45        vector swizzle ( temp highp 3-component vector of uint)
+0:45          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45        subgroupClusteredMul ( global highp 3-component vector of uint)
+0:45          vector swizzle ( temp highp 3-component vector of uint)
+0:45            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45          Constant:
+0:45            1 (const uint)
+0:46      move second child to first child ( temp highp 4-component vector of uint)
+0:46        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            Constant:
+0:46              1 (const int)
+0:46          Constant:
+0:46            2 (const int)
+0:46        subgroupClusteredMul ( global highp 4-component vector of uint)
+0:46          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                3 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46          Constant:
+0:46            1 (const uint)
+0:48      move second child to first child ( temp highp float)
+0:48        direct index ( temp highp float)
+0:48          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                2 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:48          Constant:
+0:48            0 (const int)
+0:48        subgroupClusteredMin ( global highp float)
+0:48          direct index ( temp highp float)
+0:48            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                Constant:
+0:48                  0 (const int)
+0:48              Constant:
+0:48                0 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:48          Constant:
+0:48            1 (const uint)
+0:49      move second child to first child ( temp highp 2-component vector of float)
+0:49        vector swizzle ( temp highp 2-component vector of float)
+0:49          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              Constant:
+0:49                2 (const int)
+0:49            Constant:
+0:49              0 (const int)
+0:49          Sequence
+0:49            Constant:
+0:49              0 (const int)
+0:49            Constant:
+0:49              1 (const int)
+0:49        subgroupClusteredMin ( global highp 2-component vector of float)
+0:49          vector swizzle ( temp highp 2-component vector of float)
+0:49            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Constant:
+0:49                0 (const int)
+0:49            Sequence
+0:49              Constant:
+0:49                0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49          Constant:
+0:49            1 (const uint)
+0:50      move second child to first child ( temp highp 3-component vector of float)
+0:50        vector swizzle ( temp highp 3-component vector of float)
+0:50          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                2 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50        subgroupClusteredMin ( global highp 3-component vector of float)
+0:50          vector swizzle ( temp highp 3-component vector of float)
+0:50            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  2 (const int)
+0:50              Constant:
+0:50                0 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50          Constant:
+0:50            1 (const uint)
+0:51      move second child to first child ( temp highp 4-component vector of float)
+0:51        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:51          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            Constant:
+0:51              2 (const int)
+0:51          Constant:
+0:51            0 (const int)
+0:51        subgroupClusteredMin ( global highp 4-component vector of float)
+0:51          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                3 (const int)
+0:51            Constant:
+0:51              0 (const int)
+0:51          Constant:
+0:51            1 (const uint)
+0:53      move second child to first child ( temp highp int)
+0:53        direct index ( temp highp int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                3 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            0 (const int)
+0:53        subgroupClusteredMin ( global highp int)
+0:53          direct index ( temp highp int)
+0:53            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                Constant:
+0:53                  0 (const int)
+0:53              Constant:
+0:53                1 (const int)
+0:53            Constant:
+0:53              0 (const int)
+0:53          Constant:
+0:53            1 (const uint)
+0:54      move second child to first child ( temp highp 2-component vector of int)
+0:54        vector swizzle ( temp highp 2-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          Sequence
+0:54            Constant:
+0:54              0 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54        subgroupClusteredMin ( global highp 2-component vector of int)
+0:54          vector swizzle ( temp highp 2-component vector of int)
+0:54            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                Constant:
+0:54                  1 (const int)
+0:54              Constant:
+0:54                1 (const int)
+0:54            Sequence
+0:54              Constant:
+0:54                0 (const int)
+0:54              Constant:
+0:54                1 (const int)
+0:54          Constant:
+0:54            1 (const uint)
+0:55      move second child to first child ( temp highp 3-component vector of int)
+0:55        vector swizzle ( temp highp 3-component vector of int)
+0:55          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                3 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55            Constant:
+0:55              2 (const int)
+0:55        subgroupClusteredMin ( global highp 3-component vector of int)
+0:55          vector swizzle ( temp highp 3-component vector of int)
+0:55            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                Constant:
+0:55                  2 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55            Sequence
+0:55              Constant:
+0:55                0 (const int)
+0:55              Constant:
+0:55                1 (const int)
+0:55              Constant:
+0:55                2 (const int)
+0:55          Constant:
+0:55            1 (const uint)
+0:56      move second child to first child ( temp highp 4-component vector of int)
+0:56        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            Constant:
+0:56              3 (const int)
+0:56          Constant:
+0:56            1 (const int)
+0:56        subgroupClusteredMin ( global highp 4-component vector of int)
+0:56          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              Constant:
+0:56                3 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56          Constant:
+0:56            1 (const uint)
+0:58      move second child to first child ( temp highp uint)
+0:58        direct index ( temp highp uint)
+0:58          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:58            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              Constant:
+0:58                0 (const int)
+0:58            Constant:
+0:58              2 (const int)
+0:58          Constant:
+0:58            0 (const int)
+0:58        subgroupClusteredMin ( global highp uint)
+0:58          direct index ( temp highp uint)
+0:58            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:58              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                Constant:
+0:58                  0 (const int)
+0:58              Constant:
+0:58                2 (const int)
+0:58            Constant:
+0:58              0 (const int)
+0:58          Constant:
+0:58            1 (const uint)
+0:59      move second child to first child ( temp highp 2-component vector of uint)
+0:59        vector swizzle ( temp highp 2-component vector of uint)
+0:59          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:59            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              Constant:
+0:59                0 (const int)
+0:59            Constant:
+0:59              2 (const int)
+0:59          Sequence
+0:59            Constant:
+0:59              0 (const int)
+0:59            Constant:
+0:59              1 (const int)
+0:59        subgroupClusteredMin ( global highp 2-component vector of uint)
+0:59          vector swizzle ( temp highp 2-component vector of uint)
+0:59            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                Constant:
+0:59                  1 (const int)
+0:59              Constant:
+0:59                2 (const int)
+0:59            Sequence
+0:59              Constant:
+0:59                0 (const int)
+0:59              Constant:
+0:59                1 (const int)
+0:59          Constant:
+0:59            1 (const uint)
+0:60      move second child to first child ( temp highp 3-component vector of uint)
+0:60        vector swizzle ( temp highp 3-component vector of uint)
+0:60          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:60            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              Constant:
+0:60                0 (const int)
+0:60            Constant:
+0:60              2 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60            Constant:
+0:60              2 (const int)
+0:60        subgroupClusteredMin ( global highp 3-component vector of uint)
+0:60          vector swizzle ( temp highp 3-component vector of uint)
+0:60            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                Constant:
+0:60                  2 (const int)
+0:60              Constant:
+0:60                2 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60              Constant:
+0:60                2 (const int)
+0:60          Constant:
+0:60            1 (const uint)
+0:61      move second child to first child ( temp highp 4-component vector of uint)
+0:61        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:61          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            Constant:
+0:61              0 (const int)
+0:61          Constant:
+0:61            2 (const int)
+0:61        subgroupClusteredMin ( global highp 4-component vector of uint)
+0:61          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:61            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              Constant:
+0:61                3 (const int)
+0:61            Constant:
+0:61              2 (const int)
+0:61          Constant:
+0:61            1 (const uint)
+0:63      move second child to first child ( temp highp float)
+0:63        direct index ( temp highp float)
+0:63          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:63            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              Constant:
+0:63                1 (const int)
+0:63            Constant:
+0:63              0 (const int)
+0:63          Constant:
+0:63            0 (const int)
+0:63        subgroupClusteredMax ( global highp float)
+0:63          direct index ( temp highp float)
+0:63            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:63              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                Constant:
+0:63                  0 (const int)
+0:63              Constant:
+0:63                0 (const int)
+0:63            Constant:
+0:63              0 (const int)
+0:63          Constant:
+0:63            1 (const uint)
+0:64      move second child to first child ( temp highp 2-component vector of float)
+0:64        vector swizzle ( temp highp 2-component vector of float)
+0:64          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:64            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              Constant:
+0:64                1 (const int)
+0:64            Constant:
+0:64              0 (const int)
+0:64          Sequence
+0:64            Constant:
+0:64              0 (const int)
+0:64            Constant:
+0:64              1 (const int)
+0:64        subgroupClusteredMax ( global highp 2-component vector of float)
+0:64          vector swizzle ( temp highp 2-component vector of float)
+0:64            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                Constant:
+0:64                  1 (const int)
+0:64              Constant:
+0:64                0 (const int)
+0:64            Sequence
+0:64              Constant:
+0:64                0 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:64          Constant:
+0:64            1 (const uint)
+0:65      move second child to first child ( temp highp 3-component vector of float)
+0:65        vector swizzle ( temp highp 3-component vector of float)
+0:65          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:65            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              Constant:
+0:65                1 (const int)
+0:65            Constant:
+0:65              0 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65        subgroupClusteredMax ( global highp 3-component vector of float)
+0:65          vector swizzle ( temp highp 3-component vector of float)
+0:65            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                Constant:
+0:65                  2 (const int)
+0:65              Constant:
+0:65                0 (const int)
+0:65            Sequence
+0:65              Constant:
+0:65                0 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:65          Constant:
+0:65            1 (const uint)
+0:66      move second child to first child ( temp highp 4-component vector of float)
+0:66        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:66          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            Constant:
+0:66              1 (const int)
+0:66          Constant:
+0:66            0 (const int)
+0:66        subgroupClusteredMax ( global highp 4-component vector of float)
+0:66          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:66            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              Constant:
+0:66                3 (const int)
+0:66            Constant:
+0:66              0 (const int)
+0:66          Constant:
+0:66            1 (const uint)
+0:68      move second child to first child ( temp highp int)
+0:68        direct index ( temp highp int)
+0:68          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:68            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              Constant:
+0:68                2 (const int)
+0:68            Constant:
+0:68              1 (const int)
+0:68          Constant:
+0:68            0 (const int)
+0:68        subgroupClusteredMax ( global highp int)
+0:68          direct index ( temp highp int)
+0:68            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:68              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                Constant:
+0:68                  0 (const int)
+0:68              Constant:
+0:68                1 (const int)
+0:68            Constant:
+0:68              0 (const int)
+0:68          Constant:
+0:68            1 (const uint)
+0:69      move second child to first child ( temp highp 2-component vector of int)
+0:69        vector swizzle ( temp highp 2-component vector of int)
+0:69          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:69            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              Constant:
+0:69                2 (const int)
+0:69            Constant:
+0:69              1 (const int)
+0:69          Sequence
+0:69            Constant:
+0:69              0 (const int)
+0:69            Constant:
+0:69              1 (const int)
+0:69        subgroupClusteredMax ( global highp 2-component vector of int)
+0:69          vector swizzle ( temp highp 2-component vector of int)
+0:69            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                Constant:
+0:69                  1 (const int)
+0:69              Constant:
+0:69                1 (const int)
+0:69            Sequence
+0:69              Constant:
+0:69                0 (const int)
+0:69              Constant:
+0:69                1 (const int)
+0:69          Constant:
+0:69            1 (const uint)
+0:70      move second child to first child ( temp highp 3-component vector of int)
+0:70        vector swizzle ( temp highp 3-component vector of int)
+0:70          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              Constant:
+0:70                2 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70            Constant:
+0:70              2 (const int)
+0:70        subgroupClusteredMax ( global highp 3-component vector of int)
+0:70          vector swizzle ( temp highp 3-component vector of int)
+0:70            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                Constant:
+0:70                  2 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:70          Constant:
+0:70            1 (const uint)
+0:71      move second child to first child ( temp highp 4-component vector of int)
+0:71        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            Constant:
+0:71              2 (const int)
+0:71          Constant:
+0:71            1 (const int)
+0:71        subgroupClusteredMax ( global highp 4-component vector of int)
+0:71          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:71            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              Constant:
+0:71                3 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71          Constant:
+0:71            1 (const uint)
+0:73      move second child to first child ( temp highp uint)
+0:73        direct index ( temp highp uint)
+0:73          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:73            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              Constant:
+0:73                3 (const int)
+0:73            Constant:
+0:73              2 (const int)
+0:73          Constant:
+0:73            0 (const int)
+0:73        subgroupClusteredMax ( global highp uint)
+0:73          direct index ( temp highp uint)
+0:73            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:73              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                Constant:
+0:73                  0 (const int)
+0:73              Constant:
+0:73                2 (const int)
+0:73            Constant:
+0:73              0 (const int)
+0:73          Constant:
+0:73            1 (const uint)
+0:74      move second child to first child ( temp highp 2-component vector of uint)
+0:74        vector swizzle ( temp highp 2-component vector of uint)
+0:74          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:74            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              2 (const int)
+0:74          Sequence
+0:74            Constant:
+0:74              0 (const int)
+0:74            Constant:
+0:74              1 (const int)
+0:74        subgroupClusteredMax ( global highp 2-component vector of uint)
+0:74          vector swizzle ( temp highp 2-component vector of uint)
+0:74            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:74              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                Constant:
+0:74                  1 (const int)
+0:74              Constant:
+0:74                2 (const int)
+0:74            Sequence
+0:74              Constant:
+0:74                0 (const int)
+0:74              Constant:
+0:74                1 (const int)
+0:74          Constant:
+0:74            1 (const uint)
+0:75      move second child to first child ( temp highp 3-component vector of uint)
+0:75        vector swizzle ( temp highp 3-component vector of uint)
+0:75          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:75            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              Constant:
+0:75                3 (const int)
+0:75            Constant:
+0:75              2 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75            Constant:
+0:75              2 (const int)
+0:75        subgroupClusteredMax ( global highp 3-component vector of uint)
+0:75          vector swizzle ( temp highp 3-component vector of uint)
+0:75            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                Constant:
+0:75                  2 (const int)
+0:75              Constant:
+0:75                2 (const int)
+0:75            Sequence
+0:75              Constant:
+0:75                0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:75              Constant:
+0:75                2 (const int)
+0:75          Constant:
+0:75            1 (const uint)
+0:76      move second child to first child ( temp highp 4-component vector of uint)
+0:76        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:76          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            Constant:
+0:76              3 (const int)
+0:76          Constant:
+0:76            2 (const int)
+0:76        subgroupClusteredMax ( global highp 4-component vector of uint)
+0:76          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:76            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              Constant:
+0:76                3 (const int)
+0:76            Constant:
+0:76              2 (const int)
+0:76          Constant:
+0:76            1 (const uint)
+0:78      move second child to first child ( temp highp int)
+0:78        direct index ( temp highp int)
+0:78          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              Constant:
+0:78                0 (const int)
+0:78            Constant:
+0:78              1 (const int)
+0:78          Constant:
+0:78            0 (const int)
+0:78        subgroupClusteredAnd ( global highp int)
+0:78          direct index ( temp highp int)
+0:78            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                Constant:
+0:78                  0 (const int)
+0:78              Constant:
+0:78                1 (const int)
+0:78            Constant:
+0:78              0 (const int)
+0:78          Constant:
+0:78            1 (const uint)
+0:79      move second child to first child ( temp highp 2-component vector of int)
+0:79        vector swizzle ( temp highp 2-component vector of int)
+0:79          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:79            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              Constant:
+0:79                0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79          Sequence
+0:79            Constant:
+0:79              0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79        subgroupClusteredAnd ( global highp 2-component vector of int)
+0:79          vector swizzle ( temp highp 2-component vector of int)
+0:79            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                Constant:
+0:79                  1 (const int)
+0:79              Constant:
+0:79                1 (const int)
+0:79            Sequence
+0:79              Constant:
+0:79                0 (const int)
+0:79              Constant:
+0:79                1 (const int)
+0:79          Constant:
+0:79            1 (const uint)
+0:80      move second child to first child ( temp highp 3-component vector of int)
+0:80        vector swizzle ( temp highp 3-component vector of int)
+0:80          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:80            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              Constant:
+0:80                0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80            Constant:
+0:80              2 (const int)
+0:80        subgroupClusteredAnd ( global highp 3-component vector of int)
+0:80          vector swizzle ( temp highp 3-component vector of int)
+0:80            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                Constant:
+0:80                  2 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80              Constant:
+0:80                2 (const int)
+0:80          Constant:
+0:80            1 (const uint)
+0:81      move second child to first child ( temp highp 4-component vector of int)
+0:81        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:81          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            Constant:
+0:81              0 (const int)
+0:81          Constant:
+0:81            1 (const int)
+0:81        subgroupClusteredAnd ( global highp 4-component vector of int)
+0:81          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:81            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              Constant:
+0:81                3 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81          Constant:
+0:81            1 (const uint)
+0:83      move second child to first child ( temp highp uint)
+0:83        direct index ( temp highp uint)
+0:83          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              Constant:
+0:83                1 (const int)
+0:83            Constant:
+0:83              2 (const int)
+0:83          Constant:
+0:83            0 (const int)
+0:83        subgroupClusteredAnd ( global highp uint)
+0:83          direct index ( temp highp uint)
+0:83            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                Constant:
+0:83                  0 (const int)
+0:83              Constant:
+0:83                2 (const int)
+0:83            Constant:
+0:83              0 (const int)
+0:83          Constant:
+0:83            1 (const uint)
+0:84      move second child to first child ( temp highp 2-component vector of uint)
+0:84        vector swizzle ( temp highp 2-component vector of uint)
+0:84          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:84            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              Constant:
+0:84                1 (const int)
+0:84            Constant:
+0:84              2 (const int)
+0:84          Sequence
+0:84            Constant:
+0:84              0 (const int)
+0:84            Constant:
+0:84              1 (const int)
+0:84        subgroupClusteredAnd ( global highp 2-component vector of uint)
+0:84          vector swizzle ( temp highp 2-component vector of uint)
+0:84            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                Constant:
+0:84                  1 (const int)
+0:84              Constant:
+0:84                2 (const int)
+0:84            Sequence
+0:84              Constant:
+0:84                0 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:84          Constant:
+0:84            1 (const uint)
+0:85      move second child to first child ( temp highp 3-component vector of uint)
+0:85        vector swizzle ( temp highp 3-component vector of uint)
+0:85          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:85            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              Constant:
+0:85                1 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85        subgroupClusteredAnd ( global highp 3-component vector of uint)
+0:85          vector swizzle ( temp highp 3-component vector of uint)
+0:85            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                Constant:
+0:85                  2 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:85          Constant:
+0:85            1 (const uint)
+0:86      move second child to first child ( temp highp 4-component vector of uint)
+0:86        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:86          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            Constant:
+0:86              1 (const int)
+0:86          Constant:
+0:86            2 (const int)
+0:86        subgroupClusteredAnd ( global highp 4-component vector of uint)
+0:86          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:86            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              Constant:
+0:86                3 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86          Constant:
+0:86            1 (const uint)
+0:88      move second child to first child ( temp highp int)
+0:88        direct index ( temp highp int)
+0:88          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:88            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              Constant:
+0:88                2 (const int)
+0:88            Constant:
+0:88              1 (const int)
+0:88          Constant:
+0:88            0 (const int)
+0:88        Convert bool to int ( temp highp int)
+0:88          subgroupClusteredAnd ( global bool)
+0:88            Compare Less Than ( temp bool)
+0:88              direct index ( temp highp int)
+0:88                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:88                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                    Constant:
+0:88                      0 (const int)
+0:88                  Constant:
+0:88                    1 (const int)
+0:88                Constant:
+0:88                  0 (const int)
+0:88              Constant:
+0:88                0 (const int)
+0:88            Constant:
+0:88              1 (const uint)
+0:89      move second child to first child ( temp highp 2-component vector of int)
+0:89        vector swizzle ( temp highp 2-component vector of int)
+0:89          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:89            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              Constant:
+0:89                2 (const int)
+0:89            Constant:
+0:89              1 (const int)
+0:89          Sequence
+0:89            Constant:
+0:89              0 (const int)
+0:89            Constant:
+0:89              1 (const int)
+0:89        Convert bool to int ( temp highp 2-component vector of int)
+0:89          subgroupClusteredAnd ( global 2-component vector of bool)
+0:89            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:89              vector swizzle ( temp highp 2-component vector of int)
+0:89                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:89                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                    Constant:
+0:89                      1 (const int)
+0:89                  Constant:
+0:89                    1 (const int)
+0:89                Sequence
+0:89                  Constant:
+0:89                    0 (const int)
+0:89                  Constant:
+0:89                    1 (const int)
+0:89              Constant:
+0:89                0 (const int)
+0:89                0 (const int)
+0:89            Constant:
+0:89              1 (const uint)
+0:90      move second child to first child ( temp highp 3-component vector of int)
+0:90        vector swizzle ( temp highp 3-component vector of int)
+0:90          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              Constant:
+0:90                2 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90            Constant:
+0:90              2 (const int)
+0:90        Convert bool to int ( temp highp 3-component vector of int)
+0:90          subgroupClusteredAnd ( global 3-component vector of bool)
+0:90            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:90              vector swizzle ( temp highp 3-component vector of int)
+0:90                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                    Constant:
+0:90                      1 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90                Sequence
+0:90                  Constant:
+0:90                    0 (const int)
+0:90                  Constant:
+0:90                    1 (const int)
+0:90                  Constant:
+0:90                    2 (const int)
+0:90              Constant:
+0:90                0 (const int)
+0:90                0 (const int)
+0:90                0 (const int)
+0:90            Constant:
+0:90              1 (const uint)
+0:91      move second child to first child ( temp highp 4-component vector of int)
+0:91        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            Constant:
+0:91              2 (const int)
+0:91          Constant:
+0:91            1 (const int)
+0:91        Convert bool to int ( temp highp 4-component vector of int)
+0:91          subgroupClusteredAnd ( global 4-component vector of bool)
+0:91            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:91              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                  Constant:
+0:91                    1 (const int)
+0:91                Constant:
+0:91                  1 (const int)
+0:91              Constant:
+0:91                0 (const int)
+0:91                0 (const int)
+0:91                0 (const int)
+0:91                0 (const int)
+0:91            Constant:
+0:91              1 (const uint)
+0:93      move second child to first child ( temp highp int)
+0:93        direct index ( temp highp int)
+0:93          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              Constant:
+0:93                3 (const int)
+0:93            Constant:
+0:93              1 (const int)
+0:93          Constant:
+0:93            0 (const int)
+0:93        subgroupClusteredOr ( global highp int)
+0:93          direct index ( temp highp int)
+0:93            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                Constant:
+0:93                  0 (const int)
+0:93              Constant:
+0:93                1 (const int)
+0:93            Constant:
+0:93              0 (const int)
+0:93          Constant:
+0:93            1 (const uint)
+0:94      move second child to first child ( temp highp 2-component vector of int)
+0:94        vector swizzle ( temp highp 2-component vector of int)
+0:94          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94          Sequence
+0:94            Constant:
+0:94              0 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94        subgroupClusteredOr ( global highp 2-component vector of int)
+0:94          vector swizzle ( temp highp 2-component vector of int)
+0:94            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                Constant:
+0:94                  1 (const int)
+0:94              Constant:
+0:94                1 (const int)
+0:94            Sequence
+0:94              Constant:
+0:94                0 (const int)
+0:94              Constant:
+0:94                1 (const int)
+0:94          Constant:
+0:94            1 (const uint)
+0:95      move second child to first child ( temp highp 3-component vector of int)
+0:95        vector swizzle ( temp highp 3-component vector of int)
+0:95          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              Constant:
+0:95                3 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95            Constant:
+0:95              2 (const int)
+0:95        subgroupClusteredOr ( global highp 3-component vector of int)
+0:95          vector swizzle ( temp highp 3-component vector of int)
+0:95            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                Constant:
+0:95                  2 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:95            Sequence
+0:95              Constant:
+0:95                0 (const int)
+0:95              Constant:
+0:95                1 (const int)
+0:95              Constant:
+0:95                2 (const int)
+0:95          Constant:
+0:95            1 (const uint)
+0:96      move second child to first child ( temp highp 4-component vector of int)
+0:96        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            Constant:
+0:96              3 (const int)
+0:96          Constant:
+0:96            1 (const int)
+0:96        subgroupClusteredOr ( global highp 4-component vector of int)
+0:96          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              Constant:
+0:96                3 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96          Constant:
+0:96            1 (const uint)
+0:98      move second child to first child ( temp highp uint)
+0:98        direct index ( temp highp uint)
+0:98          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              Constant:
+0:98                0 (const int)
+0:98            Constant:
+0:98              2 (const int)
+0:98          Constant:
+0:98            0 (const int)
+0:98        subgroupClusteredOr ( global highp uint)
+0:98          direct index ( temp highp uint)
+0:98            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98                Constant:
+0:98                  0 (const int)
+0:98              Constant:
+0:98                2 (const int)
+0:98            Constant:
+0:98              0 (const int)
+0:98          Constant:
+0:98            1 (const uint)
+0:99      move second child to first child ( temp highp 2-component vector of uint)
+0:99        vector swizzle ( temp highp 2-component vector of uint)
+0:99          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:99            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99              Constant:
+0:99                0 (const int)
+0:99            Constant:
+0:99              2 (const int)
+0:99          Sequence
+0:99            Constant:
+0:99              0 (const int)
+0:99            Constant:
+0:99              1 (const int)
+0:99        subgroupClusteredOr ( global highp 2-component vector of uint)
+0:99          vector swizzle ( temp highp 2-component vector of uint)
+0:99            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:99              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:99                Constant:
+0:99                  1 (const int)
+0:99              Constant:
+0:99                2 (const int)
+0:99            Sequence
+0:99              Constant:
+0:99                0 (const int)
+0:99              Constant:
+0:99                1 (const int)
+0:99          Constant:
+0:99            1 (const uint)
+0:100      move second child to first child ( temp highp 3-component vector of uint)
+0:100        vector swizzle ( temp highp 3-component vector of uint)
+0:100          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:100            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              Constant:
+0:100                0 (const int)
+0:100            Constant:
+0:100              2 (const int)
+0:100          Sequence
+0:100            Constant:
+0:100              0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100            Constant:
+0:100              2 (const int)
+0:100        subgroupClusteredOr ( global highp 3-component vector of uint)
+0:100          vector swizzle ( temp highp 3-component vector of uint)
+0:100            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                Constant:
+0:100                  2 (const int)
+0:100              Constant:
+0:100                2 (const int)
+0:100            Sequence
+0:100              Constant:
+0:100                0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100              Constant:
+0:100                2 (const int)
+0:100          Constant:
+0:100            1 (const uint)
+0:101      move second child to first child ( temp highp 4-component vector of uint)
+0:101        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:101          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101            Constant:
+0:101              0 (const int)
+0:101          Constant:
+0:101            2 (const int)
+0:101        subgroupClusteredOr ( global highp 4-component vector of uint)
+0:101          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:101            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              Constant:
+0:101                3 (const int)
+0:101            Constant:
+0:101              2 (const int)
+0:101          Constant:
+0:101            1 (const uint)
+0:103      move second child to first child ( temp highp int)
+0:103        direct index ( temp highp int)
+0:103          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              Constant:
+0:103                1 (const int)
+0:103            Constant:
+0:103              1 (const int)
+0:103          Constant:
+0:103            0 (const int)
+0:103        Convert bool to int ( temp highp int)
+0:103          subgroupClusteredOr ( global bool)
+0:103            Compare Less Than ( temp bool)
+0:103              direct index ( temp highp int)
+0:103                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103                    Constant:
+0:103                      0 (const int)
+0:103                  Constant:
+0:103                    1 (const int)
+0:103                Constant:
+0:103                  0 (const int)
+0:103              Constant:
+0:103                0 (const int)
+0:103            Constant:
+0:103              1 (const uint)
+0:104      move second child to first child ( temp highp 2-component vector of int)
+0:104        vector swizzle ( temp highp 2-component vector of int)
+0:104          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:104            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104              Constant:
+0:104                1 (const int)
+0:104            Constant:
+0:104              1 (const int)
+0:104          Sequence
+0:104            Constant:
+0:104              0 (const int)
+0:104            Constant:
+0:104              1 (const int)
+0:104        Convert bool to int ( temp highp 2-component vector of int)
+0:104          subgroupClusteredOr ( global 2-component vector of bool)
+0:104            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:104              vector swizzle ( temp highp 2-component vector of int)
+0:104                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:104                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:104                    Constant:
+0:104                      1 (const int)
+0:104                  Constant:
+0:104                    1 (const int)
+0:104                Sequence
+0:104                  Constant:
+0:104                    0 (const int)
+0:104                  Constant:
+0:104                    1 (const int)
+0:104              Constant:
+0:104                0 (const int)
+0:104                0 (const int)
+0:104            Constant:
+0:104              1 (const uint)
+0:105      move second child to first child ( temp highp 3-component vector of int)
+0:105        vector swizzle ( temp highp 3-component vector of int)
+0:105          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:105            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              Constant:
+0:105                1 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105          Sequence
+0:105            Constant:
+0:105              0 (const int)
+0:105            Constant:
+0:105              1 (const int)
+0:105            Constant:
+0:105              2 (const int)
+0:105        Convert bool to int ( temp highp 3-component vector of int)
+0:105          subgroupClusteredOr ( global 3-component vector of bool)
+0:105            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:105              vector swizzle ( temp highp 3-component vector of int)
+0:105                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:105                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                    Constant:
+0:105                      1 (const int)
+0:105                  Constant:
+0:105                    1 (const int)
+0:105                Sequence
+0:105                  Constant:
+0:105                    0 (const int)
+0:105                  Constant:
+0:105                    1 (const int)
+0:105                  Constant:
+0:105                    2 (const int)
+0:105              Constant:
+0:105                0 (const int)
+0:105                0 (const int)
+0:105                0 (const int)
+0:105            Constant:
+0:105              1 (const uint)
+0:106      move second child to first child ( temp highp 4-component vector of int)
+0:106        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:106          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106            Constant:
+0:106              1 (const int)
+0:106          Constant:
+0:106            1 (const int)
+0:106        Convert bool to int ( temp highp 4-component vector of int)
+0:106          subgroupClusteredOr ( global 4-component vector of bool)
+0:106            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:106              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:106                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                  Constant:
+0:106                    1 (const int)
+0:106                Constant:
+0:106                  1 (const int)
+0:106              Constant:
+0:106                0 (const int)
+0:106                0 (const int)
+0:106                0 (const int)
+0:106                0 (const int)
+0:106            Constant:
+0:106              1 (const uint)
+0:108      move second child to first child ( temp highp int)
+0:108        direct index ( temp highp int)
+0:108          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:108            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              Constant:
+0:108                2 (const int)
+0:108            Constant:
+0:108              1 (const int)
+0:108          Constant:
+0:108            0 (const int)
+0:108        subgroupClusteredXor ( global highp int)
+0:108          direct index ( temp highp int)
+0:108            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:108              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108                Constant:
+0:108                  0 (const int)
+0:108              Constant:
+0:108                1 (const int)
+0:108            Constant:
+0:108              0 (const int)
+0:108          Constant:
+0:108            1 (const uint)
+0:109      move second child to first child ( temp highp 2-component vector of int)
+0:109        vector swizzle ( temp highp 2-component vector of int)
+0:109          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:109            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109              Constant:
+0:109                2 (const int)
+0:109            Constant:
+0:109              1 (const int)
+0:109          Sequence
+0:109            Constant:
+0:109              0 (const int)
+0:109            Constant:
+0:109              1 (const int)
+0:109        subgroupClusteredXor ( global highp 2-component vector of int)
+0:109          vector swizzle ( temp highp 2-component vector of int)
+0:109            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:109              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:109                Constant:
+0:109                  1 (const int)
+0:109              Constant:
+0:109                1 (const int)
+0:109            Sequence
+0:109              Constant:
+0:109                0 (const int)
+0:109              Constant:
+0:109                1 (const int)
+0:109          Constant:
+0:109            1 (const uint)
+0:110      move second child to first child ( temp highp 3-component vector of int)
+0:110        vector swizzle ( temp highp 3-component vector of int)
+0:110          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              Constant:
+0:110                2 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Sequence
+0:110            Constant:
+0:110              0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110            Constant:
+0:110              2 (const int)
+0:110        subgroupClusteredXor ( global highp 3-component vector of int)
+0:110          vector swizzle ( temp highp 3-component vector of int)
+0:110            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                Constant:
+0:110                  2 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:110            Sequence
+0:110              Constant:
+0:110                0 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:110              Constant:
+0:110                2 (const int)
+0:110          Constant:
+0:110            1 (const uint)
+0:111      move second child to first child ( temp highp 4-component vector of int)
+0:111        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111            Constant:
+0:111              2 (const int)
+0:111          Constant:
+0:111            1 (const int)
+0:111        subgroupClusteredXor ( global highp 4-component vector of int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              Constant:
+0:111                3 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Constant:
+0:111            1 (const uint)
+0:113      move second child to first child ( temp highp uint)
+0:113        direct index ( temp highp uint)
+0:113          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:113            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113              Constant:
+0:113                3 (const int)
+0:113            Constant:
+0:113              2 (const int)
+0:113          Constant:
+0:113            0 (const int)
+0:113        subgroupClusteredXor ( global highp uint)
+0:113          direct index ( temp highp uint)
+0:113            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:113              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                Constant:
+0:113                  0 (const int)
+0:113              Constant:
+0:113                2 (const int)
+0:113            Constant:
+0:113              0 (const int)
+0:113          Constant:
+0:113            1 (const uint)
+0:114      move second child to first child ( temp highp 2-component vector of uint)
+0:114        vector swizzle ( temp highp 2-component vector of uint)
+0:114          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:114            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114              Constant:
+0:114                3 (const int)
+0:114            Constant:
+0:114              2 (const int)
+0:114          Sequence
+0:114            Constant:
+0:114              0 (const int)
+0:114            Constant:
+0:114              1 (const int)
+0:114        subgroupClusteredXor ( global highp 2-component vector of uint)
+0:114          vector swizzle ( temp highp 2-component vector of uint)
+0:114            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:114              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:114                Constant:
+0:114                  1 (const int)
+0:114              Constant:
+0:114                2 (const int)
+0:114            Sequence
+0:114              Constant:
+0:114                0 (const int)
+0:114              Constant:
+0:114                1 (const int)
+0:114          Constant:
+0:114            1 (const uint)
+0:115      move second child to first child ( temp highp 3-component vector of uint)
+0:115        vector swizzle ( temp highp 3-component vector of uint)
+0:115          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:115            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              Constant:
+0:115                3 (const int)
+0:115            Constant:
+0:115              2 (const int)
+0:115          Sequence
+0:115            Constant:
+0:115              0 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115            Constant:
+0:115              2 (const int)
+0:115        subgroupClusteredXor ( global highp 3-component vector of uint)
+0:115          vector swizzle ( temp highp 3-component vector of uint)
+0:115            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                Constant:
+0:115                  2 (const int)
+0:115              Constant:
+0:115                2 (const int)
+0:115            Sequence
+0:115              Constant:
+0:115                0 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115              Constant:
+0:115                2 (const int)
+0:115          Constant:
+0:115            1 (const uint)
+0:116      move second child to first child ( temp highp 4-component vector of uint)
+0:116        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:116          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116            Constant:
+0:116              3 (const int)
+0:116          Constant:
+0:116            2 (const int)
+0:116        subgroupClusteredXor ( global highp 4-component vector of uint)
+0:116          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:116            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              Constant:
+0:116                3 (const int)
+0:116            Constant:
+0:116              2 (const int)
+0:116          Constant:
+0:116            1 (const uint)
+0:118      move second child to first child ( temp highp int)
+0:118        direct index ( temp highp int)
+0:118          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              Constant:
+0:118                0 (const int)
+0:118            Constant:
+0:118              1 (const int)
+0:118          Constant:
+0:118            0 (const int)
+0:118        Convert bool to int ( temp highp int)
+0:118          subgroupClusteredXor ( global bool)
+0:118            Compare Less Than ( temp bool)
+0:118              direct index ( temp highp int)
+0:118                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118                    Constant:
+0:118                      0 (const int)
+0:118                  Constant:
+0:118                    1 (const int)
+0:118                Constant:
+0:118                  0 (const int)
+0:118              Constant:
+0:118                0 (const int)
+0:118            Constant:
+0:118              1 (const uint)
+0:119      move second child to first child ( temp highp 2-component vector of int)
+0:119        vector swizzle ( temp highp 2-component vector of int)
+0:119          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:119            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119              Constant:
+0:119                0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:119          Sequence
+0:119            Constant:
+0:119              0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:119        Convert bool to int ( temp highp 2-component vector of int)
+0:119          subgroupClusteredXor ( global 2-component vector of bool)
+0:119            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:119              vector swizzle ( temp highp 2-component vector of int)
+0:119                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:119                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:119                    Constant:
+0:119                      1 (const int)
+0:119                  Constant:
+0:119                    1 (const int)
+0:119                Sequence
+0:119                  Constant:
+0:119                    0 (const int)
+0:119                  Constant:
+0:119                    1 (const int)
+0:119              Constant:
+0:119                0 (const int)
+0:119                0 (const int)
+0:119            Constant:
+0:119              1 (const uint)
+0:120      move second child to first child ( temp highp 3-component vector of int)
+0:120        vector swizzle ( temp highp 3-component vector of int)
+0:120          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:120            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              Constant:
+0:120                0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120          Sequence
+0:120            Constant:
+0:120              0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120            Constant:
+0:120              2 (const int)
+0:120        Convert bool to int ( temp highp 3-component vector of int)
+0:120          subgroupClusteredXor ( global 3-component vector of bool)
+0:120            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:120              vector swizzle ( temp highp 3-component vector of int)
+0:120                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:120                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                    Constant:
+0:120                      1 (const int)
+0:120                  Constant:
+0:120                    1 (const int)
+0:120                Sequence
+0:120                  Constant:
+0:120                    0 (const int)
+0:120                  Constant:
+0:120                    1 (const int)
+0:120                  Constant:
+0:120                    2 (const int)
+0:120              Constant:
+0:120                0 (const int)
+0:120                0 (const int)
+0:120                0 (const int)
+0:120            Constant:
+0:120              1 (const uint)
+0:121      move second child to first child ( temp highp 4-component vector of int)
+0:121        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:121          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121            Constant:
+0:121              0 (const int)
+0:121          Constant:
+0:121            1 (const int)
+0:121        Convert bool to int ( temp highp 4-component vector of int)
+0:121          subgroupClusteredXor ( global 4-component vector of bool)
+0:121            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:121              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:121                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                  Constant:
+0:121                    1 (const int)
+0:121                Constant:
+0:121                  1 (const int)
+0:121              Constant:
+0:121                0 (const int)
+0:121                0 (const int)
+0:121                0 (const int)
+0:121                0 (const int)
+0:121            Constant:
+0:121              1 (const uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
diff --git a/Test/baseResults/glsl.es320.subgroupClusteredNeg.comp.out b/Test/baseResults/glsl.es320.subgroupClusteredNeg.comp.out
new file mode 100644
index 0000000..ff62dbf
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupClusteredNeg.comp.out
@@ -0,0 +1,604 @@
+glsl.es320.subgroupClusteredNeg.comp
+ERROR: 0:21: 'cluster size' : argument must be at least 1 
+ERROR: 0:23: 'cluster size' : argument must be a power of 2 
+ERROR: 0:26: 'cluster size' : argument must be a power of 2 
+ERROR: 0:28: 'cluster size' : argument must be compile-time constant 
+ERROR: 0:31: 'cluster size' : argument must be compile-time constant 
+ERROR: 0:32: 'cluster size' : argument must be compile-time constant 
+ERROR: 6 compilation errors.  No code generated.
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_clustered
+local_size = (8, 1, 1)
+ERROR: node is still EOpNull!
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp int)
+0:16          'a' ( temp highp int)
+0:16          Constant:
+0:16            1 (const int)
+0:19      Sequence
+0:19        move second child to first child ( temp highp uint)
+0:19          'invocation' ( temp highp uint)
+0:19          mod ( temp mediump uint)
+0:19            add ( temp mediump uint)
+0:19              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:19              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:19            Constant:
+0:19              4 (const uint)
+0:21      move second child to first child ( temp highp 2-component vector of float)
+0:21        vector swizzle ( temp highp 2-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                0 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21        subgroupClusteredAdd ( global highp 2-component vector of float)
+0:21          vector swizzle ( temp highp 2-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21                Constant:
+0:21                  1 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21          Constant:
+0:21            0 (const uint)
+0:23      move second child to first child ( temp highp float)
+0:23        direct index ( temp highp float)
+0:23          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupClusteredMul ( global highp float)
+0:23          direct index ( temp highp float)
+0:23            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          Constant:
+0:23            3 (const uint)
+0:25      move second child to first child ( temp highp 2-component vector of int)
+0:25        vector swizzle ( temp highp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                1 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupClusteredMin ( global highp 2-component vector of int)
+0:25          vector swizzle ( temp highp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25          Constant:
+0:25            8 (const uint)
+0:26      move second child to first child ( temp highp 3-component vector of int)
+0:26        vector swizzle ( temp highp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                1 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupClusteredMin ( global highp 3-component vector of int)
+0:26          vector swizzle ( temp highp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26          Constant:
+0:26            6 (const uint)
+0:28      move second child to first child ( temp highp int)
+0:28        direct index ( temp highp int)
+0:28          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                3 (const int)
+0:28            Constant:
+0:28              1 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupClusteredOr ( global highp int)
+0:28          direct index ( temp highp int)
+0:28            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                1 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28          Convert int to uint ( temp highp uint)
+0:28            'a' ( temp highp int)
+0:29      move second child to first child ( temp highp 2-component vector of int)
+0:29        vector swizzle ( temp highp 2-component vector of int)
+0:29          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                3 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupClusteredOr ( global highp 2-component vector of int)
+0:29          vector swizzle ( temp highp 2-component vector of int)
+0:29            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29          Constant:
+0:29            1 (const uint)
+0:31      move second child to first child ( temp highp int)
+0:31        direct index ( temp highp int)
+0:31          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31          Constant:
+0:31            0 (const int)
+0:31        subgroupClusteredXor ( global highp int)
+0:31          direct index ( temp highp int)
+0:31            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31            Constant:
+0:31              0 (const int)
+0:31          Convert int to uint ( temp highp uint)
+0:31            add ( temp highp int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              'a' ( temp highp int)
+0:32      move second child to first child ( temp highp 2-component vector of int)
+0:32        vector swizzle ( temp highp 2-component vector of int)
+0:32          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32              Constant:
+0:32                0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32          Sequence
+0:32            Constant:
+0:32              0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32        subgroupClusteredXor ( global highp 2-component vector of int)
+0:32          vector swizzle ( temp highp 2-component vector of int)
+0:32            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32                Constant:
+0:32                  1 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32          Convert int to uint ( temp highp uint)
+0:32            add ( temp highp int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              'a' ( temp highp int)
+0:33      move second child to first child ( temp highp 3-component vector of int)
+0:33        vector swizzle ( temp highp 3-component vector of int)
+0:33          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                0 (const int)
+0:33            Constant:
+0:33              1 (const int)
+0:33          Sequence
+0:33            Constant:
+0:33              0 (const int)
+0:33            Constant:
+0:33              1 (const int)
+0:33            Constant:
+0:33              2 (const int)
+0:33        subgroupClusteredXor ( global highp 3-component vector of int)
+0:33          vector swizzle ( temp highp 3-component vector of int)
+0:33            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                Constant:
+0:33                  2 (const int)
+0:33              Constant:
+0:33                1 (const int)
+0:33            Sequence
+0:33              Constant:
+0:33                0 (const int)
+0:33              Constant:
+0:33                1 (const int)
+0:33              Constant:
+0:33                2 (const int)
+0:33          Constant:
+0:33            2 (const uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
+
+Linked compute stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_clustered
+local_size = (8, 1, 1)
+ERROR: node is still EOpNull!
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp int)
+0:16          'a' ( temp highp int)
+0:16          Constant:
+0:16            1 (const int)
+0:19      Sequence
+0:19        move second child to first child ( temp highp uint)
+0:19          'invocation' ( temp highp uint)
+0:19          mod ( temp mediump uint)
+0:19            add ( temp mediump uint)
+0:19              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:19              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:19            Constant:
+0:19              4 (const uint)
+0:21      move second child to first child ( temp highp 2-component vector of float)
+0:21        vector swizzle ( temp highp 2-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                0 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21        subgroupClusteredAdd ( global highp 2-component vector of float)
+0:21          vector swizzle ( temp highp 2-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21                Constant:
+0:21                  1 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21          Constant:
+0:21            0 (const uint)
+0:23      move second child to first child ( temp highp float)
+0:23        direct index ( temp highp float)
+0:23          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupClusteredMul ( global highp float)
+0:23          direct index ( temp highp float)
+0:23            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          Constant:
+0:23            3 (const uint)
+0:25      move second child to first child ( temp highp 2-component vector of int)
+0:25        vector swizzle ( temp highp 2-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                1 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25        subgroupClusteredMin ( global highp 2-component vector of int)
+0:25          vector swizzle ( temp highp 2-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  1 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25          Constant:
+0:25            8 (const uint)
+0:26      move second child to first child ( temp highp 3-component vector of int)
+0:26        vector swizzle ( temp highp 3-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                1 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26        subgroupClusteredMin ( global highp 3-component vector of int)
+0:26          vector swizzle ( temp highp 3-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26                Constant:
+0:26                  2 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26          Constant:
+0:26            6 (const uint)
+0:28      move second child to first child ( temp highp int)
+0:28        direct index ( temp highp int)
+0:28          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                3 (const int)
+0:28            Constant:
+0:28              1 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupClusteredOr ( global highp int)
+0:28          direct index ( temp highp int)
+0:28            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                1 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28          Convert int to uint ( temp highp uint)
+0:28            'a' ( temp highp int)
+0:29      move second child to first child ( temp highp 2-component vector of int)
+0:29        vector swizzle ( temp highp 2-component vector of int)
+0:29          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                3 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupClusteredOr ( global highp 2-component vector of int)
+0:29          vector swizzle ( temp highp 2-component vector of int)
+0:29            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29          Constant:
+0:29            1 (const uint)
+0:31      move second child to first child ( temp highp int)
+0:31        direct index ( temp highp int)
+0:31          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31          Constant:
+0:31            0 (const int)
+0:31        subgroupClusteredXor ( global highp int)
+0:31          direct index ( temp highp int)
+0:31            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31            Constant:
+0:31              0 (const int)
+0:31          Convert int to uint ( temp highp uint)
+0:31            add ( temp highp int)
+0:31              Constant:
+0:31                1 (const int)
+0:31              'a' ( temp highp int)
+0:32      move second child to first child ( temp highp 2-component vector of int)
+0:32        vector swizzle ( temp highp 2-component vector of int)
+0:32          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32              Constant:
+0:32                0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32          Sequence
+0:32            Constant:
+0:32              0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32        subgroupClusteredXor ( global highp 2-component vector of int)
+0:32          vector swizzle ( temp highp 2-component vector of int)
+0:32            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32                Constant:
+0:32                  1 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32          Convert int to uint ( temp highp uint)
+0:32            add ( temp highp int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              'a' ( temp highp int)
+0:33      move second child to first child ( temp highp 3-component vector of int)
+0:33        vector swizzle ( temp highp 3-component vector of int)
+0:33          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                0 (const int)
+0:33            Constant:
+0:33              1 (const int)
+0:33          Sequence
+0:33            Constant:
+0:33              0 (const int)
+0:33            Constant:
+0:33              1 (const int)
+0:33            Constant:
+0:33              2 (const int)
+0:33        subgroupClusteredXor ( global highp 3-component vector of int)
+0:33          vector swizzle ( temp highp 3-component vector of int)
+0:33            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                Constant:
+0:33                  2 (const int)
+0:33              Constant:
+0:33                1 (const int)
+0:33            Sequence
+0:33              Constant:
+0:33                0 (const int)
+0:33              Constant:
+0:33                1 (const int)
+0:33              Constant:
+0:33                2 (const int)
+0:33          Constant:
+0:33            2 (const uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
diff --git a/Test/baseResults/glsl.es320.subgroupPartitioned.comp.out b/Test/baseResults/glsl.es320.subgroupPartitioned.comp.out
new file mode 100644
index 0000000..df8b8de
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupPartitioned.comp.out
@@ -0,0 +1,14471 @@
+glsl.es320.subgroupPartitioned.comp
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_NV_shader_subgroup_partitioned
+local_size = (8, 1, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      Sequence
+0:18        move second child to first child ( temp highp 4-component vector of uint)
+0:18          'ballot' ( temp highp 4-component vector of uint)
+0:18          subgroupPartitionNV ( global highp 4-component vector of uint)
+0:18            'invocation' ( temp highp uint)
+0:20      move second child to first child ( temp highp 4-component vector of uint)
+0:20        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:20          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20            Constant:
+0:20              0 (const int)
+0:20          Constant:
+0:20            2 (const int)
+0:20        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:20          direct index ( temp highp float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  0 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:21      move second child to first child ( temp highp 4-component vector of uint)
+0:21        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            2 (const int)
+0:21        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:21          vector swizzle ( temp highp 2-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21                Constant:
+0:21                  0 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:22      move second child to first child ( temp highp 4-component vector of uint)
+0:22        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:22          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:22            Constant:
+0:22              0 (const int)
+0:22          Constant:
+0:22            2 (const int)
+0:22        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:22          vector swizzle ( temp highp 3-component vector of float)
+0:22            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:22              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:22                Constant:
+0:22                  0 (const int)
+0:22              Constant:
+0:22                0 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22              Constant:
+0:22                2 (const int)
+0:23      move second child to first child ( temp highp 4-component vector of uint)
+0:23        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:23          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23            Constant:
+0:23              0 (const int)
+0:23          Constant:
+0:23            2 (const int)
+0:23        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:23          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:25      move second child to first child ( temp highp 4-component vector of uint)
+0:25        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:25          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25            Constant:
+0:25              0 (const int)
+0:25          Constant:
+0:25            2 (const int)
+0:25        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:25          direct index ( temp highp int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Constant:
+0:25              0 (const int)
+0:26      move second child to first child ( temp highp 4-component vector of uint)
+0:26        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              0 (const int)
+0:26          Constant:
+0:26            2 (const int)
+0:26        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:26          vector swizzle ( temp highp 2-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26                Constant:
+0:26                  0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:27      move second child to first child ( temp highp 4-component vector of uint)
+0:27        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:27          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27            Constant:
+0:27              0 (const int)
+0:27          Constant:
+0:27            2 (const int)
+0:27        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:27          vector swizzle ( temp highp 3-component vector of int)
+0:27            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:27              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27                Constant:
+0:27                  0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:28      move second child to first child ( temp highp 4-component vector of uint)
+0:28        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28            Constant:
+0:28              0 (const int)
+0:28          Constant:
+0:28            2 (const int)
+0:28        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:28          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              1 (const int)
+0:30      move second child to first child ( temp highp 4-component vector of uint)
+0:30        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30            Constant:
+0:30              0 (const int)
+0:30          Constant:
+0:30            2 (const int)
+0:30        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:30          direct index ( temp highp uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  0 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Constant:
+0:30              0 (const int)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              0 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:31          vector swizzle ( temp highp 2-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:32      move second child to first child ( temp highp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:32          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32            Constant:
+0:32              0 (const int)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:32          vector swizzle ( temp highp 3-component vector of uint)
+0:32            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32                Constant:
+0:32                  0 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:33      move second child to first child ( temp highp 4-component vector of uint)
+0:33        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:33          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33            Constant:
+0:33              0 (const int)
+0:33          Constant:
+0:33            2 (const int)
+0:33        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:33          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                0 (const int)
+0:33            Constant:
+0:33              2 (const int)
+0:35      move second child to first child ( temp highp 4-component vector of uint)
+0:35        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:35          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35            Constant:
+0:35              1 (const int)
+0:35          Constant:
+0:35            2 (const int)
+0:35        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:35          Convert int to bool ( temp bool)
+0:35            direct index ( temp highp int)
+0:35              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:36      move second child to first child ( temp highp 4-component vector of uint)
+0:36        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              1 (const int)
+0:36          Constant:
+0:36            2 (const int)
+0:36        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:36          Convert int to bool ( temp 2-component vector of bool)
+0:36            vector swizzle ( temp highp 2-component vector of int)
+0:36              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  Constant:
+0:36                    0 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:36              Sequence
+0:36                Constant:
+0:36                  0 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:37      move second child to first child ( temp highp 4-component vector of uint)
+0:37        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:37          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:37            Constant:
+0:37              1 (const int)
+0:37          Constant:
+0:37            2 (const int)
+0:37        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:37          Convert int to bool ( temp 3-component vector of bool)
+0:37            vector swizzle ( temp highp 3-component vector of int)
+0:37              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:37                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:37                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:37                  Constant:
+0:37                    0 (const int)
+0:37                Constant:
+0:37                  1 (const int)
+0:37              Sequence
+0:37                Constant:
+0:37                  0 (const int)
+0:37                Constant:
+0:37                  1 (const int)
+0:37                Constant:
+0:37                  2 (const int)
+0:38      move second child to first child ( temp highp 4-component vector of uint)
+0:38        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:38          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38            Constant:
+0:38              1 (const int)
+0:38          Constant:
+0:38            2 (const int)
+0:38        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:38          Convert int to bool ( temp 4-component vector of bool)
+0:38            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:40      move second child to first child ( temp highp float)
+0:40        direct index ( temp highp float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Constant:
+0:40            0 (const int)
+0:40        ERROR: Bad aggregation op
+ ( global highp float)
+0:40          direct index ( temp highp float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  0 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          'ballot' ( temp highp 4-component vector of uint)
+0:41      move second child to first child ( temp highp 2-component vector of float)
+0:41        vector swizzle ( temp highp 2-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                1 (const int)
+0:41            Constant:
+0:41              0 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:41          vector swizzle ( temp highp 2-component vector of float)
+0:41            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                Constant:
+0:41                  1 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41          'ballot' ( temp highp 4-component vector of uint)
+0:42      move second child to first child ( temp highp 3-component vector of float)
+0:42        vector swizzle ( temp highp 3-component vector of float)
+0:42          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:42            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:42              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:42              Constant:
+0:42                1 (const int)
+0:42            Constant:
+0:42              0 (const int)
+0:42          Sequence
+0:42            Constant:
+0:42              0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42            Constant:
+0:42              2 (const int)
+0:42        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:42          vector swizzle ( temp highp 3-component vector of float)
+0:42            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:42              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:42                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:42                Constant:
+0:42                  2 (const int)
+0:42              Constant:
+0:42                0 (const int)
+0:42            Sequence
+0:42              Constant:
+0:42                0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42              Constant:
+0:42                2 (const int)
+0:42          'ballot' ( temp highp 4-component vector of uint)
+0:43      move second child to first child ( temp highp 4-component vector of float)
+0:43        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:43          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43            Constant:
+0:43              1 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:43          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                3 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:43          'ballot' ( temp highp 4-component vector of uint)
+0:45      move second child to first child ( temp highp int)
+0:45        direct index ( temp highp int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                1 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Constant:
+0:45            0 (const int)
+0:45        ERROR: Bad aggregation op
+ ( global highp int)
+0:45          direct index ( temp highp int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Constant:
+0:45              0 (const int)
+0:45          'ballot' ( temp highp 4-component vector of uint)
+0:46      move second child to first child ( temp highp 2-component vector of int)
+0:46        vector swizzle ( temp highp 2-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                1 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:46          vector swizzle ( temp highp 2-component vector of int)
+0:46            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                Constant:
+0:46                  1 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46          'ballot' ( temp highp 4-component vector of uint)
+0:47      move second child to first child ( temp highp 3-component vector of int)
+0:47        vector swizzle ( temp highp 3-component vector of int)
+0:47          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:47              Constant:
+0:47                1 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:47          vector swizzle ( temp highp 3-component vector of int)
+0:47            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:47              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:47                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:47                Constant:
+0:47                  2 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47          'ballot' ( temp highp 4-component vector of uint)
+0:48      move second child to first child ( temp highp 4-component vector of int)
+0:48        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:48          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48            Constant:
+0:48              1 (const int)
+0:48          Constant:
+0:48            1 (const int)
+0:48        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:48          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                3 (const int)
+0:48            Constant:
+0:48              1 (const int)
+0:48          'ballot' ( temp highp 4-component vector of uint)
+0:50      move second child to first child ( temp highp uint)
+0:50        direct index ( temp highp uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Constant:
+0:50            0 (const int)
+0:50        ERROR: Bad aggregation op
+ ( global highp uint)
+0:50          direct index ( temp highp uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  0 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:50          'ballot' ( temp highp 4-component vector of uint)
+0:51      move second child to first child ( temp highp 2-component vector of uint)
+0:51        vector swizzle ( temp highp 2-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:51          vector swizzle ( temp highp 2-component vector of uint)
+0:51            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                Constant:
+0:51                  1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51          'ballot' ( temp highp 4-component vector of uint)
+0:52      move second child to first child ( temp highp 3-component vector of uint)
+0:52        vector swizzle ( temp highp 3-component vector of uint)
+0:52          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:52              Constant:
+0:52                1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:52          vector swizzle ( temp highp 3-component vector of uint)
+0:52            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:52              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:52                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:52                Constant:
+0:52                  2 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:52          'ballot' ( temp highp 4-component vector of uint)
+0:53      move second child to first child ( temp highp 4-component vector of uint)
+0:53        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:53          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            2 (const int)
+0:53        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:53          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                3 (const int)
+0:53            Constant:
+0:53              2 (const int)
+0:53          'ballot' ( temp highp 4-component vector of uint)
+0:55      move second child to first child ( temp highp float)
+0:55        direct index ( temp highp float)
+0:55          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                2 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:55          Constant:
+0:55            0 (const int)
+0:55        ERROR: Bad aggregation op
+ ( global highp float)
+0:55          direct index ( temp highp float)
+0:55            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                Constant:
+0:55                  0 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:55          'ballot' ( temp highp 4-component vector of uint)
+0:56      move second child to first child ( temp highp 2-component vector of float)
+0:56        vector swizzle ( temp highp 2-component vector of float)
+0:56          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:56            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              Constant:
+0:56                2 (const int)
+0:56            Constant:
+0:56              0 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:56          vector swizzle ( temp highp 2-component vector of float)
+0:56            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                Constant:
+0:56                  1 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56          'ballot' ( temp highp 4-component vector of uint)
+0:57      move second child to first child ( temp highp 3-component vector of float)
+0:57        vector swizzle ( temp highp 3-component vector of float)
+0:57          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57              Constant:
+0:57                2 (const int)
+0:57            Constant:
+0:57              0 (const int)
+0:57          Sequence
+0:57            Constant:
+0:57              0 (const int)
+0:57            Constant:
+0:57              1 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:57        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:57          vector swizzle ( temp highp 3-component vector of float)
+0:57            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:57              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                Constant:
+0:57                  2 (const int)
+0:57              Constant:
+0:57                0 (const int)
+0:57            Sequence
+0:57              Constant:
+0:57                0 (const int)
+0:57              Constant:
+0:57                1 (const int)
+0:57              Constant:
+0:57                2 (const int)
+0:57          'ballot' ( temp highp 4-component vector of uint)
+0:58      move second child to first child ( temp highp 4-component vector of float)
+0:58        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58            Constant:
+0:58              2 (const int)
+0:58          Constant:
+0:58            0 (const int)
+0:58        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:58          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              Constant:
+0:58                3 (const int)
+0:58            Constant:
+0:58              0 (const int)
+0:58          'ballot' ( temp highp 4-component vector of uint)
+0:60      move second child to first child ( temp highp int)
+0:60        direct index ( temp highp int)
+0:60          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:60            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              Constant:
+0:60                2 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60          Constant:
+0:60            0 (const int)
+0:60        ERROR: Bad aggregation op
+ ( global highp int)
+0:60          direct index ( temp highp int)
+0:60            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                Constant:
+0:60                  0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60            Constant:
+0:60              0 (const int)
+0:60          'ballot' ( temp highp 4-component vector of uint)
+0:61      move second child to first child ( temp highp 2-component vector of int)
+0:61        vector swizzle ( temp highp 2-component vector of int)
+0:61          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:61            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              Constant:
+0:61                2 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:61          vector swizzle ( temp highp 2-component vector of int)
+0:61            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                Constant:
+0:61                  1 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61          'ballot' ( temp highp 4-component vector of uint)
+0:62      move second child to first child ( temp highp 3-component vector of int)
+0:62        vector swizzle ( temp highp 3-component vector of int)
+0:62          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62              Constant:
+0:62                2 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62          Sequence
+0:62            Constant:
+0:62              0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62            Constant:
+0:62              2 (const int)
+0:62        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:62          vector swizzle ( temp highp 3-component vector of int)
+0:62            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:62              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                Constant:
+0:62                  2 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62            Sequence
+0:62              Constant:
+0:62                0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62              Constant:
+0:62                2 (const int)
+0:62          'ballot' ( temp highp 4-component vector of uint)
+0:63      move second child to first child ( temp highp 4-component vector of int)
+0:63        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63            Constant:
+0:63              2 (const int)
+0:63          Constant:
+0:63            1 (const int)
+0:63        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:63          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              Constant:
+0:63                3 (const int)
+0:63            Constant:
+0:63              1 (const int)
+0:63          'ballot' ( temp highp 4-component vector of uint)
+0:65      move second child to first child ( temp highp uint)
+0:65        direct index ( temp highp uint)
+0:65          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:65            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              Constant:
+0:65                2 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65          Constant:
+0:65            0 (const int)
+0:65        ERROR: Bad aggregation op
+ ( global highp uint)
+0:65          direct index ( temp highp uint)
+0:65            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                Constant:
+0:65                  0 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:65            Constant:
+0:65              0 (const int)
+0:65          'ballot' ( temp highp 4-component vector of uint)
+0:66      move second child to first child ( temp highp 2-component vector of uint)
+0:66        vector swizzle ( temp highp 2-component vector of uint)
+0:66          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:66            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              Constant:
+0:66                2 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:66          vector swizzle ( temp highp 2-component vector of uint)
+0:66            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                Constant:
+0:66                  1 (const int)
+0:66              Constant:
+0:66                2 (const int)
+0:66            Sequence
+0:66              Constant:
+0:66                0 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66          'ballot' ( temp highp 4-component vector of uint)
+0:67      move second child to first child ( temp highp 3-component vector of uint)
+0:67        vector swizzle ( temp highp 3-component vector of uint)
+0:67          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:67            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67              Constant:
+0:67                2 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67          Sequence
+0:67            Constant:
+0:67              0 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:67          vector swizzle ( temp highp 3-component vector of uint)
+0:67            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:67              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                Constant:
+0:67                  2 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:67            Sequence
+0:67              Constant:
+0:67                0 (const int)
+0:67              Constant:
+0:67                1 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:67          'ballot' ( temp highp 4-component vector of uint)
+0:68      move second child to first child ( temp highp 4-component vector of uint)
+0:68        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68            Constant:
+0:68              2 (const int)
+0:68          Constant:
+0:68            2 (const int)
+0:68        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:68          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              Constant:
+0:68                3 (const int)
+0:68            Constant:
+0:68              2 (const int)
+0:68          'ballot' ( temp highp 4-component vector of uint)
+0:70      move second child to first child ( temp highp float)
+0:70        direct index ( temp highp float)
+0:70          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:70            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              Constant:
+0:70                2 (const int)
+0:70            Constant:
+0:70              0 (const int)
+0:70          Constant:
+0:70            0 (const int)
+0:70        ERROR: Bad aggregation op
+ ( global highp float)
+0:70          direct index ( temp highp float)
+0:70            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                Constant:
+0:70                  0 (const int)
+0:70              Constant:
+0:70                0 (const int)
+0:70            Constant:
+0:70              0 (const int)
+0:70          'ballot' ( temp highp 4-component vector of uint)
+0:71      move second child to first child ( temp highp 2-component vector of float)
+0:71        vector swizzle ( temp highp 2-component vector of float)
+0:71          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:71            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              Constant:
+0:71                2 (const int)
+0:71            Constant:
+0:71              0 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:71          vector swizzle ( temp highp 2-component vector of float)
+0:71            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                Constant:
+0:71                  1 (const int)
+0:71              Constant:
+0:71                0 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71          'ballot' ( temp highp 4-component vector of uint)
+0:72      move second child to first child ( temp highp 3-component vector of float)
+0:72        vector swizzle ( temp highp 3-component vector of float)
+0:72          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:72            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72              Constant:
+0:72                2 (const int)
+0:72            Constant:
+0:72              0 (const int)
+0:72          Sequence
+0:72            Constant:
+0:72              0 (const int)
+0:72            Constant:
+0:72              1 (const int)
+0:72            Constant:
+0:72              2 (const int)
+0:72        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:72          vector swizzle ( temp highp 3-component vector of float)
+0:72            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:72              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                Constant:
+0:72                  2 (const int)
+0:72              Constant:
+0:72                0 (const int)
+0:72            Sequence
+0:72              Constant:
+0:72                0 (const int)
+0:72              Constant:
+0:72                1 (const int)
+0:72              Constant:
+0:72                2 (const int)
+0:72          'ballot' ( temp highp 4-component vector of uint)
+0:73      move second child to first child ( temp highp 4-component vector of float)
+0:73        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:73          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73            Constant:
+0:73              2 (const int)
+0:73          Constant:
+0:73            0 (const int)
+0:73        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:73          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:73            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              Constant:
+0:73                3 (const int)
+0:73            Constant:
+0:73              0 (const int)
+0:73          'ballot' ( temp highp 4-component vector of uint)
+0:75      move second child to first child ( temp highp int)
+0:75        direct index ( temp highp int)
+0:75          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:75            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              Constant:
+0:75                3 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75          Constant:
+0:75            0 (const int)
+0:75        ERROR: Bad aggregation op
+ ( global highp int)
+0:75          direct index ( temp highp int)
+0:75            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                Constant:
+0:75                  0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:75            Constant:
+0:75              0 (const int)
+0:75          'ballot' ( temp highp 4-component vector of uint)
+0:76      move second child to first child ( temp highp 2-component vector of int)
+0:76        vector swizzle ( temp highp 2-component vector of int)
+0:76          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:76            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              Constant:
+0:76                3 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:76          vector swizzle ( temp highp 2-component vector of int)
+0:76            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76                Constant:
+0:76                  1 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76          'ballot' ( temp highp 4-component vector of uint)
+0:77      move second child to first child ( temp highp 3-component vector of int)
+0:77        vector swizzle ( temp highp 3-component vector of int)
+0:77          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:77            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:77              Constant:
+0:77                3 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:77          Sequence
+0:77            Constant:
+0:77              0 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:77            Constant:
+0:77              2 (const int)
+0:77        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:77          vector swizzle ( temp highp 3-component vector of int)
+0:77            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:77              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:77                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:77                Constant:
+0:77                  2 (const int)
+0:77              Constant:
+0:77                1 (const int)
+0:77            Sequence
+0:77              Constant:
+0:77                0 (const int)
+0:77              Constant:
+0:77                1 (const int)
+0:77              Constant:
+0:77                2 (const int)
+0:77          'ballot' ( temp highp 4-component vector of uint)
+0:78      move second child to first child ( temp highp 4-component vector of int)
+0:78        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78            Constant:
+0:78              3 (const int)
+0:78          Constant:
+0:78            1 (const int)
+0:78        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:78          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              Constant:
+0:78                3 (const int)
+0:78            Constant:
+0:78              1 (const int)
+0:78          'ballot' ( temp highp 4-component vector of uint)
+0:80      move second child to first child ( temp highp uint)
+0:80        direct index ( temp highp uint)
+0:80          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:80            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              Constant:
+0:80                3 (const int)
+0:80            Constant:
+0:80              2 (const int)
+0:80          Constant:
+0:80            0 (const int)
+0:80        ERROR: Bad aggregation op
+ ( global highp uint)
+0:80          direct index ( temp highp uint)
+0:80            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                Constant:
+0:80                  0 (const int)
+0:80              Constant:
+0:80                2 (const int)
+0:80            Constant:
+0:80              0 (const int)
+0:80          'ballot' ( temp highp 4-component vector of uint)
+0:81      move second child to first child ( temp highp 2-component vector of uint)
+0:81        vector swizzle ( temp highp 2-component vector of uint)
+0:81          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:81            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              Constant:
+0:81                3 (const int)
+0:81            Constant:
+0:81              2 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:81          vector swizzle ( temp highp 2-component vector of uint)
+0:81            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81                Constant:
+0:81                  1 (const int)
+0:81              Constant:
+0:81                2 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81          'ballot' ( temp highp 4-component vector of uint)
+0:82      move second child to first child ( temp highp 3-component vector of uint)
+0:82        vector swizzle ( temp highp 3-component vector of uint)
+0:82          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:82            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:82              Constant:
+0:82                3 (const int)
+0:82            Constant:
+0:82              2 (const int)
+0:82          Sequence
+0:82            Constant:
+0:82              0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82            Constant:
+0:82              2 (const int)
+0:82        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:82          vector swizzle ( temp highp 3-component vector of uint)
+0:82            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:82              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:82                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:82                Constant:
+0:82                  2 (const int)
+0:82              Constant:
+0:82                2 (const int)
+0:82            Sequence
+0:82              Constant:
+0:82                0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82              Constant:
+0:82                2 (const int)
+0:82          'ballot' ( temp highp 4-component vector of uint)
+0:83      move second child to first child ( temp highp 4-component vector of uint)
+0:83        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83            Constant:
+0:83              3 (const int)
+0:83          Constant:
+0:83            2 (const int)
+0:83        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:83          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              Constant:
+0:83                3 (const int)
+0:83            Constant:
+0:83              2 (const int)
+0:83          'ballot' ( temp highp 4-component vector of uint)
+0:85      move second child to first child ( temp highp float)
+0:85        direct index ( temp highp float)
+0:85          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:85            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              Constant:
+0:85                3 (const int)
+0:85            Constant:
+0:85              0 (const int)
+0:85          Constant:
+0:85            0 (const int)
+0:85        ERROR: Bad aggregation op
+ ( global highp float)
+0:85          direct index ( temp highp float)
+0:85            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                Constant:
+0:85                  0 (const int)
+0:85              Constant:
+0:85                0 (const int)
+0:85            Constant:
+0:85              0 (const int)
+0:85          'ballot' ( temp highp 4-component vector of uint)
+0:86      move second child to first child ( temp highp 2-component vector of float)
+0:86        vector swizzle ( temp highp 2-component vector of float)
+0:86          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:86            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              Constant:
+0:86                3 (const int)
+0:86            Constant:
+0:86              0 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:86          vector swizzle ( temp highp 2-component vector of float)
+0:86            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86                Constant:
+0:86                  1 (const int)
+0:86              Constant:
+0:86                0 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86          'ballot' ( temp highp 4-component vector of uint)
+0:87      move second child to first child ( temp highp 3-component vector of float)
+0:87        vector swizzle ( temp highp 3-component vector of float)
+0:87          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:87            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:87              Constant:
+0:87                3 (const int)
+0:87            Constant:
+0:87              0 (const int)
+0:87          Sequence
+0:87            Constant:
+0:87              0 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:87            Constant:
+0:87              2 (const int)
+0:87        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:87          vector swizzle ( temp highp 3-component vector of float)
+0:87            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:87              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:87                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:87                Constant:
+0:87                  2 (const int)
+0:87              Constant:
+0:87                0 (const int)
+0:87            Sequence
+0:87              Constant:
+0:87                0 (const int)
+0:87              Constant:
+0:87                1 (const int)
+0:87              Constant:
+0:87                2 (const int)
+0:87          'ballot' ( temp highp 4-component vector of uint)
+0:88      move second child to first child ( temp highp 4-component vector of float)
+0:88        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:88          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88            Constant:
+0:88              3 (const int)
+0:88          Constant:
+0:88            0 (const int)
+0:88        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:88          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:88            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              Constant:
+0:88                3 (const int)
+0:88            Constant:
+0:88              0 (const int)
+0:88          'ballot' ( temp highp 4-component vector of uint)
+0:90      move second child to first child ( temp highp int)
+0:90        direct index ( temp highp int)
+0:90          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              Constant:
+0:90                0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90          Constant:
+0:90            0 (const int)
+0:90        ERROR: Bad aggregation op
+ ( global highp int)
+0:90          direct index ( temp highp int)
+0:90            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                Constant:
+0:90                  0 (const int)
+0:90              Constant:
+0:90                1 (const int)
+0:90            Constant:
+0:90              0 (const int)
+0:90          'ballot' ( temp highp 4-component vector of uint)
+0:91      move second child to first child ( temp highp 2-component vector of int)
+0:91        vector swizzle ( temp highp 2-component vector of int)
+0:91          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91              Constant:
+0:91                0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:91          vector swizzle ( temp highp 2-component vector of int)
+0:91            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                Constant:
+0:91                  1 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91            Sequence
+0:91              Constant:
+0:91                0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91          'ballot' ( temp highp 4-component vector of uint)
+0:92      move second child to first child ( temp highp 3-component vector of int)
+0:92        vector swizzle ( temp highp 3-component vector of int)
+0:92          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:92            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:92              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:92              Constant:
+0:92                0 (const int)
+0:92            Constant:
+0:92              1 (const int)
+0:92          Sequence
+0:92            Constant:
+0:92              0 (const int)
+0:92            Constant:
+0:92              1 (const int)
+0:92            Constant:
+0:92              2 (const int)
+0:92        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:92          vector swizzle ( temp highp 3-component vector of int)
+0:92            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:92              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:92                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:92                Constant:
+0:92                  2 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92            Sequence
+0:92              Constant:
+0:92                0 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92              Constant:
+0:92                2 (const int)
+0:92          'ballot' ( temp highp 4-component vector of uint)
+0:93      move second child to first child ( temp highp 4-component vector of int)
+0:93        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93            Constant:
+0:93              0 (const int)
+0:93          Constant:
+0:93            1 (const int)
+0:93        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:93          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              Constant:
+0:93                3 (const int)
+0:93            Constant:
+0:93              1 (const int)
+0:93          'ballot' ( temp highp 4-component vector of uint)
+0:95      move second child to first child ( temp highp uint)
+0:95        direct index ( temp highp uint)
+0:95          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:95            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              Constant:
+0:95                0 (const int)
+0:95            Constant:
+0:95              2 (const int)
+0:95          Constant:
+0:95            0 (const int)
+0:95        ERROR: Bad aggregation op
+ ( global highp uint)
+0:95          direct index ( temp highp uint)
+0:95            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                Constant:
+0:95                  0 (const int)
+0:95              Constant:
+0:95                2 (const int)
+0:95            Constant:
+0:95              0 (const int)
+0:95          'ballot' ( temp highp 4-component vector of uint)
+0:96      move second child to first child ( temp highp 2-component vector of uint)
+0:96        vector swizzle ( temp highp 2-component vector of uint)
+0:96          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:96            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              Constant:
+0:96                0 (const int)
+0:96            Constant:
+0:96              2 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:96          vector swizzle ( temp highp 2-component vector of uint)
+0:96            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96                Constant:
+0:96                  1 (const int)
+0:96              Constant:
+0:96                2 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:96          'ballot' ( temp highp 4-component vector of uint)
+0:97      move second child to first child ( temp highp 3-component vector of uint)
+0:97        vector swizzle ( temp highp 3-component vector of uint)
+0:97          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:97            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:97              Constant:
+0:97                0 (const int)
+0:97            Constant:
+0:97              2 (const int)
+0:97          Sequence
+0:97            Constant:
+0:97              0 (const int)
+0:97            Constant:
+0:97              1 (const int)
+0:97            Constant:
+0:97              2 (const int)
+0:97        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:97          vector swizzle ( temp highp 3-component vector of uint)
+0:97            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:97              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:97                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:97                Constant:
+0:97                  2 (const int)
+0:97              Constant:
+0:97                2 (const int)
+0:97            Sequence
+0:97              Constant:
+0:97                0 (const int)
+0:97              Constant:
+0:97                1 (const int)
+0:97              Constant:
+0:97                2 (const int)
+0:97          'ballot' ( temp highp 4-component vector of uint)
+0:98      move second child to first child ( temp highp 4-component vector of uint)
+0:98        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98            Constant:
+0:98              0 (const int)
+0:98          Constant:
+0:98            2 (const int)
+0:98        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:98          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              Constant:
+0:98                3 (const int)
+0:98            Constant:
+0:98              2 (const int)
+0:98          'ballot' ( temp highp 4-component vector of uint)
+0:100      move second child to first child ( temp highp int)
+0:100        direct index ( temp highp int)
+0:100          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:100            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              Constant:
+0:100                0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Constant:
+0:100            0 (const int)
+0:100        ERROR: Bad aggregation op
+ ( global highp int)
+0:100          direct index ( temp highp int)
+0:100            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                Constant:
+0:100                  0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Constant:
+0:100              0 (const int)
+0:100          'ballot' ( temp highp 4-component vector of uint)
+0:101      move second child to first child ( temp highp 2-component vector of int)
+0:101        vector swizzle ( temp highp 2-component vector of int)
+0:101          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:101            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              Constant:
+0:101                0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:101          vector swizzle ( temp highp 2-component vector of int)
+0:101            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101                Constant:
+0:101                  1 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101          'ballot' ( temp highp 4-component vector of uint)
+0:102      move second child to first child ( temp highp 3-component vector of int)
+0:102        vector swizzle ( temp highp 3-component vector of int)
+0:102          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:102            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:102              Constant:
+0:102                0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102          Sequence
+0:102            Constant:
+0:102              0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102            Constant:
+0:102              2 (const int)
+0:102        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:102          vector swizzle ( temp highp 3-component vector of int)
+0:102            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:102              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:102                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:102                Constant:
+0:102                  2 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102            Sequence
+0:102              Constant:
+0:102                0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102              Constant:
+0:102                2 (const int)
+0:102          'ballot' ( temp highp 4-component vector of uint)
+0:103      move second child to first child ( temp highp 4-component vector of int)
+0:103        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103            Constant:
+0:103              0 (const int)
+0:103          Constant:
+0:103            1 (const int)
+0:103        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:103          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              Constant:
+0:103                3 (const int)
+0:103            Constant:
+0:103              1 (const int)
+0:103          'ballot' ( temp highp 4-component vector of uint)
+0:105      move second child to first child ( temp highp uint)
+0:105        direct index ( temp highp uint)
+0:105          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:105            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              Constant:
+0:105                1 (const int)
+0:105            Constant:
+0:105              2 (const int)
+0:105          Constant:
+0:105            0 (const int)
+0:105        ERROR: Bad aggregation op
+ ( global highp uint)
+0:105          direct index ( temp highp uint)
+0:105            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:105              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                Constant:
+0:105                  0 (const int)
+0:105              Constant:
+0:105                2 (const int)
+0:105            Constant:
+0:105              0 (const int)
+0:105          'ballot' ( temp highp 4-component vector of uint)
+0:106      move second child to first child ( temp highp 2-component vector of uint)
+0:106        vector swizzle ( temp highp 2-component vector of uint)
+0:106          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:106            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106              Constant:
+0:106                1 (const int)
+0:106            Constant:
+0:106              2 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:106          vector swizzle ( temp highp 2-component vector of uint)
+0:106            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                Constant:
+0:106                  1 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:106          'ballot' ( temp highp 4-component vector of uint)
+0:107      move second child to first child ( temp highp 3-component vector of uint)
+0:107        vector swizzle ( temp highp 3-component vector of uint)
+0:107          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:107            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:107              Constant:
+0:107                1 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107          Sequence
+0:107            Constant:
+0:107              0 (const int)
+0:107            Constant:
+0:107              1 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:107          vector swizzle ( temp highp 3-component vector of uint)
+0:107            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:107              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:107                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:107                Constant:
+0:107                  2 (const int)
+0:107              Constant:
+0:107                2 (const int)
+0:107            Sequence
+0:107              Constant:
+0:107                0 (const int)
+0:107              Constant:
+0:107                1 (const int)
+0:107              Constant:
+0:107                2 (const int)
+0:107          'ballot' ( temp highp 4-component vector of uint)
+0:108      move second child to first child ( temp highp 4-component vector of uint)
+0:108        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:108          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108            Constant:
+0:108              1 (const int)
+0:108          Constant:
+0:108            2 (const int)
+0:108        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:108          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:108            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              Constant:
+0:108                3 (const int)
+0:108            Constant:
+0:108              2 (const int)
+0:108          'ballot' ( temp highp 4-component vector of uint)
+0:110      move second child to first child ( temp highp int)
+0:110        direct index ( temp highp int)
+0:110          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              Constant:
+0:110                1 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Constant:
+0:110            0 (const int)
+0:110        Convert bool to int ( temp highp int)
+0:110          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:110            Compare Less Than ( temp bool)
+0:110              direct index ( temp highp int)
+0:110                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                    Constant:
+0:110                      0 (const int)
+0:110                  Constant:
+0:110                    1 (const int)
+0:110                Constant:
+0:110                  0 (const int)
+0:110              Constant:
+0:110                0 (const int)
+0:110            'ballot' ( temp highp 4-component vector of uint)
+0:111      move second child to first child ( temp highp 2-component vector of int)
+0:111        vector swizzle ( temp highp 2-component vector of int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              Constant:
+0:111                1 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111        Convert bool to int ( temp highp 2-component vector of int)
+0:111          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:111            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:111              vector swizzle ( temp highp 2-component vector of int)
+0:111                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111                    Constant:
+0:111                      1 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111                Sequence
+0:111                  Constant:
+0:111                    0 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111              Constant:
+0:111                0 (const int)
+0:111                0 (const int)
+0:111            'ballot' ( temp highp 4-component vector of uint)
+0:112      move second child to first child ( temp highp 3-component vector of int)
+0:112        vector swizzle ( temp highp 3-component vector of int)
+0:112          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:112            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:112              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:112              Constant:
+0:112                1 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112          Sequence
+0:112            Constant:
+0:112              0 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112            Constant:
+0:112              2 (const int)
+0:112        Convert bool to int ( temp highp 3-component vector of int)
+0:112          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:112            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:112              vector swizzle ( temp highp 3-component vector of int)
+0:112                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:112                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:112                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:112                    Constant:
+0:112                      1 (const int)
+0:112                  Constant:
+0:112                    1 (const int)
+0:112                Sequence
+0:112                  Constant:
+0:112                    0 (const int)
+0:112                  Constant:
+0:112                    1 (const int)
+0:112                  Constant:
+0:112                    2 (const int)
+0:112              Constant:
+0:112                0 (const int)
+0:112                0 (const int)
+0:112                0 (const int)
+0:112            'ballot' ( temp highp 4-component vector of uint)
+0:113      move second child to first child ( temp highp 4-component vector of int)
+0:113        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:113          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113            Constant:
+0:113              1 (const int)
+0:113          Constant:
+0:113            1 (const int)
+0:113        Convert bool to int ( temp highp 4-component vector of int)
+0:113          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:113            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:113              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:113                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                  Constant:
+0:113                    1 (const int)
+0:113                Constant:
+0:113                  1 (const int)
+0:113              Constant:
+0:113                0 (const int)
+0:113                0 (const int)
+0:113                0 (const int)
+0:113                0 (const int)
+0:113            'ballot' ( temp highp 4-component vector of uint)
+0:115      move second child to first child ( temp highp int)
+0:115        direct index ( temp highp int)
+0:115          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:115            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              Constant:
+0:115                1 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115          Constant:
+0:115            0 (const int)
+0:115        ERROR: Bad aggregation op
+ ( global highp int)
+0:115          direct index ( temp highp int)
+0:115            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                Constant:
+0:115                  0 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115            Constant:
+0:115              0 (const int)
+0:115          'ballot' ( temp highp 4-component vector of uint)
+0:116      move second child to first child ( temp highp 2-component vector of int)
+0:116        vector swizzle ( temp highp 2-component vector of int)
+0:116          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:116            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              Constant:
+0:116                1 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:116          vector swizzle ( temp highp 2-component vector of int)
+0:116            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:116              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116                Constant:
+0:116                  1 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116            Sequence
+0:116              Constant:
+0:116                0 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116          'ballot' ( temp highp 4-component vector of uint)
+0:117      move second child to first child ( temp highp 3-component vector of int)
+0:117        vector swizzle ( temp highp 3-component vector of int)
+0:117          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:117            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:117              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:117              Constant:
+0:117                1 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117          Sequence
+0:117            Constant:
+0:117              0 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117            Constant:
+0:117              2 (const int)
+0:117        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:117          vector swizzle ( temp highp 3-component vector of int)
+0:117            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:117              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:117                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:117                Constant:
+0:117                  2 (const int)
+0:117              Constant:
+0:117                1 (const int)
+0:117            Sequence
+0:117              Constant:
+0:117                0 (const int)
+0:117              Constant:
+0:117                1 (const int)
+0:117              Constant:
+0:117                2 (const int)
+0:117          'ballot' ( temp highp 4-component vector of uint)
+0:118      move second child to first child ( temp highp 4-component vector of int)
+0:118        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118            Constant:
+0:118              1 (const int)
+0:118          Constant:
+0:118            1 (const int)
+0:118        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:118          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              Constant:
+0:118                3 (const int)
+0:118            Constant:
+0:118              1 (const int)
+0:118          'ballot' ( temp highp 4-component vector of uint)
+0:120      move second child to first child ( temp highp uint)
+0:120        direct index ( temp highp uint)
+0:120          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:120            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              Constant:
+0:120                2 (const int)
+0:120            Constant:
+0:120              2 (const int)
+0:120          Constant:
+0:120            0 (const int)
+0:120        ERROR: Bad aggregation op
+ ( global highp uint)
+0:120          direct index ( temp highp uint)
+0:120            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:120              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                Constant:
+0:120                  0 (const int)
+0:120              Constant:
+0:120                2 (const int)
+0:120            Constant:
+0:120              0 (const int)
+0:120          'ballot' ( temp highp 4-component vector of uint)
+0:121      move second child to first child ( temp highp 2-component vector of uint)
+0:121        vector swizzle ( temp highp 2-component vector of uint)
+0:121          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:121            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121              Constant:
+0:121                2 (const int)
+0:121            Constant:
+0:121              2 (const int)
+0:121          Sequence
+0:121            Constant:
+0:121              0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:121          vector swizzle ( temp highp 2-component vector of uint)
+0:121            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:121              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                Constant:
+0:121                  1 (const int)
+0:121              Constant:
+0:121                2 (const int)
+0:121            Sequence
+0:121              Constant:
+0:121                0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:121          'ballot' ( temp highp 4-component vector of uint)
+0:122      move second child to first child ( temp highp 3-component vector of uint)
+0:122        vector swizzle ( temp highp 3-component vector of uint)
+0:122          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:122            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:122              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:122              Constant:
+0:122                2 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:122          Sequence
+0:122            Constant:
+0:122              0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:122        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:122          vector swizzle ( temp highp 3-component vector of uint)
+0:122            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:122              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:122                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:122                Constant:
+0:122                  2 (const int)
+0:122              Constant:
+0:122                2 (const int)
+0:122            Sequence
+0:122              Constant:
+0:122                0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122              Constant:
+0:122                2 (const int)
+0:122          'ballot' ( temp highp 4-component vector of uint)
+0:123      move second child to first child ( temp highp 4-component vector of uint)
+0:123        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:123          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123            Constant:
+0:123              2 (const int)
+0:123          Constant:
+0:123            2 (const int)
+0:123        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:123          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:123            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123              Constant:
+0:123                3 (const int)
+0:123            Constant:
+0:123              2 (const int)
+0:123          'ballot' ( temp highp 4-component vector of uint)
+0:125      move second child to first child ( temp highp int)
+0:125        direct index ( temp highp int)
+0:125          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:125            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125              Constant:
+0:125                2 (const int)
+0:125            Constant:
+0:125              1 (const int)
+0:125          Constant:
+0:125            0 (const int)
+0:125        Convert bool to int ( temp highp int)
+0:125          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:125            Compare Less Than ( temp bool)
+0:125              direct index ( temp highp int)
+0:125                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:125                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125                    Constant:
+0:125                      0 (const int)
+0:125                  Constant:
+0:125                    1 (const int)
+0:125                Constant:
+0:125                  0 (const int)
+0:125              Constant:
+0:125                0 (const int)
+0:125            'ballot' ( temp highp 4-component vector of uint)
+0:126      move second child to first child ( temp highp 2-component vector of int)
+0:126        vector swizzle ( temp highp 2-component vector of int)
+0:126          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:126            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126              Constant:
+0:126                2 (const int)
+0:126            Constant:
+0:126              1 (const int)
+0:126          Sequence
+0:126            Constant:
+0:126              0 (const int)
+0:126            Constant:
+0:126              1 (const int)
+0:126        Convert bool to int ( temp highp 2-component vector of int)
+0:126          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:126            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:126              vector swizzle ( temp highp 2-component vector of int)
+0:126                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:126                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126                    Constant:
+0:126                      1 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126                Sequence
+0:126                  Constant:
+0:126                    0 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126              Constant:
+0:126                0 (const int)
+0:126                0 (const int)
+0:126            'ballot' ( temp highp 4-component vector of uint)
+0:127      move second child to first child ( temp highp 3-component vector of int)
+0:127        vector swizzle ( temp highp 3-component vector of int)
+0:127          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:127            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:127              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:127              Constant:
+0:127                2 (const int)
+0:127            Constant:
+0:127              1 (const int)
+0:127          Sequence
+0:127            Constant:
+0:127              0 (const int)
+0:127            Constant:
+0:127              1 (const int)
+0:127            Constant:
+0:127              2 (const int)
+0:127        Convert bool to int ( temp highp 3-component vector of int)
+0:127          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:127            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:127              vector swizzle ( temp highp 3-component vector of int)
+0:127                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:127                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:127                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:127                    Constant:
+0:127                      1 (const int)
+0:127                  Constant:
+0:127                    1 (const int)
+0:127                Sequence
+0:127                  Constant:
+0:127                    0 (const int)
+0:127                  Constant:
+0:127                    1 (const int)
+0:127                  Constant:
+0:127                    2 (const int)
+0:127              Constant:
+0:127                0 (const int)
+0:127                0 (const int)
+0:127                0 (const int)
+0:127            'ballot' ( temp highp 4-component vector of uint)
+0:128      move second child to first child ( temp highp 4-component vector of int)
+0:128        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:128          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128            Constant:
+0:128              2 (const int)
+0:128          Constant:
+0:128            1 (const int)
+0:128        Convert bool to int ( temp highp 4-component vector of int)
+0:128          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:128            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:128              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:128                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128                  Constant:
+0:128                    1 (const int)
+0:128                Constant:
+0:128                  1 (const int)
+0:128              Constant:
+0:128                0 (const int)
+0:128                0 (const int)
+0:128                0 (const int)
+0:128                0 (const int)
+0:128            'ballot' ( temp highp 4-component vector of uint)
+0:130      move second child to first child ( temp highp int)
+0:130        direct index ( temp highp int)
+0:130          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:130            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130              Constant:
+0:130                2 (const int)
+0:130            Constant:
+0:130              1 (const int)
+0:130          Constant:
+0:130            0 (const int)
+0:130        ERROR: Bad aggregation op
+ ( global highp int)
+0:130          direct index ( temp highp int)
+0:130            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:130              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130                Constant:
+0:130                  0 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130            Constant:
+0:130              0 (const int)
+0:130          'ballot' ( temp highp 4-component vector of uint)
+0:131      move second child to first child ( temp highp 2-component vector of int)
+0:131        vector swizzle ( temp highp 2-component vector of int)
+0:131          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:131            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131              Constant:
+0:131                2 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:131          Sequence
+0:131            Constant:
+0:131              0 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:131        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:131          vector swizzle ( temp highp 2-component vector of int)
+0:131            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:131              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131                Constant:
+0:131                  1 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131            Sequence
+0:131              Constant:
+0:131                0 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131          'ballot' ( temp highp 4-component vector of uint)
+0:132      move second child to first child ( temp highp 3-component vector of int)
+0:132        vector swizzle ( temp highp 3-component vector of int)
+0:132          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:132            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:132              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:132              Constant:
+0:132                2 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:132          Sequence
+0:132            Constant:
+0:132              0 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:132            Constant:
+0:132              2 (const int)
+0:132        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:132          vector swizzle ( temp highp 3-component vector of int)
+0:132            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:132              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:132                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:132                Constant:
+0:132                  2 (const int)
+0:132              Constant:
+0:132                1 (const int)
+0:132            Sequence
+0:132              Constant:
+0:132                0 (const int)
+0:132              Constant:
+0:132                1 (const int)
+0:132              Constant:
+0:132                2 (const int)
+0:132          'ballot' ( temp highp 4-component vector of uint)
+0:133      move second child to first child ( temp highp 4-component vector of int)
+0:133        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:133          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133            Constant:
+0:133              2 (const int)
+0:133          Constant:
+0:133            1 (const int)
+0:133        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:133          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:133            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133              Constant:
+0:133                3 (const int)
+0:133            Constant:
+0:133              1 (const int)
+0:133          'ballot' ( temp highp 4-component vector of uint)
+0:135      move second child to first child ( temp highp uint)
+0:135        direct index ( temp highp uint)
+0:135          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:135            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135              Constant:
+0:135                2 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135          Constant:
+0:135            0 (const int)
+0:135        ERROR: Bad aggregation op
+ ( global highp uint)
+0:135          direct index ( temp highp uint)
+0:135            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:135              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135                Constant:
+0:135                  0 (const int)
+0:135              Constant:
+0:135                2 (const int)
+0:135            Constant:
+0:135              0 (const int)
+0:135          'ballot' ( temp highp 4-component vector of uint)
+0:136      move second child to first child ( temp highp 2-component vector of uint)
+0:136        vector swizzle ( temp highp 2-component vector of uint)
+0:136          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:136            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136              Constant:
+0:136                2 (const int)
+0:136            Constant:
+0:136              2 (const int)
+0:136          Sequence
+0:136            Constant:
+0:136              0 (const int)
+0:136            Constant:
+0:136              1 (const int)
+0:136        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:136          vector swizzle ( temp highp 2-component vector of uint)
+0:136            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:136              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136                Constant:
+0:136                  1 (const int)
+0:136              Constant:
+0:136                2 (const int)
+0:136            Sequence
+0:136              Constant:
+0:136                0 (const int)
+0:136              Constant:
+0:136                1 (const int)
+0:136          'ballot' ( temp highp 4-component vector of uint)
+0:137      move second child to first child ( temp highp 3-component vector of uint)
+0:137        vector swizzle ( temp highp 3-component vector of uint)
+0:137          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:137            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:137              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:137              Constant:
+0:137                2 (const int)
+0:137            Constant:
+0:137              2 (const int)
+0:137          Sequence
+0:137            Constant:
+0:137              0 (const int)
+0:137            Constant:
+0:137              1 (const int)
+0:137            Constant:
+0:137              2 (const int)
+0:137        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:137          vector swizzle ( temp highp 3-component vector of uint)
+0:137            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:137              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:137                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:137                Constant:
+0:137                  2 (const int)
+0:137              Constant:
+0:137                2 (const int)
+0:137            Sequence
+0:137              Constant:
+0:137                0 (const int)
+0:137              Constant:
+0:137                1 (const int)
+0:137              Constant:
+0:137                2 (const int)
+0:137          'ballot' ( temp highp 4-component vector of uint)
+0:138      move second child to first child ( temp highp 4-component vector of uint)
+0:138        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:138          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138            Constant:
+0:138              2 (const int)
+0:138          Constant:
+0:138            2 (const int)
+0:138        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:138          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:138            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138              Constant:
+0:138                3 (const int)
+0:138            Constant:
+0:138              2 (const int)
+0:138          'ballot' ( temp highp 4-component vector of uint)
+0:140      move second child to first child ( temp highp int)
+0:140        direct index ( temp highp int)
+0:140          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:140            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140              Constant:
+0:140                3 (const int)
+0:140            Constant:
+0:140              1 (const int)
+0:140          Constant:
+0:140            0 (const int)
+0:140        Convert bool to int ( temp highp int)
+0:140          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:140            Compare Less Than ( temp bool)
+0:140              direct index ( temp highp int)
+0:140                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:140                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140                    Constant:
+0:140                      0 (const int)
+0:140                  Constant:
+0:140                    1 (const int)
+0:140                Constant:
+0:140                  0 (const int)
+0:140              Constant:
+0:140                0 (const int)
+0:140            'ballot' ( temp highp 4-component vector of uint)
+0:141      move second child to first child ( temp highp 2-component vector of int)
+0:141        vector swizzle ( temp highp 2-component vector of int)
+0:141          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:141            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141              Constant:
+0:141                3 (const int)
+0:141            Constant:
+0:141              1 (const int)
+0:141          Sequence
+0:141            Constant:
+0:141              0 (const int)
+0:141            Constant:
+0:141              1 (const int)
+0:141        Convert bool to int ( temp highp 2-component vector of int)
+0:141          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:141            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:141              vector swizzle ( temp highp 2-component vector of int)
+0:141                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:141                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141                    Constant:
+0:141                      1 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141                Sequence
+0:141                  Constant:
+0:141                    0 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141              Constant:
+0:141                0 (const int)
+0:141                0 (const int)
+0:141            'ballot' ( temp highp 4-component vector of uint)
+0:142      move second child to first child ( temp highp 3-component vector of int)
+0:142        vector swizzle ( temp highp 3-component vector of int)
+0:142          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:142            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:142              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:142              Constant:
+0:142                3 (const int)
+0:142            Constant:
+0:142              1 (const int)
+0:142          Sequence
+0:142            Constant:
+0:142              0 (const int)
+0:142            Constant:
+0:142              1 (const int)
+0:142            Constant:
+0:142              2 (const int)
+0:142        Convert bool to int ( temp highp 3-component vector of int)
+0:142          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:142            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:142              vector swizzle ( temp highp 3-component vector of int)
+0:142                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:142                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:142                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:142                    Constant:
+0:142                      1 (const int)
+0:142                  Constant:
+0:142                    1 (const int)
+0:142                Sequence
+0:142                  Constant:
+0:142                    0 (const int)
+0:142                  Constant:
+0:142                    1 (const int)
+0:142                  Constant:
+0:142                    2 (const int)
+0:142              Constant:
+0:142                0 (const int)
+0:142                0 (const int)
+0:142                0 (const int)
+0:142            'ballot' ( temp highp 4-component vector of uint)
+0:143      move second child to first child ( temp highp 4-component vector of int)
+0:143        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:143          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143            Constant:
+0:143              3 (const int)
+0:143          Constant:
+0:143            1 (const int)
+0:143        Convert bool to int ( temp highp 4-component vector of int)
+0:143          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:143            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:143              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:143                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143                  Constant:
+0:143                    1 (const int)
+0:143                Constant:
+0:143                  1 (const int)
+0:143              Constant:
+0:143                0 (const int)
+0:143                0 (const int)
+0:143                0 (const int)
+0:143                0 (const int)
+0:143            'ballot' ( temp highp 4-component vector of uint)
+0:145      move second child to first child ( temp highp float)
+0:145        direct index ( temp highp float)
+0:145          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:145            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145              Constant:
+0:145                3 (const int)
+0:145            Constant:
+0:145              0 (const int)
+0:145          Constant:
+0:145            0 (const int)
+0:145        ERROR: Bad aggregation op
+ ( global highp float)
+0:145          direct index ( temp highp float)
+0:145            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:145              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145                Constant:
+0:145                  0 (const int)
+0:145              Constant:
+0:145                0 (const int)
+0:145            Constant:
+0:145              0 (const int)
+0:145          'ballot' ( temp highp 4-component vector of uint)
+0:146      move second child to first child ( temp highp 2-component vector of float)
+0:146        vector swizzle ( temp highp 2-component vector of float)
+0:146          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:146            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146              Constant:
+0:146                3 (const int)
+0:146            Constant:
+0:146              0 (const int)
+0:146          Sequence
+0:146            Constant:
+0:146              0 (const int)
+0:146            Constant:
+0:146              1 (const int)
+0:146        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:146          vector swizzle ( temp highp 2-component vector of float)
+0:146            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:146              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146                Constant:
+0:146                  1 (const int)
+0:146              Constant:
+0:146                0 (const int)
+0:146            Sequence
+0:146              Constant:
+0:146                0 (const int)
+0:146              Constant:
+0:146                1 (const int)
+0:146          'ballot' ( temp highp 4-component vector of uint)
+0:147      move second child to first child ( temp highp 3-component vector of float)
+0:147        vector swizzle ( temp highp 3-component vector of float)
+0:147          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:147            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:147              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:147              Constant:
+0:147                3 (const int)
+0:147            Constant:
+0:147              0 (const int)
+0:147          Sequence
+0:147            Constant:
+0:147              0 (const int)
+0:147            Constant:
+0:147              1 (const int)
+0:147            Constant:
+0:147              2 (const int)
+0:147        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:147          vector swizzle ( temp highp 3-component vector of float)
+0:147            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:147              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:147                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:147                Constant:
+0:147                  2 (const int)
+0:147              Constant:
+0:147                0 (const int)
+0:147            Sequence
+0:147              Constant:
+0:147                0 (const int)
+0:147              Constant:
+0:147                1 (const int)
+0:147              Constant:
+0:147                2 (const int)
+0:147          'ballot' ( temp highp 4-component vector of uint)
+0:148      move second child to first child ( temp highp 4-component vector of float)
+0:148        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:148          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148            Constant:
+0:148              3 (const int)
+0:148          Constant:
+0:148            0 (const int)
+0:148        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:148          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:148            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148              Constant:
+0:148                3 (const int)
+0:148            Constant:
+0:148              0 (const int)
+0:148          'ballot' ( temp highp 4-component vector of uint)
+0:150      move second child to first child ( temp highp int)
+0:150        direct index ( temp highp int)
+0:150          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:150            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150              Constant:
+0:150                3 (const int)
+0:150            Constant:
+0:150              1 (const int)
+0:150          Constant:
+0:150            0 (const int)
+0:150        ERROR: Bad aggregation op
+ ( global highp int)
+0:150          direct index ( temp highp int)
+0:150            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:150              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150                Constant:
+0:150                  0 (const int)
+0:150              Constant:
+0:150                1 (const int)
+0:150            Constant:
+0:150              0 (const int)
+0:150          'ballot' ( temp highp 4-component vector of uint)
+0:151      move second child to first child ( temp highp 2-component vector of int)
+0:151        vector swizzle ( temp highp 2-component vector of int)
+0:151          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:151            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151              Constant:
+0:151                3 (const int)
+0:151            Constant:
+0:151              1 (const int)
+0:151          Sequence
+0:151            Constant:
+0:151              0 (const int)
+0:151            Constant:
+0:151              1 (const int)
+0:151        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:151          vector swizzle ( temp highp 2-component vector of int)
+0:151            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:151              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151                Constant:
+0:151                  1 (const int)
+0:151              Constant:
+0:151                1 (const int)
+0:151            Sequence
+0:151              Constant:
+0:151                0 (const int)
+0:151              Constant:
+0:151                1 (const int)
+0:151          'ballot' ( temp highp 4-component vector of uint)
+0:152      move second child to first child ( temp highp 3-component vector of int)
+0:152        vector swizzle ( temp highp 3-component vector of int)
+0:152          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:152            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:152              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:152              Constant:
+0:152                3 (const int)
+0:152            Constant:
+0:152              1 (const int)
+0:152          Sequence
+0:152            Constant:
+0:152              0 (const int)
+0:152            Constant:
+0:152              1 (const int)
+0:152            Constant:
+0:152              2 (const int)
+0:152        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:152          vector swizzle ( temp highp 3-component vector of int)
+0:152            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:152              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:152                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:152                Constant:
+0:152                  2 (const int)
+0:152              Constant:
+0:152                1 (const int)
+0:152            Sequence
+0:152              Constant:
+0:152                0 (const int)
+0:152              Constant:
+0:152                1 (const int)
+0:152              Constant:
+0:152                2 (const int)
+0:152          'ballot' ( temp highp 4-component vector of uint)
+0:153      move second child to first child ( temp highp 4-component vector of int)
+0:153        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:153          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153            Constant:
+0:153              3 (const int)
+0:153          Constant:
+0:153            1 (const int)
+0:153        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:153          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:153            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153              Constant:
+0:153                3 (const int)
+0:153            Constant:
+0:153              1 (const int)
+0:153          'ballot' ( temp highp 4-component vector of uint)
+0:155      move second child to first child ( temp highp uint)
+0:155        direct index ( temp highp uint)
+0:155          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:155            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155              Constant:
+0:155                3 (const int)
+0:155            Constant:
+0:155              2 (const int)
+0:155          Constant:
+0:155            0 (const int)
+0:155        ERROR: Bad aggregation op
+ ( global highp uint)
+0:155          direct index ( temp highp uint)
+0:155            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:155              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155                Constant:
+0:155                  0 (const int)
+0:155              Constant:
+0:155                2 (const int)
+0:155            Constant:
+0:155              0 (const int)
+0:155          'ballot' ( temp highp 4-component vector of uint)
+0:156      move second child to first child ( temp highp 2-component vector of uint)
+0:156        vector swizzle ( temp highp 2-component vector of uint)
+0:156          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:156            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156              Constant:
+0:156                3 (const int)
+0:156            Constant:
+0:156              2 (const int)
+0:156          Sequence
+0:156            Constant:
+0:156              0 (const int)
+0:156            Constant:
+0:156              1 (const int)
+0:156        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:156          vector swizzle ( temp highp 2-component vector of uint)
+0:156            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:156              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156                Constant:
+0:156                  1 (const int)
+0:156              Constant:
+0:156                2 (const int)
+0:156            Sequence
+0:156              Constant:
+0:156                0 (const int)
+0:156              Constant:
+0:156                1 (const int)
+0:156          'ballot' ( temp highp 4-component vector of uint)
+0:157      move second child to first child ( temp highp 3-component vector of uint)
+0:157        vector swizzle ( temp highp 3-component vector of uint)
+0:157          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:157            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:157              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:157              Constant:
+0:157                3 (const int)
+0:157            Constant:
+0:157              2 (const int)
+0:157          Sequence
+0:157            Constant:
+0:157              0 (const int)
+0:157            Constant:
+0:157              1 (const int)
+0:157            Constant:
+0:157              2 (const int)
+0:157        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:157          vector swizzle ( temp highp 3-component vector of uint)
+0:157            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:157              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:157                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:157                Constant:
+0:157                  2 (const int)
+0:157              Constant:
+0:157                2 (const int)
+0:157            Sequence
+0:157              Constant:
+0:157                0 (const int)
+0:157              Constant:
+0:157                1 (const int)
+0:157              Constant:
+0:157                2 (const int)
+0:157          'ballot' ( temp highp 4-component vector of uint)
+0:158      move second child to first child ( temp highp 4-component vector of uint)
+0:158        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:158          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158            Constant:
+0:158              3 (const int)
+0:158          Constant:
+0:158            2 (const int)
+0:158        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:158          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:158            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158              Constant:
+0:158                3 (const int)
+0:158            Constant:
+0:158              2 (const int)
+0:158          'ballot' ( temp highp 4-component vector of uint)
+0:160      move second child to first child ( temp highp float)
+0:160        direct index ( temp highp float)
+0:160          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:160            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160              Constant:
+0:160                3 (const int)
+0:160            Constant:
+0:160              0 (const int)
+0:160          Constant:
+0:160            0 (const int)
+0:160        ERROR: Bad aggregation op
+ ( global highp float)
+0:160          direct index ( temp highp float)
+0:160            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:160              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160                Constant:
+0:160                  0 (const int)
+0:160              Constant:
+0:160                0 (const int)
+0:160            Constant:
+0:160              0 (const int)
+0:160          'ballot' ( temp highp 4-component vector of uint)
+0:161      move second child to first child ( temp highp 2-component vector of float)
+0:161        vector swizzle ( temp highp 2-component vector of float)
+0:161          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:161            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161              Constant:
+0:161                3 (const int)
+0:161            Constant:
+0:161              0 (const int)
+0:161          Sequence
+0:161            Constant:
+0:161              0 (const int)
+0:161            Constant:
+0:161              1 (const int)
+0:161        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:161          vector swizzle ( temp highp 2-component vector of float)
+0:161            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:161              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161                Constant:
+0:161                  1 (const int)
+0:161              Constant:
+0:161                0 (const int)
+0:161            Sequence
+0:161              Constant:
+0:161                0 (const int)
+0:161              Constant:
+0:161                1 (const int)
+0:161          'ballot' ( temp highp 4-component vector of uint)
+0:162      move second child to first child ( temp highp 3-component vector of float)
+0:162        vector swizzle ( temp highp 3-component vector of float)
+0:162          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:162            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:162              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:162              Constant:
+0:162                3 (const int)
+0:162            Constant:
+0:162              0 (const int)
+0:162          Sequence
+0:162            Constant:
+0:162              0 (const int)
+0:162            Constant:
+0:162              1 (const int)
+0:162            Constant:
+0:162              2 (const int)
+0:162        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:162          vector swizzle ( temp highp 3-component vector of float)
+0:162            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:162              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:162                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:162                Constant:
+0:162                  2 (const int)
+0:162              Constant:
+0:162                0 (const int)
+0:162            Sequence
+0:162              Constant:
+0:162                0 (const int)
+0:162              Constant:
+0:162                1 (const int)
+0:162              Constant:
+0:162                2 (const int)
+0:162          'ballot' ( temp highp 4-component vector of uint)
+0:163      move second child to first child ( temp highp 4-component vector of float)
+0:163        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:163          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163            Constant:
+0:163              3 (const int)
+0:163          Constant:
+0:163            0 (const int)
+0:163        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:163          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:163            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163              Constant:
+0:163                3 (const int)
+0:163            Constant:
+0:163              0 (const int)
+0:163          'ballot' ( temp highp 4-component vector of uint)
+0:165      move second child to first child ( temp highp int)
+0:165        direct index ( temp highp int)
+0:165          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:165            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165              Constant:
+0:165                3 (const int)
+0:165            Constant:
+0:165              1 (const int)
+0:165          Constant:
+0:165            0 (const int)
+0:165        ERROR: Bad aggregation op
+ ( global highp int)
+0:165          direct index ( temp highp int)
+0:165            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:165              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165                Constant:
+0:165                  0 (const int)
+0:165              Constant:
+0:165                1 (const int)
+0:165            Constant:
+0:165              0 (const int)
+0:165          'ballot' ( temp highp 4-component vector of uint)
+0:166      move second child to first child ( temp highp 2-component vector of int)
+0:166        vector swizzle ( temp highp 2-component vector of int)
+0:166          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:166            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166              Constant:
+0:166                3 (const int)
+0:166            Constant:
+0:166              1 (const int)
+0:166          Sequence
+0:166            Constant:
+0:166              0 (const int)
+0:166            Constant:
+0:166              1 (const int)
+0:166        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:166          vector swizzle ( temp highp 2-component vector of int)
+0:166            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:166              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166                Constant:
+0:166                  1 (const int)
+0:166              Constant:
+0:166                1 (const int)
+0:166            Sequence
+0:166              Constant:
+0:166                0 (const int)
+0:166              Constant:
+0:166                1 (const int)
+0:166          'ballot' ( temp highp 4-component vector of uint)
+0:167      move second child to first child ( temp highp 3-component vector of int)
+0:167        vector swizzle ( temp highp 3-component vector of int)
+0:167          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:167            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:167              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:167              Constant:
+0:167                3 (const int)
+0:167            Constant:
+0:167              1 (const int)
+0:167          Sequence
+0:167            Constant:
+0:167              0 (const int)
+0:167            Constant:
+0:167              1 (const int)
+0:167            Constant:
+0:167              2 (const int)
+0:167        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:167          vector swizzle ( temp highp 3-component vector of int)
+0:167            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:167              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:167                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:167                Constant:
+0:167                  2 (const int)
+0:167              Constant:
+0:167                1 (const int)
+0:167            Sequence
+0:167              Constant:
+0:167                0 (const int)
+0:167              Constant:
+0:167                1 (const int)
+0:167              Constant:
+0:167                2 (const int)
+0:167          'ballot' ( temp highp 4-component vector of uint)
+0:168      move second child to first child ( temp highp 4-component vector of int)
+0:168        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:168          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168            Constant:
+0:168              3 (const int)
+0:168          Constant:
+0:168            1 (const int)
+0:168        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:168          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:168            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168              Constant:
+0:168                3 (const int)
+0:168            Constant:
+0:168              1 (const int)
+0:168          'ballot' ( temp highp 4-component vector of uint)
+0:170      move second child to first child ( temp highp uint)
+0:170        direct index ( temp highp uint)
+0:170          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:170            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170              Constant:
+0:170                0 (const int)
+0:170            Constant:
+0:170              2 (const int)
+0:170          Constant:
+0:170            0 (const int)
+0:170        ERROR: Bad aggregation op
+ ( global highp uint)
+0:170          direct index ( temp highp uint)
+0:170            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:170              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170                Constant:
+0:170                  0 (const int)
+0:170              Constant:
+0:170                2 (const int)
+0:170            Constant:
+0:170              0 (const int)
+0:170          'ballot' ( temp highp 4-component vector of uint)
+0:171      move second child to first child ( temp highp 2-component vector of uint)
+0:171        vector swizzle ( temp highp 2-component vector of uint)
+0:171          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:171            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171              Constant:
+0:171                0 (const int)
+0:171            Constant:
+0:171              2 (const int)
+0:171          Sequence
+0:171            Constant:
+0:171              0 (const int)
+0:171            Constant:
+0:171              1 (const int)
+0:171        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:171          vector swizzle ( temp highp 2-component vector of uint)
+0:171            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:171              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171                Constant:
+0:171                  1 (const int)
+0:171              Constant:
+0:171                2 (const int)
+0:171            Sequence
+0:171              Constant:
+0:171                0 (const int)
+0:171              Constant:
+0:171                1 (const int)
+0:171          'ballot' ( temp highp 4-component vector of uint)
+0:172      move second child to first child ( temp highp 3-component vector of uint)
+0:172        vector swizzle ( temp highp 3-component vector of uint)
+0:172          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:172            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:172              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:172              Constant:
+0:172                0 (const int)
+0:172            Constant:
+0:172              2 (const int)
+0:172          Sequence
+0:172            Constant:
+0:172              0 (const int)
+0:172            Constant:
+0:172              1 (const int)
+0:172            Constant:
+0:172              2 (const int)
+0:172        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:172          vector swizzle ( temp highp 3-component vector of uint)
+0:172            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:172              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:172                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:172                Constant:
+0:172                  2 (const int)
+0:172              Constant:
+0:172                2 (const int)
+0:172            Sequence
+0:172              Constant:
+0:172                0 (const int)
+0:172              Constant:
+0:172                1 (const int)
+0:172              Constant:
+0:172                2 (const int)
+0:172          'ballot' ( temp highp 4-component vector of uint)
+0:173      move second child to first child ( temp highp 4-component vector of uint)
+0:173        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:173          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173            Constant:
+0:173              0 (const int)
+0:173          Constant:
+0:173            2 (const int)
+0:173        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:173          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:173            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173              Constant:
+0:173                3 (const int)
+0:173            Constant:
+0:173              2 (const int)
+0:173          'ballot' ( temp highp 4-component vector of uint)
+0:175      move second child to first child ( temp highp float)
+0:175        direct index ( temp highp float)
+0:175          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:175            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175              Constant:
+0:175                0 (const int)
+0:175            Constant:
+0:175              0 (const int)
+0:175          Constant:
+0:175            0 (const int)
+0:175        ERROR: Bad aggregation op
+ ( global highp float)
+0:175          direct index ( temp highp float)
+0:175            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:175              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175                Constant:
+0:175                  0 (const int)
+0:175              Constant:
+0:175                0 (const int)
+0:175            Constant:
+0:175              0 (const int)
+0:175          'ballot' ( temp highp 4-component vector of uint)
+0:176      move second child to first child ( temp highp 2-component vector of float)
+0:176        vector swizzle ( temp highp 2-component vector of float)
+0:176          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:176            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176              Constant:
+0:176                0 (const int)
+0:176            Constant:
+0:176              0 (const int)
+0:176          Sequence
+0:176            Constant:
+0:176              0 (const int)
+0:176            Constant:
+0:176              1 (const int)
+0:176        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:176          vector swizzle ( temp highp 2-component vector of float)
+0:176            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:176              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176                Constant:
+0:176                  1 (const int)
+0:176              Constant:
+0:176                0 (const int)
+0:176            Sequence
+0:176              Constant:
+0:176                0 (const int)
+0:176              Constant:
+0:176                1 (const int)
+0:176          'ballot' ( temp highp 4-component vector of uint)
+0:177      move second child to first child ( temp highp 3-component vector of float)
+0:177        vector swizzle ( temp highp 3-component vector of float)
+0:177          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:177            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:177              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:177              Constant:
+0:177                0 (const int)
+0:177            Constant:
+0:177              0 (const int)
+0:177          Sequence
+0:177            Constant:
+0:177              0 (const int)
+0:177            Constant:
+0:177              1 (const int)
+0:177            Constant:
+0:177              2 (const int)
+0:177        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:177          vector swizzle ( temp highp 3-component vector of float)
+0:177            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:177              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:177                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:177                Constant:
+0:177                  2 (const int)
+0:177              Constant:
+0:177                0 (const int)
+0:177            Sequence
+0:177              Constant:
+0:177                0 (const int)
+0:177              Constant:
+0:177                1 (const int)
+0:177              Constant:
+0:177                2 (const int)
+0:177          'ballot' ( temp highp 4-component vector of uint)
+0:178      move second child to first child ( temp highp 4-component vector of float)
+0:178        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:178          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178            Constant:
+0:178              0 (const int)
+0:178          Constant:
+0:178            0 (const int)
+0:178        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:178          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:178            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178              Constant:
+0:178                3 (const int)
+0:178            Constant:
+0:178              0 (const int)
+0:178          'ballot' ( temp highp 4-component vector of uint)
+0:180      move second child to first child ( temp highp int)
+0:180        direct index ( temp highp int)
+0:180          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:180            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180              Constant:
+0:180                0 (const int)
+0:180            Constant:
+0:180              1 (const int)
+0:180          Constant:
+0:180            0 (const int)
+0:180        ERROR: Bad aggregation op
+ ( global highp int)
+0:180          direct index ( temp highp int)
+0:180            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:180              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180                Constant:
+0:180                  0 (const int)
+0:180              Constant:
+0:180                1 (const int)
+0:180            Constant:
+0:180              0 (const int)
+0:180          'ballot' ( temp highp 4-component vector of uint)
+0:181      move second child to first child ( temp highp 2-component vector of int)
+0:181        vector swizzle ( temp highp 2-component vector of int)
+0:181          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:181            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181              Constant:
+0:181                0 (const int)
+0:181            Constant:
+0:181              1 (const int)
+0:181          Sequence
+0:181            Constant:
+0:181              0 (const int)
+0:181            Constant:
+0:181              1 (const int)
+0:181        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:181          vector swizzle ( temp highp 2-component vector of int)
+0:181            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:181              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181                Constant:
+0:181                  1 (const int)
+0:181              Constant:
+0:181                1 (const int)
+0:181            Sequence
+0:181              Constant:
+0:181                0 (const int)
+0:181              Constant:
+0:181                1 (const int)
+0:181          'ballot' ( temp highp 4-component vector of uint)
+0:182      move second child to first child ( temp highp 3-component vector of int)
+0:182        vector swizzle ( temp highp 3-component vector of int)
+0:182          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:182            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:182              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:182              Constant:
+0:182                0 (const int)
+0:182            Constant:
+0:182              1 (const int)
+0:182          Sequence
+0:182            Constant:
+0:182              0 (const int)
+0:182            Constant:
+0:182              1 (const int)
+0:182            Constant:
+0:182              2 (const int)
+0:182        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:182          vector swizzle ( temp highp 3-component vector of int)
+0:182            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:182              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:182                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:182                Constant:
+0:182                  2 (const int)
+0:182              Constant:
+0:182                1 (const int)
+0:182            Sequence
+0:182              Constant:
+0:182                0 (const int)
+0:182              Constant:
+0:182                1 (const int)
+0:182              Constant:
+0:182                2 (const int)
+0:182          'ballot' ( temp highp 4-component vector of uint)
+0:183      move second child to first child ( temp highp 4-component vector of int)
+0:183        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:183          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183            Constant:
+0:183              0 (const int)
+0:183          Constant:
+0:183            1 (const int)
+0:183        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:183          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:183            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183              Constant:
+0:183                3 (const int)
+0:183            Constant:
+0:183              1 (const int)
+0:183          'ballot' ( temp highp 4-component vector of uint)
+0:185      move second child to first child ( temp highp uint)
+0:185        direct index ( temp highp uint)
+0:185          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:185            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185              Constant:
+0:185                0 (const int)
+0:185            Constant:
+0:185              2 (const int)
+0:185          Constant:
+0:185            0 (const int)
+0:185        ERROR: Bad aggregation op
+ ( global highp uint)
+0:185          direct index ( temp highp uint)
+0:185            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:185              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185                Constant:
+0:185                  0 (const int)
+0:185              Constant:
+0:185                2 (const int)
+0:185            Constant:
+0:185              0 (const int)
+0:185          'ballot' ( temp highp 4-component vector of uint)
+0:186      move second child to first child ( temp highp 2-component vector of uint)
+0:186        vector swizzle ( temp highp 2-component vector of uint)
+0:186          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:186            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186              Constant:
+0:186                0 (const int)
+0:186            Constant:
+0:186              2 (const int)
+0:186          Sequence
+0:186            Constant:
+0:186              0 (const int)
+0:186            Constant:
+0:186              1 (const int)
+0:186        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:186          vector swizzle ( temp highp 2-component vector of uint)
+0:186            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:186              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186                Constant:
+0:186                  1 (const int)
+0:186              Constant:
+0:186                2 (const int)
+0:186            Sequence
+0:186              Constant:
+0:186                0 (const int)
+0:186              Constant:
+0:186                1 (const int)
+0:186          'ballot' ( temp highp 4-component vector of uint)
+0:187      move second child to first child ( temp highp 3-component vector of uint)
+0:187        vector swizzle ( temp highp 3-component vector of uint)
+0:187          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:187            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:187              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:187              Constant:
+0:187                0 (const int)
+0:187            Constant:
+0:187              2 (const int)
+0:187          Sequence
+0:187            Constant:
+0:187              0 (const int)
+0:187            Constant:
+0:187              1 (const int)
+0:187            Constant:
+0:187              2 (const int)
+0:187        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:187          vector swizzle ( temp highp 3-component vector of uint)
+0:187            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:187              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:187                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:187                Constant:
+0:187                  2 (const int)
+0:187              Constant:
+0:187                2 (const int)
+0:187            Sequence
+0:187              Constant:
+0:187                0 (const int)
+0:187              Constant:
+0:187                1 (const int)
+0:187              Constant:
+0:187                2 (const int)
+0:187          'ballot' ( temp highp 4-component vector of uint)
+0:188      move second child to first child ( temp highp 4-component vector of uint)
+0:188        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:188          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188            Constant:
+0:188              0 (const int)
+0:188          Constant:
+0:188            2 (const int)
+0:188        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:188          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:188            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188              Constant:
+0:188                3 (const int)
+0:188            Constant:
+0:188              2 (const int)
+0:188          'ballot' ( temp highp 4-component vector of uint)
+0:190      move second child to first child ( temp highp float)
+0:190        direct index ( temp highp float)
+0:190          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:190            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190              Constant:
+0:190                1 (const int)
+0:190            Constant:
+0:190              0 (const int)
+0:190          Constant:
+0:190            0 (const int)
+0:190        ERROR: Bad aggregation op
+ ( global highp float)
+0:190          direct index ( temp highp float)
+0:190            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:190              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190                Constant:
+0:190                  0 (const int)
+0:190              Constant:
+0:190                0 (const int)
+0:190            Constant:
+0:190              0 (const int)
+0:190          'ballot' ( temp highp 4-component vector of uint)
+0:191      move second child to first child ( temp highp 2-component vector of float)
+0:191        vector swizzle ( temp highp 2-component vector of float)
+0:191          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:191            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191              Constant:
+0:191                1 (const int)
+0:191            Constant:
+0:191              0 (const int)
+0:191          Sequence
+0:191            Constant:
+0:191              0 (const int)
+0:191            Constant:
+0:191              1 (const int)
+0:191        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:191          vector swizzle ( temp highp 2-component vector of float)
+0:191            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:191              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191                Constant:
+0:191                  1 (const int)
+0:191              Constant:
+0:191                0 (const int)
+0:191            Sequence
+0:191              Constant:
+0:191                0 (const int)
+0:191              Constant:
+0:191                1 (const int)
+0:191          'ballot' ( temp highp 4-component vector of uint)
+0:192      move second child to first child ( temp highp 3-component vector of float)
+0:192        vector swizzle ( temp highp 3-component vector of float)
+0:192          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:192            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:192              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:192              Constant:
+0:192                1 (const int)
+0:192            Constant:
+0:192              0 (const int)
+0:192          Sequence
+0:192            Constant:
+0:192              0 (const int)
+0:192            Constant:
+0:192              1 (const int)
+0:192            Constant:
+0:192              2 (const int)
+0:192        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:192          vector swizzle ( temp highp 3-component vector of float)
+0:192            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:192              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:192                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:192                Constant:
+0:192                  2 (const int)
+0:192              Constant:
+0:192                0 (const int)
+0:192            Sequence
+0:192              Constant:
+0:192                0 (const int)
+0:192              Constant:
+0:192                1 (const int)
+0:192              Constant:
+0:192                2 (const int)
+0:192          'ballot' ( temp highp 4-component vector of uint)
+0:193      move second child to first child ( temp highp 4-component vector of float)
+0:193        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:193          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193            Constant:
+0:193              1 (const int)
+0:193          Constant:
+0:193            0 (const int)
+0:193        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:193          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:193            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193              Constant:
+0:193                3 (const int)
+0:193            Constant:
+0:193              0 (const int)
+0:193          'ballot' ( temp highp 4-component vector of uint)
+0:195      move second child to first child ( temp highp int)
+0:195        direct index ( temp highp int)
+0:195          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:195            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195              Constant:
+0:195                1 (const int)
+0:195            Constant:
+0:195              1 (const int)
+0:195          Constant:
+0:195            0 (const int)
+0:195        ERROR: Bad aggregation op
+ ( global highp int)
+0:195          direct index ( temp highp int)
+0:195            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:195              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195                Constant:
+0:195                  0 (const int)
+0:195              Constant:
+0:195                1 (const int)
+0:195            Constant:
+0:195              0 (const int)
+0:195          'ballot' ( temp highp 4-component vector of uint)
+0:196      move second child to first child ( temp highp 2-component vector of int)
+0:196        vector swizzle ( temp highp 2-component vector of int)
+0:196          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:196            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196              Constant:
+0:196                1 (const int)
+0:196            Constant:
+0:196              1 (const int)
+0:196          Sequence
+0:196            Constant:
+0:196              0 (const int)
+0:196            Constant:
+0:196              1 (const int)
+0:196        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:196          vector swizzle ( temp highp 2-component vector of int)
+0:196            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:196              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196                Constant:
+0:196                  1 (const int)
+0:196              Constant:
+0:196                1 (const int)
+0:196            Sequence
+0:196              Constant:
+0:196                0 (const int)
+0:196              Constant:
+0:196                1 (const int)
+0:196          'ballot' ( temp highp 4-component vector of uint)
+0:197      move second child to first child ( temp highp 3-component vector of int)
+0:197        vector swizzle ( temp highp 3-component vector of int)
+0:197          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:197            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:197              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:197              Constant:
+0:197                1 (const int)
+0:197            Constant:
+0:197              1 (const int)
+0:197          Sequence
+0:197            Constant:
+0:197              0 (const int)
+0:197            Constant:
+0:197              1 (const int)
+0:197            Constant:
+0:197              2 (const int)
+0:197        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:197          vector swizzle ( temp highp 3-component vector of int)
+0:197            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:197              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:197                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:197                Constant:
+0:197                  2 (const int)
+0:197              Constant:
+0:197                1 (const int)
+0:197            Sequence
+0:197              Constant:
+0:197                0 (const int)
+0:197              Constant:
+0:197                1 (const int)
+0:197              Constant:
+0:197                2 (const int)
+0:197          'ballot' ( temp highp 4-component vector of uint)
+0:198      move second child to first child ( temp highp 4-component vector of int)
+0:198        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:198          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198            Constant:
+0:198              1 (const int)
+0:198          Constant:
+0:198            1 (const int)
+0:198        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:198          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:198            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198              Constant:
+0:198                3 (const int)
+0:198            Constant:
+0:198              1 (const int)
+0:198          'ballot' ( temp highp 4-component vector of uint)
+0:200      move second child to first child ( temp highp uint)
+0:200        direct index ( temp highp uint)
+0:200          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:200            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200              Constant:
+0:200                1 (const int)
+0:200            Constant:
+0:200              2 (const int)
+0:200          Constant:
+0:200            0 (const int)
+0:200        ERROR: Bad aggregation op
+ ( global highp uint)
+0:200          direct index ( temp highp uint)
+0:200            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:200              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200                Constant:
+0:200                  0 (const int)
+0:200              Constant:
+0:200                2 (const int)
+0:200            Constant:
+0:200              0 (const int)
+0:200          'ballot' ( temp highp 4-component vector of uint)
+0:201      move second child to first child ( temp highp 2-component vector of uint)
+0:201        vector swizzle ( temp highp 2-component vector of uint)
+0:201          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:201            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201              Constant:
+0:201                1 (const int)
+0:201            Constant:
+0:201              2 (const int)
+0:201          Sequence
+0:201            Constant:
+0:201              0 (const int)
+0:201            Constant:
+0:201              1 (const int)
+0:201        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:201          vector swizzle ( temp highp 2-component vector of uint)
+0:201            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:201              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201                Constant:
+0:201                  1 (const int)
+0:201              Constant:
+0:201                2 (const int)
+0:201            Sequence
+0:201              Constant:
+0:201                0 (const int)
+0:201              Constant:
+0:201                1 (const int)
+0:201          'ballot' ( temp highp 4-component vector of uint)
+0:202      move second child to first child ( temp highp 3-component vector of uint)
+0:202        vector swizzle ( temp highp 3-component vector of uint)
+0:202          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:202            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:202              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:202              Constant:
+0:202                1 (const int)
+0:202            Constant:
+0:202              2 (const int)
+0:202          Sequence
+0:202            Constant:
+0:202              0 (const int)
+0:202            Constant:
+0:202              1 (const int)
+0:202            Constant:
+0:202              2 (const int)
+0:202        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:202          vector swizzle ( temp highp 3-component vector of uint)
+0:202            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:202              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:202                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:202                Constant:
+0:202                  2 (const int)
+0:202              Constant:
+0:202                2 (const int)
+0:202            Sequence
+0:202              Constant:
+0:202                0 (const int)
+0:202              Constant:
+0:202                1 (const int)
+0:202              Constant:
+0:202                2 (const int)
+0:202          'ballot' ( temp highp 4-component vector of uint)
+0:203      move second child to first child ( temp highp 4-component vector of uint)
+0:203        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:203          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203            Constant:
+0:203              1 (const int)
+0:203          Constant:
+0:203            2 (const int)
+0:203        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:203          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:203            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203              Constant:
+0:203                3 (const int)
+0:203            Constant:
+0:203              2 (const int)
+0:203          'ballot' ( temp highp 4-component vector of uint)
+0:205      move second child to first child ( temp highp int)
+0:205        direct index ( temp highp int)
+0:205          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:205            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205              Constant:
+0:205                1 (const int)
+0:205            Constant:
+0:205              1 (const int)
+0:205          Constant:
+0:205            0 (const int)
+0:205        ERROR: Bad aggregation op
+ ( global highp int)
+0:205          direct index ( temp highp int)
+0:205            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:205              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205                Constant:
+0:205                  0 (const int)
+0:205              Constant:
+0:205                1 (const int)
+0:205            Constant:
+0:205              0 (const int)
+0:205          'ballot' ( temp highp 4-component vector of uint)
+0:206      move second child to first child ( temp highp 2-component vector of int)
+0:206        vector swizzle ( temp highp 2-component vector of int)
+0:206          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:206            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206              Constant:
+0:206                1 (const int)
+0:206            Constant:
+0:206              1 (const int)
+0:206          Sequence
+0:206            Constant:
+0:206              0 (const int)
+0:206            Constant:
+0:206              1 (const int)
+0:206        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:206          vector swizzle ( temp highp 2-component vector of int)
+0:206            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:206              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206                Constant:
+0:206                  1 (const int)
+0:206              Constant:
+0:206                1 (const int)
+0:206            Sequence
+0:206              Constant:
+0:206                0 (const int)
+0:206              Constant:
+0:206                1 (const int)
+0:206          'ballot' ( temp highp 4-component vector of uint)
+0:207      move second child to first child ( temp highp 3-component vector of int)
+0:207        vector swizzle ( temp highp 3-component vector of int)
+0:207          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:207            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:207              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:207              Constant:
+0:207                1 (const int)
+0:207            Constant:
+0:207              1 (const int)
+0:207          Sequence
+0:207            Constant:
+0:207              0 (const int)
+0:207            Constant:
+0:207              1 (const int)
+0:207            Constant:
+0:207              2 (const int)
+0:207        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:207          vector swizzle ( temp highp 3-component vector of int)
+0:207            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:207              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:207                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:207                Constant:
+0:207                  2 (const int)
+0:207              Constant:
+0:207                1 (const int)
+0:207            Sequence
+0:207              Constant:
+0:207                0 (const int)
+0:207              Constant:
+0:207                1 (const int)
+0:207              Constant:
+0:207                2 (const int)
+0:207          'ballot' ( temp highp 4-component vector of uint)
+0:208      move second child to first child ( temp highp 4-component vector of int)
+0:208        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:208          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208            Constant:
+0:208              1 (const int)
+0:208          Constant:
+0:208            1 (const int)
+0:208        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:208          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:208            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208              Constant:
+0:208                3 (const int)
+0:208            Constant:
+0:208              1 (const int)
+0:208          'ballot' ( temp highp 4-component vector of uint)
+0:210      move second child to first child ( temp highp uint)
+0:210        direct index ( temp highp uint)
+0:210          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:210            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210              Constant:
+0:210                2 (const int)
+0:210            Constant:
+0:210              2 (const int)
+0:210          Constant:
+0:210            0 (const int)
+0:210        ERROR: Bad aggregation op
+ ( global highp uint)
+0:210          direct index ( temp highp uint)
+0:210            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:210              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210                Constant:
+0:210                  0 (const int)
+0:210              Constant:
+0:210                2 (const int)
+0:210            Constant:
+0:210              0 (const int)
+0:210          'ballot' ( temp highp 4-component vector of uint)
+0:211      move second child to first child ( temp highp 2-component vector of uint)
+0:211        vector swizzle ( temp highp 2-component vector of uint)
+0:211          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:211            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211              Constant:
+0:211                2 (const int)
+0:211            Constant:
+0:211              2 (const int)
+0:211          Sequence
+0:211            Constant:
+0:211              0 (const int)
+0:211            Constant:
+0:211              1 (const int)
+0:211        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:211          vector swizzle ( temp highp 2-component vector of uint)
+0:211            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:211              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211                Constant:
+0:211                  1 (const int)
+0:211              Constant:
+0:211                2 (const int)
+0:211            Sequence
+0:211              Constant:
+0:211                0 (const int)
+0:211              Constant:
+0:211                1 (const int)
+0:211          'ballot' ( temp highp 4-component vector of uint)
+0:212      move second child to first child ( temp highp 3-component vector of uint)
+0:212        vector swizzle ( temp highp 3-component vector of uint)
+0:212          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:212            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:212              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:212              Constant:
+0:212                2 (const int)
+0:212            Constant:
+0:212              2 (const int)
+0:212          Sequence
+0:212            Constant:
+0:212              0 (const int)
+0:212            Constant:
+0:212              1 (const int)
+0:212            Constant:
+0:212              2 (const int)
+0:212        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:212          vector swizzle ( temp highp 3-component vector of uint)
+0:212            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:212              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:212                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:212                Constant:
+0:212                  2 (const int)
+0:212              Constant:
+0:212                2 (const int)
+0:212            Sequence
+0:212              Constant:
+0:212                0 (const int)
+0:212              Constant:
+0:212                1 (const int)
+0:212              Constant:
+0:212                2 (const int)
+0:212          'ballot' ( temp highp 4-component vector of uint)
+0:213      move second child to first child ( temp highp 4-component vector of uint)
+0:213        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:213          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213            Constant:
+0:213              2 (const int)
+0:213          Constant:
+0:213            2 (const int)
+0:213        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:213          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:213            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213              Constant:
+0:213                3 (const int)
+0:213            Constant:
+0:213              2 (const int)
+0:213          'ballot' ( temp highp 4-component vector of uint)
+0:215      move second child to first child ( temp highp int)
+0:215        direct index ( temp highp int)
+0:215          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:215            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215              Constant:
+0:215                2 (const int)
+0:215            Constant:
+0:215              1 (const int)
+0:215          Constant:
+0:215            0 (const int)
+0:215        Convert bool to int ( temp highp int)
+0:215          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:215            Compare Less Than ( temp bool)
+0:215              direct index ( temp highp int)
+0:215                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:215                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215                    Constant:
+0:215                      0 (const int)
+0:215                  Constant:
+0:215                    1 (const int)
+0:215                Constant:
+0:215                  0 (const int)
+0:215              Constant:
+0:215                0 (const int)
+0:215            'ballot' ( temp highp 4-component vector of uint)
+0:216      move second child to first child ( temp highp 2-component vector of int)
+0:216        vector swizzle ( temp highp 2-component vector of int)
+0:216          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:216            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216              Constant:
+0:216                2 (const int)
+0:216            Constant:
+0:216              1 (const int)
+0:216          Sequence
+0:216            Constant:
+0:216              0 (const int)
+0:216            Constant:
+0:216              1 (const int)
+0:216        Convert bool to int ( temp highp 2-component vector of int)
+0:216          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:216            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:216              vector swizzle ( temp highp 2-component vector of int)
+0:216                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:216                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216                    Constant:
+0:216                      1 (const int)
+0:216                  Constant:
+0:216                    1 (const int)
+0:216                Sequence
+0:216                  Constant:
+0:216                    0 (const int)
+0:216                  Constant:
+0:216                    1 (const int)
+0:216              Constant:
+0:216                0 (const int)
+0:216                0 (const int)
+0:216            'ballot' ( temp highp 4-component vector of uint)
+0:217      move second child to first child ( temp highp 3-component vector of int)
+0:217        vector swizzle ( temp highp 3-component vector of int)
+0:217          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:217            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:217              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:217              Constant:
+0:217                2 (const int)
+0:217            Constant:
+0:217              1 (const int)
+0:217          Sequence
+0:217            Constant:
+0:217              0 (const int)
+0:217            Constant:
+0:217              1 (const int)
+0:217            Constant:
+0:217              2 (const int)
+0:217        Convert bool to int ( temp highp 3-component vector of int)
+0:217          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:217            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:217              vector swizzle ( temp highp 3-component vector of int)
+0:217                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:217                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:217                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:217                    Constant:
+0:217                      1 (const int)
+0:217                  Constant:
+0:217                    1 (const int)
+0:217                Sequence
+0:217                  Constant:
+0:217                    0 (const int)
+0:217                  Constant:
+0:217                    1 (const int)
+0:217                  Constant:
+0:217                    2 (const int)
+0:217              Constant:
+0:217                0 (const int)
+0:217                0 (const int)
+0:217                0 (const int)
+0:217            'ballot' ( temp highp 4-component vector of uint)
+0:218      move second child to first child ( temp highp 4-component vector of int)
+0:218        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:218          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218            Constant:
+0:218              2 (const int)
+0:218          Constant:
+0:218            1 (const int)
+0:218        Convert bool to int ( temp highp 4-component vector of int)
+0:218          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:218            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:218              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:218                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218                  Constant:
+0:218                    1 (const int)
+0:218                Constant:
+0:218                  1 (const int)
+0:218              Constant:
+0:218                0 (const int)
+0:218                0 (const int)
+0:218                0 (const int)
+0:218                0 (const int)
+0:218            'ballot' ( temp highp 4-component vector of uint)
+0:220      move second child to first child ( temp highp int)
+0:220        direct index ( temp highp int)
+0:220          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:220            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220              Constant:
+0:220                2 (const int)
+0:220            Constant:
+0:220              1 (const int)
+0:220          Constant:
+0:220            0 (const int)
+0:220        ERROR: Bad aggregation op
+ ( global highp int)
+0:220          direct index ( temp highp int)
+0:220            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:220              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220                Constant:
+0:220                  0 (const int)
+0:220              Constant:
+0:220                1 (const int)
+0:220            Constant:
+0:220              0 (const int)
+0:220          'ballot' ( temp highp 4-component vector of uint)
+0:221      move second child to first child ( temp highp 2-component vector of int)
+0:221        vector swizzle ( temp highp 2-component vector of int)
+0:221          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:221            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221              Constant:
+0:221                2 (const int)
+0:221            Constant:
+0:221              1 (const int)
+0:221          Sequence
+0:221            Constant:
+0:221              0 (const int)
+0:221            Constant:
+0:221              1 (const int)
+0:221        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:221          vector swizzle ( temp highp 2-component vector of int)
+0:221            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:221              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221                Constant:
+0:221                  1 (const int)
+0:221              Constant:
+0:221                1 (const int)
+0:221            Sequence
+0:221              Constant:
+0:221                0 (const int)
+0:221              Constant:
+0:221                1 (const int)
+0:221          'ballot' ( temp highp 4-component vector of uint)
+0:222      move second child to first child ( temp highp 3-component vector of int)
+0:222        vector swizzle ( temp highp 3-component vector of int)
+0:222          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:222            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:222              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:222              Constant:
+0:222                2 (const int)
+0:222            Constant:
+0:222              1 (const int)
+0:222          Sequence
+0:222            Constant:
+0:222              0 (const int)
+0:222            Constant:
+0:222              1 (const int)
+0:222            Constant:
+0:222              2 (const int)
+0:222        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:222          vector swizzle ( temp highp 3-component vector of int)
+0:222            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:222              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:222                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:222                Constant:
+0:222                  2 (const int)
+0:222              Constant:
+0:222                1 (const int)
+0:222            Sequence
+0:222              Constant:
+0:222                0 (const int)
+0:222              Constant:
+0:222                1 (const int)
+0:222              Constant:
+0:222                2 (const int)
+0:222          'ballot' ( temp highp 4-component vector of uint)
+0:223      move second child to first child ( temp highp 4-component vector of int)
+0:223        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:223          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223            Constant:
+0:223              2 (const int)
+0:223          Constant:
+0:223            1 (const int)
+0:223        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:223          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:223            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223              Constant:
+0:223                3 (const int)
+0:223            Constant:
+0:223              1 (const int)
+0:223          'ballot' ( temp highp 4-component vector of uint)
+0:225      move second child to first child ( temp highp uint)
+0:225        direct index ( temp highp uint)
+0:225          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:225            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225              Constant:
+0:225                2 (const int)
+0:225            Constant:
+0:225              2 (const int)
+0:225          Constant:
+0:225            0 (const int)
+0:225        ERROR: Bad aggregation op
+ ( global highp uint)
+0:225          direct index ( temp highp uint)
+0:225            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:225              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225                Constant:
+0:225                  0 (const int)
+0:225              Constant:
+0:225                2 (const int)
+0:225            Constant:
+0:225              0 (const int)
+0:225          'ballot' ( temp highp 4-component vector of uint)
+0:226      move second child to first child ( temp highp 2-component vector of uint)
+0:226        vector swizzle ( temp highp 2-component vector of uint)
+0:226          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:226            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226              Constant:
+0:226                2 (const int)
+0:226            Constant:
+0:226              2 (const int)
+0:226          Sequence
+0:226            Constant:
+0:226              0 (const int)
+0:226            Constant:
+0:226              1 (const int)
+0:226        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:226          vector swizzle ( temp highp 2-component vector of uint)
+0:226            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:226              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226                Constant:
+0:226                  1 (const int)
+0:226              Constant:
+0:226                2 (const int)
+0:226            Sequence
+0:226              Constant:
+0:226                0 (const int)
+0:226              Constant:
+0:226                1 (const int)
+0:226          'ballot' ( temp highp 4-component vector of uint)
+0:227      move second child to first child ( temp highp 3-component vector of uint)
+0:227        vector swizzle ( temp highp 3-component vector of uint)
+0:227          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:227            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:227              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:227              Constant:
+0:227                2 (const int)
+0:227            Constant:
+0:227              2 (const int)
+0:227          Sequence
+0:227            Constant:
+0:227              0 (const int)
+0:227            Constant:
+0:227              1 (const int)
+0:227            Constant:
+0:227              2 (const int)
+0:227        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:227          vector swizzle ( temp highp 3-component vector of uint)
+0:227            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:227              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:227                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:227                Constant:
+0:227                  2 (const int)
+0:227              Constant:
+0:227                2 (const int)
+0:227            Sequence
+0:227              Constant:
+0:227                0 (const int)
+0:227              Constant:
+0:227                1 (const int)
+0:227              Constant:
+0:227                2 (const int)
+0:227          'ballot' ( temp highp 4-component vector of uint)
+0:228      move second child to first child ( temp highp 4-component vector of uint)
+0:228        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:228          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228            Constant:
+0:228              2 (const int)
+0:228          Constant:
+0:228            2 (const int)
+0:228        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:228          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:228            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228              Constant:
+0:228                3 (const int)
+0:228            Constant:
+0:228              2 (const int)
+0:228          'ballot' ( temp highp 4-component vector of uint)
+0:230      move second child to first child ( temp highp int)
+0:230        direct index ( temp highp int)
+0:230          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:230            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230              Constant:
+0:230                3 (const int)
+0:230            Constant:
+0:230              1 (const int)
+0:230          Constant:
+0:230            0 (const int)
+0:230        Convert bool to int ( temp highp int)
+0:230          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:230            Compare Less Than ( temp bool)
+0:230              direct index ( temp highp int)
+0:230                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:230                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230                    Constant:
+0:230                      0 (const int)
+0:230                  Constant:
+0:230                    1 (const int)
+0:230                Constant:
+0:230                  0 (const int)
+0:230              Constant:
+0:230                0 (const int)
+0:230            'ballot' ( temp highp 4-component vector of uint)
+0:231      move second child to first child ( temp highp 2-component vector of int)
+0:231        vector swizzle ( temp highp 2-component vector of int)
+0:231          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:231            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231              Constant:
+0:231                3 (const int)
+0:231            Constant:
+0:231              1 (const int)
+0:231          Sequence
+0:231            Constant:
+0:231              0 (const int)
+0:231            Constant:
+0:231              1 (const int)
+0:231        Convert bool to int ( temp highp 2-component vector of int)
+0:231          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:231            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:231              vector swizzle ( temp highp 2-component vector of int)
+0:231                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:231                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231                    Constant:
+0:231                      1 (const int)
+0:231                  Constant:
+0:231                    1 (const int)
+0:231                Sequence
+0:231                  Constant:
+0:231                    0 (const int)
+0:231                  Constant:
+0:231                    1 (const int)
+0:231              Constant:
+0:231                0 (const int)
+0:231                0 (const int)
+0:231            'ballot' ( temp highp 4-component vector of uint)
+0:232      move second child to first child ( temp highp 3-component vector of int)
+0:232        vector swizzle ( temp highp 3-component vector of int)
+0:232          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:232            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:232              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:232              Constant:
+0:232                3 (const int)
+0:232            Constant:
+0:232              1 (const int)
+0:232          Sequence
+0:232            Constant:
+0:232              0 (const int)
+0:232            Constant:
+0:232              1 (const int)
+0:232            Constant:
+0:232              2 (const int)
+0:232        Convert bool to int ( temp highp 3-component vector of int)
+0:232          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:232            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:232              vector swizzle ( temp highp 3-component vector of int)
+0:232                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:232                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:232                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:232                    Constant:
+0:232                      1 (const int)
+0:232                  Constant:
+0:232                    1 (const int)
+0:232                Sequence
+0:232                  Constant:
+0:232                    0 (const int)
+0:232                  Constant:
+0:232                    1 (const int)
+0:232                  Constant:
+0:232                    2 (const int)
+0:232              Constant:
+0:232                0 (const int)
+0:232                0 (const int)
+0:232                0 (const int)
+0:232            'ballot' ( temp highp 4-component vector of uint)
+0:233      move second child to first child ( temp highp 4-component vector of int)
+0:233        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:233          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233            Constant:
+0:233              3 (const int)
+0:233          Constant:
+0:233            1 (const int)
+0:233        Convert bool to int ( temp highp 4-component vector of int)
+0:233          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:233            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:233              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:233                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233                  Constant:
+0:233                    1 (const int)
+0:233                Constant:
+0:233                  1 (const int)
+0:233              Constant:
+0:233                0 (const int)
+0:233                0 (const int)
+0:233                0 (const int)
+0:233                0 (const int)
+0:233            'ballot' ( temp highp 4-component vector of uint)
+0:235      move second child to first child ( temp highp int)
+0:235        direct index ( temp highp int)
+0:235          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:235            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235              Constant:
+0:235                3 (const int)
+0:235            Constant:
+0:235              1 (const int)
+0:235          Constant:
+0:235            0 (const int)
+0:235        ERROR: Bad aggregation op
+ ( global highp int)
+0:235          direct index ( temp highp int)
+0:235            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:235              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235                Constant:
+0:235                  0 (const int)
+0:235              Constant:
+0:235                1 (const int)
+0:235            Constant:
+0:235              0 (const int)
+0:235          'ballot' ( temp highp 4-component vector of uint)
+0:236      move second child to first child ( temp highp 2-component vector of int)
+0:236        vector swizzle ( temp highp 2-component vector of int)
+0:236          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:236            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236              Constant:
+0:236                3 (const int)
+0:236            Constant:
+0:236              1 (const int)
+0:236          Sequence
+0:236            Constant:
+0:236              0 (const int)
+0:236            Constant:
+0:236              1 (const int)
+0:236        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:236          vector swizzle ( temp highp 2-component vector of int)
+0:236            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:236              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236                Constant:
+0:236                  1 (const int)
+0:236              Constant:
+0:236                1 (const int)
+0:236            Sequence
+0:236              Constant:
+0:236                0 (const int)
+0:236              Constant:
+0:236                1 (const int)
+0:236          'ballot' ( temp highp 4-component vector of uint)
+0:237      move second child to first child ( temp highp 3-component vector of int)
+0:237        vector swizzle ( temp highp 3-component vector of int)
+0:237          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:237            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:237              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:237              Constant:
+0:237                3 (const int)
+0:237            Constant:
+0:237              1 (const int)
+0:237          Sequence
+0:237            Constant:
+0:237              0 (const int)
+0:237            Constant:
+0:237              1 (const int)
+0:237            Constant:
+0:237              2 (const int)
+0:237        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:237          vector swizzle ( temp highp 3-component vector of int)
+0:237            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:237              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:237                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:237                Constant:
+0:237                  2 (const int)
+0:237              Constant:
+0:237                1 (const int)
+0:237            Sequence
+0:237              Constant:
+0:237                0 (const int)
+0:237              Constant:
+0:237                1 (const int)
+0:237              Constant:
+0:237                2 (const int)
+0:237          'ballot' ( temp highp 4-component vector of uint)
+0:238      move second child to first child ( temp highp 4-component vector of int)
+0:238        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:238          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238            Constant:
+0:238              3 (const int)
+0:238          Constant:
+0:238            1 (const int)
+0:238        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:238          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:238            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238              Constant:
+0:238                3 (const int)
+0:238            Constant:
+0:238              1 (const int)
+0:238          'ballot' ( temp highp 4-component vector of uint)
+0:240      move second child to first child ( temp highp uint)
+0:240        direct index ( temp highp uint)
+0:240          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:240            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240              Constant:
+0:240                3 (const int)
+0:240            Constant:
+0:240              2 (const int)
+0:240          Constant:
+0:240            0 (const int)
+0:240        ERROR: Bad aggregation op
+ ( global highp uint)
+0:240          direct index ( temp highp uint)
+0:240            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:240              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240                Constant:
+0:240                  0 (const int)
+0:240              Constant:
+0:240                2 (const int)
+0:240            Constant:
+0:240              0 (const int)
+0:240          'ballot' ( temp highp 4-component vector of uint)
+0:241      move second child to first child ( temp highp 2-component vector of uint)
+0:241        vector swizzle ( temp highp 2-component vector of uint)
+0:241          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:241            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241              Constant:
+0:241                3 (const int)
+0:241            Constant:
+0:241              2 (const int)
+0:241          Sequence
+0:241            Constant:
+0:241              0 (const int)
+0:241            Constant:
+0:241              1 (const int)
+0:241        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:241          vector swizzle ( temp highp 2-component vector of uint)
+0:241            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:241              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241                Constant:
+0:241                  1 (const int)
+0:241              Constant:
+0:241                2 (const int)
+0:241            Sequence
+0:241              Constant:
+0:241                0 (const int)
+0:241              Constant:
+0:241                1 (const int)
+0:241          'ballot' ( temp highp 4-component vector of uint)
+0:242      move second child to first child ( temp highp 3-component vector of uint)
+0:242        vector swizzle ( temp highp 3-component vector of uint)
+0:242          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:242            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:242              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:242              Constant:
+0:242                3 (const int)
+0:242            Constant:
+0:242              2 (const int)
+0:242          Sequence
+0:242            Constant:
+0:242              0 (const int)
+0:242            Constant:
+0:242              1 (const int)
+0:242            Constant:
+0:242              2 (const int)
+0:242        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:242          vector swizzle ( temp highp 3-component vector of uint)
+0:242            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:242              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:242                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:242                Constant:
+0:242                  2 (const int)
+0:242              Constant:
+0:242                2 (const int)
+0:242            Sequence
+0:242              Constant:
+0:242                0 (const int)
+0:242              Constant:
+0:242                1 (const int)
+0:242              Constant:
+0:242                2 (const int)
+0:242          'ballot' ( temp highp 4-component vector of uint)
+0:243      move second child to first child ( temp highp 4-component vector of uint)
+0:243        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:243          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243            Constant:
+0:243              3 (const int)
+0:243          Constant:
+0:243            2 (const int)
+0:243        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:243          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:243            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243              Constant:
+0:243                3 (const int)
+0:243            Constant:
+0:243              2 (const int)
+0:243          'ballot' ( temp highp 4-component vector of uint)
+0:245      move second child to first child ( temp highp int)
+0:245        direct index ( temp highp int)
+0:245          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:245            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245              Constant:
+0:245                3 (const int)
+0:245            Constant:
+0:245              1 (const int)
+0:245          Constant:
+0:245            0 (const int)
+0:245        Convert bool to int ( temp highp int)
+0:245          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:245            Compare Less Than ( temp bool)
+0:245              direct index ( temp highp int)
+0:245                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:245                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245                    Constant:
+0:245                      0 (const int)
+0:245                  Constant:
+0:245                    1 (const int)
+0:245                Constant:
+0:245                  0 (const int)
+0:245              Constant:
+0:245                0 (const int)
+0:245            'ballot' ( temp highp 4-component vector of uint)
+0:246      move second child to first child ( temp highp 2-component vector of int)
+0:246        vector swizzle ( temp highp 2-component vector of int)
+0:246          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:246            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246              Constant:
+0:246                3 (const int)
+0:246            Constant:
+0:246              1 (const int)
+0:246          Sequence
+0:246            Constant:
+0:246              0 (const int)
+0:246            Constant:
+0:246              1 (const int)
+0:246        Convert bool to int ( temp highp 2-component vector of int)
+0:246          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:246            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:246              vector swizzle ( temp highp 2-component vector of int)
+0:246                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:246                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246                    Constant:
+0:246                      1 (const int)
+0:246                  Constant:
+0:246                    1 (const int)
+0:246                Sequence
+0:246                  Constant:
+0:246                    0 (const int)
+0:246                  Constant:
+0:246                    1 (const int)
+0:246              Constant:
+0:246                0 (const int)
+0:246                0 (const int)
+0:246            'ballot' ( temp highp 4-component vector of uint)
+0:247      move second child to first child ( temp highp 3-component vector of int)
+0:247        vector swizzle ( temp highp 3-component vector of int)
+0:247          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:247            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:247              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:247              Constant:
+0:247                3 (const int)
+0:247            Constant:
+0:247              1 (const int)
+0:247          Sequence
+0:247            Constant:
+0:247              0 (const int)
+0:247            Constant:
+0:247              1 (const int)
+0:247            Constant:
+0:247              2 (const int)
+0:247        Convert bool to int ( temp highp 3-component vector of int)
+0:247          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:247            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:247              vector swizzle ( temp highp 3-component vector of int)
+0:247                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:247                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:247                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:247                    Constant:
+0:247                      1 (const int)
+0:247                  Constant:
+0:247                    1 (const int)
+0:247                Sequence
+0:247                  Constant:
+0:247                    0 (const int)
+0:247                  Constant:
+0:247                    1 (const int)
+0:247                  Constant:
+0:247                    2 (const int)
+0:247              Constant:
+0:247                0 (const int)
+0:247                0 (const int)
+0:247                0 (const int)
+0:247            'ballot' ( temp highp 4-component vector of uint)
+0:248      move second child to first child ( temp highp 4-component vector of int)
+0:248        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:248          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248            Constant:
+0:248              3 (const int)
+0:248          Constant:
+0:248            1 (const int)
+0:248        Convert bool to int ( temp highp 4-component vector of int)
+0:248          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:248            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:248              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:248                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248                  Constant:
+0:248                    1 (const int)
+0:248                Constant:
+0:248                  1 (const int)
+0:248              Constant:
+0:248                0 (const int)
+0:248                0 (const int)
+0:248                0 (const int)
+0:248                0 (const int)
+0:248            'ballot' ( temp highp 4-component vector of uint)
+0:250      move second child to first child ( temp highp float)
+0:250        direct index ( temp highp float)
+0:250          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:250            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250              Constant:
+0:250                0 (const int)
+0:250            Constant:
+0:250              0 (const int)
+0:250          Constant:
+0:250            0 (const int)
+0:250        ERROR: Bad aggregation op
+ ( global highp float)
+0:250          direct index ( temp highp float)
+0:250            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:250              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250                Constant:
+0:250                  0 (const int)
+0:250              Constant:
+0:250                0 (const int)
+0:250            Constant:
+0:250              0 (const int)
+0:250          'ballot' ( temp highp 4-component vector of uint)
+0:251      move second child to first child ( temp highp 2-component vector of float)
+0:251        vector swizzle ( temp highp 2-component vector of float)
+0:251          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:251            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251              Constant:
+0:251                0 (const int)
+0:251            Constant:
+0:251              0 (const int)
+0:251          Sequence
+0:251            Constant:
+0:251              0 (const int)
+0:251            Constant:
+0:251              1 (const int)
+0:251        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:251          vector swizzle ( temp highp 2-component vector of float)
+0:251            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:251              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251                Constant:
+0:251                  1 (const int)
+0:251              Constant:
+0:251                0 (const int)
+0:251            Sequence
+0:251              Constant:
+0:251                0 (const int)
+0:251              Constant:
+0:251                1 (const int)
+0:251          'ballot' ( temp highp 4-component vector of uint)
+0:252      move second child to first child ( temp highp 3-component vector of float)
+0:252        vector swizzle ( temp highp 3-component vector of float)
+0:252          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:252            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:252              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:252              Constant:
+0:252                0 (const int)
+0:252            Constant:
+0:252              0 (const int)
+0:252          Sequence
+0:252            Constant:
+0:252              0 (const int)
+0:252            Constant:
+0:252              1 (const int)
+0:252            Constant:
+0:252              2 (const int)
+0:252        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:252          vector swizzle ( temp highp 3-component vector of float)
+0:252            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:252              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:252                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:252                Constant:
+0:252                  2 (const int)
+0:252              Constant:
+0:252                0 (const int)
+0:252            Sequence
+0:252              Constant:
+0:252                0 (const int)
+0:252              Constant:
+0:252                1 (const int)
+0:252              Constant:
+0:252                2 (const int)
+0:252          'ballot' ( temp highp 4-component vector of uint)
+0:253      move second child to first child ( temp highp 4-component vector of float)
+0:253        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:253          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253            Constant:
+0:253              0 (const int)
+0:253          Constant:
+0:253            0 (const int)
+0:253        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:253          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:253            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253              Constant:
+0:253                3 (const int)
+0:253            Constant:
+0:253              0 (const int)
+0:253          'ballot' ( temp highp 4-component vector of uint)
+0:255      move second child to first child ( temp highp int)
+0:255        direct index ( temp highp int)
+0:255          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:255            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255              Constant:
+0:255                0 (const int)
+0:255            Constant:
+0:255              1 (const int)
+0:255          Constant:
+0:255            0 (const int)
+0:255        ERROR: Bad aggregation op
+ ( global highp int)
+0:255          direct index ( temp highp int)
+0:255            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:255              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255                Constant:
+0:255                  0 (const int)
+0:255              Constant:
+0:255                1 (const int)
+0:255            Constant:
+0:255              0 (const int)
+0:255          'ballot' ( temp highp 4-component vector of uint)
+0:256      move second child to first child ( temp highp 2-component vector of int)
+0:256        vector swizzle ( temp highp 2-component vector of int)
+0:256          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:256            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256              Constant:
+0:256                0 (const int)
+0:256            Constant:
+0:256              1 (const int)
+0:256          Sequence
+0:256            Constant:
+0:256              0 (const int)
+0:256            Constant:
+0:256              1 (const int)
+0:256        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:256          vector swizzle ( temp highp 2-component vector of int)
+0:256            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:256              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256                Constant:
+0:256                  1 (const int)
+0:256              Constant:
+0:256                1 (const int)
+0:256            Sequence
+0:256              Constant:
+0:256                0 (const int)
+0:256              Constant:
+0:256                1 (const int)
+0:256          'ballot' ( temp highp 4-component vector of uint)
+0:257      move second child to first child ( temp highp 3-component vector of int)
+0:257        vector swizzle ( temp highp 3-component vector of int)
+0:257          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:257            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:257              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:257              Constant:
+0:257                0 (const int)
+0:257            Constant:
+0:257              1 (const int)
+0:257          Sequence
+0:257            Constant:
+0:257              0 (const int)
+0:257            Constant:
+0:257              1 (const int)
+0:257            Constant:
+0:257              2 (const int)
+0:257        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:257          vector swizzle ( temp highp 3-component vector of int)
+0:257            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:257              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:257                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:257                Constant:
+0:257                  2 (const int)
+0:257              Constant:
+0:257                1 (const int)
+0:257            Sequence
+0:257              Constant:
+0:257                0 (const int)
+0:257              Constant:
+0:257                1 (const int)
+0:257              Constant:
+0:257                2 (const int)
+0:257          'ballot' ( temp highp 4-component vector of uint)
+0:258      move second child to first child ( temp highp 4-component vector of int)
+0:258        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:258          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258            Constant:
+0:258              0 (const int)
+0:258          Constant:
+0:258            1 (const int)
+0:258        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:258          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:258            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258              Constant:
+0:258                3 (const int)
+0:258            Constant:
+0:258              1 (const int)
+0:258          'ballot' ( temp highp 4-component vector of uint)
+0:260      move second child to first child ( temp highp uint)
+0:260        direct index ( temp highp uint)
+0:260          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:260            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260              Constant:
+0:260                0 (const int)
+0:260            Constant:
+0:260              2 (const int)
+0:260          Constant:
+0:260            0 (const int)
+0:260        ERROR: Bad aggregation op
+ ( global highp uint)
+0:260          direct index ( temp highp uint)
+0:260            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:260              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260                Constant:
+0:260                  0 (const int)
+0:260              Constant:
+0:260                2 (const int)
+0:260            Constant:
+0:260              0 (const int)
+0:260          'ballot' ( temp highp 4-component vector of uint)
+0:261      move second child to first child ( temp highp 2-component vector of uint)
+0:261        vector swizzle ( temp highp 2-component vector of uint)
+0:261          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:261            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261              Constant:
+0:261                0 (const int)
+0:261            Constant:
+0:261              2 (const int)
+0:261          Sequence
+0:261            Constant:
+0:261              0 (const int)
+0:261            Constant:
+0:261              1 (const int)
+0:261        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:261          vector swizzle ( temp highp 2-component vector of uint)
+0:261            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:261              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261                Constant:
+0:261                  1 (const int)
+0:261              Constant:
+0:261                2 (const int)
+0:261            Sequence
+0:261              Constant:
+0:261                0 (const int)
+0:261              Constant:
+0:261                1 (const int)
+0:261          'ballot' ( temp highp 4-component vector of uint)
+0:262      move second child to first child ( temp highp 3-component vector of uint)
+0:262        vector swizzle ( temp highp 3-component vector of uint)
+0:262          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:262            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:262              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:262              Constant:
+0:262                0 (const int)
+0:262            Constant:
+0:262              2 (const int)
+0:262          Sequence
+0:262            Constant:
+0:262              0 (const int)
+0:262            Constant:
+0:262              1 (const int)
+0:262            Constant:
+0:262              2 (const int)
+0:262        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:262          vector swizzle ( temp highp 3-component vector of uint)
+0:262            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:262              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:262                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:262                Constant:
+0:262                  2 (const int)
+0:262              Constant:
+0:262                2 (const int)
+0:262            Sequence
+0:262              Constant:
+0:262                0 (const int)
+0:262              Constant:
+0:262                1 (const int)
+0:262              Constant:
+0:262                2 (const int)
+0:262          'ballot' ( temp highp 4-component vector of uint)
+0:263      move second child to first child ( temp highp 4-component vector of uint)
+0:263        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:263          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263            Constant:
+0:263              0 (const int)
+0:263          Constant:
+0:263            2 (const int)
+0:263        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:263          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:263            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263              Constant:
+0:263                3 (const int)
+0:263            Constant:
+0:263              2 (const int)
+0:263          'ballot' ( temp highp 4-component vector of uint)
+0:265      move second child to first child ( temp highp float)
+0:265        direct index ( temp highp float)
+0:265          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:265            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265              Constant:
+0:265                0 (const int)
+0:265            Constant:
+0:265              0 (const int)
+0:265          Constant:
+0:265            0 (const int)
+0:265        ERROR: Bad aggregation op
+ ( global highp float)
+0:265          direct index ( temp highp float)
+0:265            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:265              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265                Constant:
+0:265                  0 (const int)
+0:265              Constant:
+0:265                0 (const int)
+0:265            Constant:
+0:265              0 (const int)
+0:265          'ballot' ( temp highp 4-component vector of uint)
+0:266      move second child to first child ( temp highp 2-component vector of float)
+0:266        vector swizzle ( temp highp 2-component vector of float)
+0:266          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:266            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266              Constant:
+0:266                0 (const int)
+0:266            Constant:
+0:266              0 (const int)
+0:266          Sequence
+0:266            Constant:
+0:266              0 (const int)
+0:266            Constant:
+0:266              1 (const int)
+0:266        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:266          vector swizzle ( temp highp 2-component vector of float)
+0:266            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:266              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266                Constant:
+0:266                  1 (const int)
+0:266              Constant:
+0:266                0 (const int)
+0:266            Sequence
+0:266              Constant:
+0:266                0 (const int)
+0:266              Constant:
+0:266                1 (const int)
+0:266          'ballot' ( temp highp 4-component vector of uint)
+0:267      move second child to first child ( temp highp 3-component vector of float)
+0:267        vector swizzle ( temp highp 3-component vector of float)
+0:267          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:267            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:267              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:267              Constant:
+0:267                0 (const int)
+0:267            Constant:
+0:267              0 (const int)
+0:267          Sequence
+0:267            Constant:
+0:267              0 (const int)
+0:267            Constant:
+0:267              1 (const int)
+0:267            Constant:
+0:267              2 (const int)
+0:267        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:267          vector swizzle ( temp highp 3-component vector of float)
+0:267            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:267              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:267                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:267                Constant:
+0:267                  2 (const int)
+0:267              Constant:
+0:267                0 (const int)
+0:267            Sequence
+0:267              Constant:
+0:267                0 (const int)
+0:267              Constant:
+0:267                1 (const int)
+0:267              Constant:
+0:267                2 (const int)
+0:267          'ballot' ( temp highp 4-component vector of uint)
+0:268      move second child to first child ( temp highp 4-component vector of float)
+0:268        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:268          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268            Constant:
+0:268              0 (const int)
+0:268          Constant:
+0:268            0 (const int)
+0:268        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:268          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:268            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268              Constant:
+0:268                3 (const int)
+0:268            Constant:
+0:268              0 (const int)
+0:268          'ballot' ( temp highp 4-component vector of uint)
+0:270      move second child to first child ( temp highp int)
+0:270        direct index ( temp highp int)
+0:270          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:270            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270              Constant:
+0:270                1 (const int)
+0:270            Constant:
+0:270              1 (const int)
+0:270          Constant:
+0:270            0 (const int)
+0:270        ERROR: Bad aggregation op
+ ( global highp int)
+0:270          direct index ( temp highp int)
+0:270            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:270              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270                Constant:
+0:270                  0 (const int)
+0:270              Constant:
+0:270                1 (const int)
+0:270            Constant:
+0:270              0 (const int)
+0:270          'ballot' ( temp highp 4-component vector of uint)
+0:271      move second child to first child ( temp highp 2-component vector of int)
+0:271        vector swizzle ( temp highp 2-component vector of int)
+0:271          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:271            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271              Constant:
+0:271                1 (const int)
+0:271            Constant:
+0:271              1 (const int)
+0:271          Sequence
+0:271            Constant:
+0:271              0 (const int)
+0:271            Constant:
+0:271              1 (const int)
+0:271        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:271          vector swizzle ( temp highp 2-component vector of int)
+0:271            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:271              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271                Constant:
+0:271                  1 (const int)
+0:271              Constant:
+0:271                1 (const int)
+0:271            Sequence
+0:271              Constant:
+0:271                0 (const int)
+0:271              Constant:
+0:271                1 (const int)
+0:271          'ballot' ( temp highp 4-component vector of uint)
+0:272      move second child to first child ( temp highp 3-component vector of int)
+0:272        vector swizzle ( temp highp 3-component vector of int)
+0:272          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:272            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:272              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:272              Constant:
+0:272                1 (const int)
+0:272            Constant:
+0:272              1 (const int)
+0:272          Sequence
+0:272            Constant:
+0:272              0 (const int)
+0:272            Constant:
+0:272              1 (const int)
+0:272            Constant:
+0:272              2 (const int)
+0:272        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:272          vector swizzle ( temp highp 3-component vector of int)
+0:272            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:272              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:272                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:272                Constant:
+0:272                  2 (const int)
+0:272              Constant:
+0:272                1 (const int)
+0:272            Sequence
+0:272              Constant:
+0:272                0 (const int)
+0:272              Constant:
+0:272                1 (const int)
+0:272              Constant:
+0:272                2 (const int)
+0:272          'ballot' ( temp highp 4-component vector of uint)
+0:273      move second child to first child ( temp highp 4-component vector of int)
+0:273        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:273          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273            Constant:
+0:273              1 (const int)
+0:273          Constant:
+0:273            1 (const int)
+0:273        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:273          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:273            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273              Constant:
+0:273                3 (const int)
+0:273            Constant:
+0:273              1 (const int)
+0:273          'ballot' ( temp highp 4-component vector of uint)
+0:275      move second child to first child ( temp highp uint)
+0:275        direct index ( temp highp uint)
+0:275          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:275            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275              Constant:
+0:275                1 (const int)
+0:275            Constant:
+0:275              2 (const int)
+0:275          Constant:
+0:275            0 (const int)
+0:275        ERROR: Bad aggregation op
+ ( global highp uint)
+0:275          direct index ( temp highp uint)
+0:275            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:275              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275                Constant:
+0:275                  0 (const int)
+0:275              Constant:
+0:275                2 (const int)
+0:275            Constant:
+0:275              0 (const int)
+0:275          'ballot' ( temp highp 4-component vector of uint)
+0:276      move second child to first child ( temp highp 2-component vector of uint)
+0:276        vector swizzle ( temp highp 2-component vector of uint)
+0:276          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:276            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276              Constant:
+0:276                1 (const int)
+0:276            Constant:
+0:276              2 (const int)
+0:276          Sequence
+0:276            Constant:
+0:276              0 (const int)
+0:276            Constant:
+0:276              1 (const int)
+0:276        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:276          vector swizzle ( temp highp 2-component vector of uint)
+0:276            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:276              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276                Constant:
+0:276                  1 (const int)
+0:276              Constant:
+0:276                2 (const int)
+0:276            Sequence
+0:276              Constant:
+0:276                0 (const int)
+0:276              Constant:
+0:276                1 (const int)
+0:276          'ballot' ( temp highp 4-component vector of uint)
+0:277      move second child to first child ( temp highp 3-component vector of uint)
+0:277        vector swizzle ( temp highp 3-component vector of uint)
+0:277          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:277            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:277              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:277              Constant:
+0:277                1 (const int)
+0:277            Constant:
+0:277              2 (const int)
+0:277          Sequence
+0:277            Constant:
+0:277              0 (const int)
+0:277            Constant:
+0:277              1 (const int)
+0:277            Constant:
+0:277              2 (const int)
+0:277        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:277          vector swizzle ( temp highp 3-component vector of uint)
+0:277            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:277              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:277                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:277                Constant:
+0:277                  2 (const int)
+0:277              Constant:
+0:277                2 (const int)
+0:277            Sequence
+0:277              Constant:
+0:277                0 (const int)
+0:277              Constant:
+0:277                1 (const int)
+0:277              Constant:
+0:277                2 (const int)
+0:277          'ballot' ( temp highp 4-component vector of uint)
+0:278      move second child to first child ( temp highp 4-component vector of uint)
+0:278        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:278          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278            Constant:
+0:278              1 (const int)
+0:278          Constant:
+0:278            2 (const int)
+0:278        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:278          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:278            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278              Constant:
+0:278                3 (const int)
+0:278            Constant:
+0:278              2 (const int)
+0:278          'ballot' ( temp highp 4-component vector of uint)
+0:280      move second child to first child ( temp highp float)
+0:280        direct index ( temp highp float)
+0:280          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:280            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280              Constant:
+0:280                1 (const int)
+0:280            Constant:
+0:280              0 (const int)
+0:280          Constant:
+0:280            0 (const int)
+0:280        ERROR: Bad aggregation op
+ ( global highp float)
+0:280          direct index ( temp highp float)
+0:280            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:280              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280                Constant:
+0:280                  0 (const int)
+0:280              Constant:
+0:280                0 (const int)
+0:280            Constant:
+0:280              0 (const int)
+0:280          'ballot' ( temp highp 4-component vector of uint)
+0:281      move second child to first child ( temp highp 2-component vector of float)
+0:281        vector swizzle ( temp highp 2-component vector of float)
+0:281          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:281            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281              Constant:
+0:281                1 (const int)
+0:281            Constant:
+0:281              0 (const int)
+0:281          Sequence
+0:281            Constant:
+0:281              0 (const int)
+0:281            Constant:
+0:281              1 (const int)
+0:281        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:281          vector swizzle ( temp highp 2-component vector of float)
+0:281            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:281              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281                Constant:
+0:281                  1 (const int)
+0:281              Constant:
+0:281                0 (const int)
+0:281            Sequence
+0:281              Constant:
+0:281                0 (const int)
+0:281              Constant:
+0:281                1 (const int)
+0:281          'ballot' ( temp highp 4-component vector of uint)
+0:282      move second child to first child ( temp highp 3-component vector of float)
+0:282        vector swizzle ( temp highp 3-component vector of float)
+0:282          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:282            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:282              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:282              Constant:
+0:282                1 (const int)
+0:282            Constant:
+0:282              0 (const int)
+0:282          Sequence
+0:282            Constant:
+0:282              0 (const int)
+0:282            Constant:
+0:282              1 (const int)
+0:282            Constant:
+0:282              2 (const int)
+0:282        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:282          vector swizzle ( temp highp 3-component vector of float)
+0:282            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:282              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:282                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:282                Constant:
+0:282                  2 (const int)
+0:282              Constant:
+0:282                0 (const int)
+0:282            Sequence
+0:282              Constant:
+0:282                0 (const int)
+0:282              Constant:
+0:282                1 (const int)
+0:282              Constant:
+0:282                2 (const int)
+0:282          'ballot' ( temp highp 4-component vector of uint)
+0:283      move second child to first child ( temp highp 4-component vector of float)
+0:283        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:283          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283            Constant:
+0:283              1 (const int)
+0:283          Constant:
+0:283            0 (const int)
+0:283        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:283          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:283            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283              Constant:
+0:283                3 (const int)
+0:283            Constant:
+0:283              0 (const int)
+0:283          'ballot' ( temp highp 4-component vector of uint)
+0:285      move second child to first child ( temp highp int)
+0:285        direct index ( temp highp int)
+0:285          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:285            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285              Constant:
+0:285                1 (const int)
+0:285            Constant:
+0:285              1 (const int)
+0:285          Constant:
+0:285            0 (const int)
+0:285        ERROR: Bad aggregation op
+ ( global highp int)
+0:285          direct index ( temp highp int)
+0:285            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:285              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285                Constant:
+0:285                  0 (const int)
+0:285              Constant:
+0:285                1 (const int)
+0:285            Constant:
+0:285              0 (const int)
+0:285          'ballot' ( temp highp 4-component vector of uint)
+0:286      move second child to first child ( temp highp 2-component vector of int)
+0:286        vector swizzle ( temp highp 2-component vector of int)
+0:286          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:286            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286              Constant:
+0:286                1 (const int)
+0:286            Constant:
+0:286              1 (const int)
+0:286          Sequence
+0:286            Constant:
+0:286              0 (const int)
+0:286            Constant:
+0:286              1 (const int)
+0:286        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:286          vector swizzle ( temp highp 2-component vector of int)
+0:286            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:286              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286                Constant:
+0:286                  1 (const int)
+0:286              Constant:
+0:286                1 (const int)
+0:286            Sequence
+0:286              Constant:
+0:286                0 (const int)
+0:286              Constant:
+0:286                1 (const int)
+0:286          'ballot' ( temp highp 4-component vector of uint)
+0:287      move second child to first child ( temp highp 3-component vector of int)
+0:287        vector swizzle ( temp highp 3-component vector of int)
+0:287          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:287            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:287              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:287              Constant:
+0:287                1 (const int)
+0:287            Constant:
+0:287              1 (const int)
+0:287          Sequence
+0:287            Constant:
+0:287              0 (const int)
+0:287            Constant:
+0:287              1 (const int)
+0:287            Constant:
+0:287              2 (const int)
+0:287        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:287          vector swizzle ( temp highp 3-component vector of int)
+0:287            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:287              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:287                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:287                Constant:
+0:287                  2 (const int)
+0:287              Constant:
+0:287                1 (const int)
+0:287            Sequence
+0:287              Constant:
+0:287                0 (const int)
+0:287              Constant:
+0:287                1 (const int)
+0:287              Constant:
+0:287                2 (const int)
+0:287          'ballot' ( temp highp 4-component vector of uint)
+0:288      move second child to first child ( temp highp 4-component vector of int)
+0:288        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:288          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288            Constant:
+0:288              1 (const int)
+0:288          Constant:
+0:288            1 (const int)
+0:288        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:288          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:288            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288              Constant:
+0:288                3 (const int)
+0:288            Constant:
+0:288              1 (const int)
+0:288          'ballot' ( temp highp 4-component vector of uint)
+0:290      move second child to first child ( temp highp uint)
+0:290        direct index ( temp highp uint)
+0:290          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:290            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290              Constant:
+0:290                2 (const int)
+0:290            Constant:
+0:290              2 (const int)
+0:290          Constant:
+0:290            0 (const int)
+0:290        ERROR: Bad aggregation op
+ ( global highp uint)
+0:290          direct index ( temp highp uint)
+0:290            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:290              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290                Constant:
+0:290                  0 (const int)
+0:290              Constant:
+0:290                2 (const int)
+0:290            Constant:
+0:290              0 (const int)
+0:290          'ballot' ( temp highp 4-component vector of uint)
+0:291      move second child to first child ( temp highp 2-component vector of uint)
+0:291        vector swizzle ( temp highp 2-component vector of uint)
+0:291          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:291            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291              Constant:
+0:291                2 (const int)
+0:291            Constant:
+0:291              2 (const int)
+0:291          Sequence
+0:291            Constant:
+0:291              0 (const int)
+0:291            Constant:
+0:291              1 (const int)
+0:291        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:291          vector swizzle ( temp highp 2-component vector of uint)
+0:291            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:291              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291                Constant:
+0:291                  1 (const int)
+0:291              Constant:
+0:291                2 (const int)
+0:291            Sequence
+0:291              Constant:
+0:291                0 (const int)
+0:291              Constant:
+0:291                1 (const int)
+0:291          'ballot' ( temp highp 4-component vector of uint)
+0:292      move second child to first child ( temp highp 3-component vector of uint)
+0:292        vector swizzle ( temp highp 3-component vector of uint)
+0:292          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:292            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:292              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:292              Constant:
+0:292                2 (const int)
+0:292            Constant:
+0:292              2 (const int)
+0:292          Sequence
+0:292            Constant:
+0:292              0 (const int)
+0:292            Constant:
+0:292              1 (const int)
+0:292            Constant:
+0:292              2 (const int)
+0:292        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:292          vector swizzle ( temp highp 3-component vector of uint)
+0:292            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:292              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:292                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:292                Constant:
+0:292                  2 (const int)
+0:292              Constant:
+0:292                2 (const int)
+0:292            Sequence
+0:292              Constant:
+0:292                0 (const int)
+0:292              Constant:
+0:292                1 (const int)
+0:292              Constant:
+0:292                2 (const int)
+0:292          'ballot' ( temp highp 4-component vector of uint)
+0:293      move second child to first child ( temp highp 4-component vector of uint)
+0:293        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:293          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293            Constant:
+0:293              2 (const int)
+0:293          Constant:
+0:293            2 (const int)
+0:293        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:293          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:293            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293              Constant:
+0:293                3 (const int)
+0:293            Constant:
+0:293              2 (const int)
+0:293          'ballot' ( temp highp 4-component vector of uint)
+0:295      move second child to first child ( temp highp float)
+0:295        direct index ( temp highp float)
+0:295          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:295            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295              Constant:
+0:295                2 (const int)
+0:295            Constant:
+0:295              0 (const int)
+0:295          Constant:
+0:295            0 (const int)
+0:295        ERROR: Bad aggregation op
+ ( global highp float)
+0:295          direct index ( temp highp float)
+0:295            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:295              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295                Constant:
+0:295                  0 (const int)
+0:295              Constant:
+0:295                0 (const int)
+0:295            Constant:
+0:295              0 (const int)
+0:295          'ballot' ( temp highp 4-component vector of uint)
+0:296      move second child to first child ( temp highp 2-component vector of float)
+0:296        vector swizzle ( temp highp 2-component vector of float)
+0:296          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:296            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296              Constant:
+0:296                2 (const int)
+0:296            Constant:
+0:296              0 (const int)
+0:296          Sequence
+0:296            Constant:
+0:296              0 (const int)
+0:296            Constant:
+0:296              1 (const int)
+0:296        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:296          vector swizzle ( temp highp 2-component vector of float)
+0:296            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:296              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296                Constant:
+0:296                  1 (const int)
+0:296              Constant:
+0:296                0 (const int)
+0:296            Sequence
+0:296              Constant:
+0:296                0 (const int)
+0:296              Constant:
+0:296                1 (const int)
+0:296          'ballot' ( temp highp 4-component vector of uint)
+0:297      move second child to first child ( temp highp 3-component vector of float)
+0:297        vector swizzle ( temp highp 3-component vector of float)
+0:297          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:297            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:297              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:297              Constant:
+0:297                2 (const int)
+0:297            Constant:
+0:297              0 (const int)
+0:297          Sequence
+0:297            Constant:
+0:297              0 (const int)
+0:297            Constant:
+0:297              1 (const int)
+0:297            Constant:
+0:297              2 (const int)
+0:297        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:297          vector swizzle ( temp highp 3-component vector of float)
+0:297            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:297              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:297                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:297                Constant:
+0:297                  2 (const int)
+0:297              Constant:
+0:297                0 (const int)
+0:297            Sequence
+0:297              Constant:
+0:297                0 (const int)
+0:297              Constant:
+0:297                1 (const int)
+0:297              Constant:
+0:297                2 (const int)
+0:297          'ballot' ( temp highp 4-component vector of uint)
+0:298      move second child to first child ( temp highp 4-component vector of float)
+0:298        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:298          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298            Constant:
+0:298              2 (const int)
+0:298          Constant:
+0:298            0 (const int)
+0:298        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:298          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:298            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298              Constant:
+0:298                3 (const int)
+0:298            Constant:
+0:298              0 (const int)
+0:298          'ballot' ( temp highp 4-component vector of uint)
+0:300      move second child to first child ( temp highp int)
+0:300        direct index ( temp highp int)
+0:300          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:300            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300              Constant:
+0:300                2 (const int)
+0:300            Constant:
+0:300              1 (const int)
+0:300          Constant:
+0:300            0 (const int)
+0:300        ERROR: Bad aggregation op
+ ( global highp int)
+0:300          direct index ( temp highp int)
+0:300            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:300              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300                Constant:
+0:300                  0 (const int)
+0:300              Constant:
+0:300                1 (const int)
+0:300            Constant:
+0:300              0 (const int)
+0:300          'ballot' ( temp highp 4-component vector of uint)
+0:301      move second child to first child ( temp highp 2-component vector of int)
+0:301        vector swizzle ( temp highp 2-component vector of int)
+0:301          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:301            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301              Constant:
+0:301                2 (const int)
+0:301            Constant:
+0:301              1 (const int)
+0:301          Sequence
+0:301            Constant:
+0:301              0 (const int)
+0:301            Constant:
+0:301              1 (const int)
+0:301        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:301          vector swizzle ( temp highp 2-component vector of int)
+0:301            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:301              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301                Constant:
+0:301                  1 (const int)
+0:301              Constant:
+0:301                1 (const int)
+0:301            Sequence
+0:301              Constant:
+0:301                0 (const int)
+0:301              Constant:
+0:301                1 (const int)
+0:301          'ballot' ( temp highp 4-component vector of uint)
+0:302      move second child to first child ( temp highp 3-component vector of int)
+0:302        vector swizzle ( temp highp 3-component vector of int)
+0:302          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:302            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:302              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:302              Constant:
+0:302                2 (const int)
+0:302            Constant:
+0:302              1 (const int)
+0:302          Sequence
+0:302            Constant:
+0:302              0 (const int)
+0:302            Constant:
+0:302              1 (const int)
+0:302            Constant:
+0:302              2 (const int)
+0:302        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:302          vector swizzle ( temp highp 3-component vector of int)
+0:302            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:302              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:302                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:302                Constant:
+0:302                  2 (const int)
+0:302              Constant:
+0:302                1 (const int)
+0:302            Sequence
+0:302              Constant:
+0:302                0 (const int)
+0:302              Constant:
+0:302                1 (const int)
+0:302              Constant:
+0:302                2 (const int)
+0:302          'ballot' ( temp highp 4-component vector of uint)
+0:303      move second child to first child ( temp highp 4-component vector of int)
+0:303        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:303          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303            Constant:
+0:303              2 (const int)
+0:303          Constant:
+0:303            1 (const int)
+0:303        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:303          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:303            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303              Constant:
+0:303                3 (const int)
+0:303            Constant:
+0:303              1 (const int)
+0:303          'ballot' ( temp highp 4-component vector of uint)
+0:305      move second child to first child ( temp highp uint)
+0:305        direct index ( temp highp uint)
+0:305          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:305            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305              Constant:
+0:305                2 (const int)
+0:305            Constant:
+0:305              2 (const int)
+0:305          Constant:
+0:305            0 (const int)
+0:305        ERROR: Bad aggregation op
+ ( global highp uint)
+0:305          direct index ( temp highp uint)
+0:305            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:305              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305                Constant:
+0:305                  0 (const int)
+0:305              Constant:
+0:305                2 (const int)
+0:305            Constant:
+0:305              0 (const int)
+0:305          'ballot' ( temp highp 4-component vector of uint)
+0:306      move second child to first child ( temp highp 2-component vector of uint)
+0:306        vector swizzle ( temp highp 2-component vector of uint)
+0:306          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:306            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306              Constant:
+0:306                2 (const int)
+0:306            Constant:
+0:306              2 (const int)
+0:306          Sequence
+0:306            Constant:
+0:306              0 (const int)
+0:306            Constant:
+0:306              1 (const int)
+0:306        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:306          vector swizzle ( temp highp 2-component vector of uint)
+0:306            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:306              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306                Constant:
+0:306                  1 (const int)
+0:306              Constant:
+0:306                2 (const int)
+0:306            Sequence
+0:306              Constant:
+0:306                0 (const int)
+0:306              Constant:
+0:306                1 (const int)
+0:306          'ballot' ( temp highp 4-component vector of uint)
+0:307      move second child to first child ( temp highp 3-component vector of uint)
+0:307        vector swizzle ( temp highp 3-component vector of uint)
+0:307          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:307            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:307              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:307              Constant:
+0:307                2 (const int)
+0:307            Constant:
+0:307              2 (const int)
+0:307          Sequence
+0:307            Constant:
+0:307              0 (const int)
+0:307            Constant:
+0:307              1 (const int)
+0:307            Constant:
+0:307              2 (const int)
+0:307        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:307          vector swizzle ( temp highp 3-component vector of uint)
+0:307            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:307              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:307                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:307                Constant:
+0:307                  2 (const int)
+0:307              Constant:
+0:307                2 (const int)
+0:307            Sequence
+0:307              Constant:
+0:307                0 (const int)
+0:307              Constant:
+0:307                1 (const int)
+0:307              Constant:
+0:307                2 (const int)
+0:307          'ballot' ( temp highp 4-component vector of uint)
+0:308      move second child to first child ( temp highp 4-component vector of uint)
+0:308        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:308          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308            Constant:
+0:308              2 (const int)
+0:308          Constant:
+0:308            2 (const int)
+0:308        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:308          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:308            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308              Constant:
+0:308                3 (const int)
+0:308            Constant:
+0:308              2 (const int)
+0:308          'ballot' ( temp highp 4-component vector of uint)
+0:310      move second child to first child ( temp highp int)
+0:310        direct index ( temp highp int)
+0:310          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:310            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310              Constant:
+0:310                2 (const int)
+0:310            Constant:
+0:310              1 (const int)
+0:310          Constant:
+0:310            0 (const int)
+0:310        ERROR: Bad aggregation op
+ ( global highp int)
+0:310          direct index ( temp highp int)
+0:310            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:310              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310                Constant:
+0:310                  0 (const int)
+0:310              Constant:
+0:310                1 (const int)
+0:310            Constant:
+0:310              0 (const int)
+0:310          'ballot' ( temp highp 4-component vector of uint)
+0:311      move second child to first child ( temp highp 2-component vector of int)
+0:311        vector swizzle ( temp highp 2-component vector of int)
+0:311          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:311            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311              Constant:
+0:311                2 (const int)
+0:311            Constant:
+0:311              1 (const int)
+0:311          Sequence
+0:311            Constant:
+0:311              0 (const int)
+0:311            Constant:
+0:311              1 (const int)
+0:311        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:311          vector swizzle ( temp highp 2-component vector of int)
+0:311            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:311              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311                Constant:
+0:311                  1 (const int)
+0:311              Constant:
+0:311                1 (const int)
+0:311            Sequence
+0:311              Constant:
+0:311                0 (const int)
+0:311              Constant:
+0:311                1 (const int)
+0:311          'ballot' ( temp highp 4-component vector of uint)
+0:312      move second child to first child ( temp highp 3-component vector of int)
+0:312        vector swizzle ( temp highp 3-component vector of int)
+0:312          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:312            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:312              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:312              Constant:
+0:312                2 (const int)
+0:312            Constant:
+0:312              1 (const int)
+0:312          Sequence
+0:312            Constant:
+0:312              0 (const int)
+0:312            Constant:
+0:312              1 (const int)
+0:312            Constant:
+0:312              2 (const int)
+0:312        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:312          vector swizzle ( temp highp 3-component vector of int)
+0:312            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:312              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:312                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:312                Constant:
+0:312                  2 (const int)
+0:312              Constant:
+0:312                1 (const int)
+0:312            Sequence
+0:312              Constant:
+0:312                0 (const int)
+0:312              Constant:
+0:312                1 (const int)
+0:312              Constant:
+0:312                2 (const int)
+0:312          'ballot' ( temp highp 4-component vector of uint)
+0:313      move second child to first child ( temp highp 4-component vector of int)
+0:313        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:313          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313            Constant:
+0:313              2 (const int)
+0:313          Constant:
+0:313            1 (const int)
+0:313        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:313          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:313            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313              Constant:
+0:313                3 (const int)
+0:313            Constant:
+0:313              1 (const int)
+0:313          'ballot' ( temp highp 4-component vector of uint)
+0:315      move second child to first child ( temp highp uint)
+0:315        direct index ( temp highp uint)
+0:315          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:315            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315              Constant:
+0:315                2 (const int)
+0:315            Constant:
+0:315              2 (const int)
+0:315          Constant:
+0:315            0 (const int)
+0:315        ERROR: Bad aggregation op
+ ( global highp uint)
+0:315          direct index ( temp highp uint)
+0:315            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:315              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315                Constant:
+0:315                  0 (const int)
+0:315              Constant:
+0:315                2 (const int)
+0:315            Constant:
+0:315              0 (const int)
+0:315          'ballot' ( temp highp 4-component vector of uint)
+0:316      move second child to first child ( temp highp 2-component vector of uint)
+0:316        vector swizzle ( temp highp 2-component vector of uint)
+0:316          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:316            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316              Constant:
+0:316                2 (const int)
+0:316            Constant:
+0:316              2 (const int)
+0:316          Sequence
+0:316            Constant:
+0:316              0 (const int)
+0:316            Constant:
+0:316              1 (const int)
+0:316        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:316          vector swizzle ( temp highp 2-component vector of uint)
+0:316            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:316              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316                Constant:
+0:316                  1 (const int)
+0:316              Constant:
+0:316                2 (const int)
+0:316            Sequence
+0:316              Constant:
+0:316                0 (const int)
+0:316              Constant:
+0:316                1 (const int)
+0:316          'ballot' ( temp highp 4-component vector of uint)
+0:317      move second child to first child ( temp highp 3-component vector of uint)
+0:317        vector swizzle ( temp highp 3-component vector of uint)
+0:317          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:317            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:317              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:317              Constant:
+0:317                2 (const int)
+0:317            Constant:
+0:317              2 (const int)
+0:317          Sequence
+0:317            Constant:
+0:317              0 (const int)
+0:317            Constant:
+0:317              1 (const int)
+0:317            Constant:
+0:317              2 (const int)
+0:317        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:317          vector swizzle ( temp highp 3-component vector of uint)
+0:317            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:317              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:317                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:317                Constant:
+0:317                  2 (const int)
+0:317              Constant:
+0:317                2 (const int)
+0:317            Sequence
+0:317              Constant:
+0:317                0 (const int)
+0:317              Constant:
+0:317                1 (const int)
+0:317              Constant:
+0:317                2 (const int)
+0:317          'ballot' ( temp highp 4-component vector of uint)
+0:318      move second child to first child ( temp highp 4-component vector of uint)
+0:318        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:318          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318            Constant:
+0:318              2 (const int)
+0:318          Constant:
+0:318            2 (const int)
+0:318        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:318          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:318            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318              Constant:
+0:318                3 (const int)
+0:318            Constant:
+0:318              2 (const int)
+0:318          'ballot' ( temp highp 4-component vector of uint)
+0:320      move second child to first child ( temp highp int)
+0:320        direct index ( temp highp int)
+0:320          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:320            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320              Constant:
+0:320                3 (const int)
+0:320            Constant:
+0:320              1 (const int)
+0:320          Constant:
+0:320            0 (const int)
+0:320        Convert bool to int ( temp highp int)
+0:320          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:320            Compare Less Than ( temp bool)
+0:320              direct index ( temp highp int)
+0:320                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:320                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320                    Constant:
+0:320                      0 (const int)
+0:320                  Constant:
+0:320                    1 (const int)
+0:320                Constant:
+0:320                  0 (const int)
+0:320              Constant:
+0:320                0 (const int)
+0:320            'ballot' ( temp highp 4-component vector of uint)
+0:321      move second child to first child ( temp highp 2-component vector of int)
+0:321        vector swizzle ( temp highp 2-component vector of int)
+0:321          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:321            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321              Constant:
+0:321                3 (const int)
+0:321            Constant:
+0:321              1 (const int)
+0:321          Sequence
+0:321            Constant:
+0:321              0 (const int)
+0:321            Constant:
+0:321              1 (const int)
+0:321        Convert bool to int ( temp highp 2-component vector of int)
+0:321          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:321            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:321              vector swizzle ( temp highp 2-component vector of int)
+0:321                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:321                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321                    Constant:
+0:321                      1 (const int)
+0:321                  Constant:
+0:321                    1 (const int)
+0:321                Sequence
+0:321                  Constant:
+0:321                    0 (const int)
+0:321                  Constant:
+0:321                    1 (const int)
+0:321              Constant:
+0:321                0 (const int)
+0:321                0 (const int)
+0:321            'ballot' ( temp highp 4-component vector of uint)
+0:322      move second child to first child ( temp highp 3-component vector of int)
+0:322        vector swizzle ( temp highp 3-component vector of int)
+0:322          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:322            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:322              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:322              Constant:
+0:322                3 (const int)
+0:322            Constant:
+0:322              1 (const int)
+0:322          Sequence
+0:322            Constant:
+0:322              0 (const int)
+0:322            Constant:
+0:322              1 (const int)
+0:322            Constant:
+0:322              2 (const int)
+0:322        Convert bool to int ( temp highp 3-component vector of int)
+0:322          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:322            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:322              vector swizzle ( temp highp 3-component vector of int)
+0:322                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:322                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:322                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:322                    Constant:
+0:322                      1 (const int)
+0:322                  Constant:
+0:322                    1 (const int)
+0:322                Sequence
+0:322                  Constant:
+0:322                    0 (const int)
+0:322                  Constant:
+0:322                    1 (const int)
+0:322                  Constant:
+0:322                    2 (const int)
+0:322              Constant:
+0:322                0 (const int)
+0:322                0 (const int)
+0:322                0 (const int)
+0:322            'ballot' ( temp highp 4-component vector of uint)
+0:323      move second child to first child ( temp highp 4-component vector of int)
+0:323        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:323          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323            Constant:
+0:323              3 (const int)
+0:323          Constant:
+0:323            1 (const int)
+0:323        Convert bool to int ( temp highp 4-component vector of int)
+0:323          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:323            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:323              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:323                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323                  Constant:
+0:323                    1 (const int)
+0:323                Constant:
+0:323                  1 (const int)
+0:323              Constant:
+0:323                0 (const int)
+0:323                0 (const int)
+0:323                0 (const int)
+0:323                0 (const int)
+0:323            'ballot' ( temp highp 4-component vector of uint)
+0:325      move second child to first child ( temp highp int)
+0:325        direct index ( temp highp int)
+0:325          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:325            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325              Constant:
+0:325                3 (const int)
+0:325            Constant:
+0:325              1 (const int)
+0:325          Constant:
+0:325            0 (const int)
+0:325        ERROR: Bad aggregation op
+ ( global highp int)
+0:325          direct index ( temp highp int)
+0:325            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:325              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325                Constant:
+0:325                  0 (const int)
+0:325              Constant:
+0:325                1 (const int)
+0:325            Constant:
+0:325              0 (const int)
+0:325          'ballot' ( temp highp 4-component vector of uint)
+0:326      move second child to first child ( temp highp 2-component vector of int)
+0:326        vector swizzle ( temp highp 2-component vector of int)
+0:326          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:326            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326              Constant:
+0:326                3 (const int)
+0:326            Constant:
+0:326              1 (const int)
+0:326          Sequence
+0:326            Constant:
+0:326              0 (const int)
+0:326            Constant:
+0:326              1 (const int)
+0:326        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:326          vector swizzle ( temp highp 2-component vector of int)
+0:326            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:326              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326                Constant:
+0:326                  1 (const int)
+0:326              Constant:
+0:326                1 (const int)
+0:326            Sequence
+0:326              Constant:
+0:326                0 (const int)
+0:326              Constant:
+0:326                1 (const int)
+0:326          'ballot' ( temp highp 4-component vector of uint)
+0:327      move second child to first child ( temp highp 3-component vector of int)
+0:327        vector swizzle ( temp highp 3-component vector of int)
+0:327          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:327            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:327              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:327              Constant:
+0:327                3 (const int)
+0:327            Constant:
+0:327              1 (const int)
+0:327          Sequence
+0:327            Constant:
+0:327              0 (const int)
+0:327            Constant:
+0:327              1 (const int)
+0:327            Constant:
+0:327              2 (const int)
+0:327        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:327          vector swizzle ( temp highp 3-component vector of int)
+0:327            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:327              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:327                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:327                Constant:
+0:327                  2 (const int)
+0:327              Constant:
+0:327                1 (const int)
+0:327            Sequence
+0:327              Constant:
+0:327                0 (const int)
+0:327              Constant:
+0:327                1 (const int)
+0:327              Constant:
+0:327                2 (const int)
+0:327          'ballot' ( temp highp 4-component vector of uint)
+0:328      move second child to first child ( temp highp 4-component vector of int)
+0:328        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:328          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328            Constant:
+0:328              3 (const int)
+0:328          Constant:
+0:328            1 (const int)
+0:328        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:328          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:328            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328              Constant:
+0:328                3 (const int)
+0:328            Constant:
+0:328              1 (const int)
+0:328          'ballot' ( temp highp 4-component vector of uint)
+0:330      move second child to first child ( temp highp uint)
+0:330        direct index ( temp highp uint)
+0:330          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:330            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330              Constant:
+0:330                3 (const int)
+0:330            Constant:
+0:330              2 (const int)
+0:330          Constant:
+0:330            0 (const int)
+0:330        ERROR: Bad aggregation op
+ ( global highp uint)
+0:330          direct index ( temp highp uint)
+0:330            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:330              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330                Constant:
+0:330                  0 (const int)
+0:330              Constant:
+0:330                2 (const int)
+0:330            Constant:
+0:330              0 (const int)
+0:330          'ballot' ( temp highp 4-component vector of uint)
+0:331      move second child to first child ( temp highp 2-component vector of uint)
+0:331        vector swizzle ( temp highp 2-component vector of uint)
+0:331          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:331            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331              Constant:
+0:331                3 (const int)
+0:331            Constant:
+0:331              2 (const int)
+0:331          Sequence
+0:331            Constant:
+0:331              0 (const int)
+0:331            Constant:
+0:331              1 (const int)
+0:331        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:331          vector swizzle ( temp highp 2-component vector of uint)
+0:331            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:331              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331                Constant:
+0:331                  1 (const int)
+0:331              Constant:
+0:331                2 (const int)
+0:331            Sequence
+0:331              Constant:
+0:331                0 (const int)
+0:331              Constant:
+0:331                1 (const int)
+0:331          'ballot' ( temp highp 4-component vector of uint)
+0:332      move second child to first child ( temp highp 3-component vector of uint)
+0:332        vector swizzle ( temp highp 3-component vector of uint)
+0:332          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:332            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:332              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:332              Constant:
+0:332                3 (const int)
+0:332            Constant:
+0:332              2 (const int)
+0:332          Sequence
+0:332            Constant:
+0:332              0 (const int)
+0:332            Constant:
+0:332              1 (const int)
+0:332            Constant:
+0:332              2 (const int)
+0:332        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:332          vector swizzle ( temp highp 3-component vector of uint)
+0:332            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:332              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:332                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:332                Constant:
+0:332                  2 (const int)
+0:332              Constant:
+0:332                2 (const int)
+0:332            Sequence
+0:332              Constant:
+0:332                0 (const int)
+0:332              Constant:
+0:332                1 (const int)
+0:332              Constant:
+0:332                2 (const int)
+0:332          'ballot' ( temp highp 4-component vector of uint)
+0:333      move second child to first child ( temp highp 4-component vector of uint)
+0:333        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:333          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:333            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:333            Constant:
+0:333              3 (const int)
+0:333          Constant:
+0:333            2 (const int)
+0:333        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:333          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:333            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:333              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:333              Constant:
+0:333                3 (const int)
+0:333            Constant:
+0:333              2 (const int)
+0:333          'ballot' ( temp highp 4-component vector of uint)
+0:335      move second child to first child ( temp highp int)
+0:335        direct index ( temp highp int)
+0:335          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:335            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:335              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:335              Constant:
+0:335                3 (const int)
+0:335            Constant:
+0:335              1 (const int)
+0:335          Constant:
+0:335            0 (const int)
+0:335        Convert bool to int ( temp highp int)
+0:335          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:335            Compare Less Than ( temp bool)
+0:335              direct index ( temp highp int)
+0:335                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:335                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:335                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:335                    Constant:
+0:335                      0 (const int)
+0:335                  Constant:
+0:335                    1 (const int)
+0:335                Constant:
+0:335                  0 (const int)
+0:335              Constant:
+0:335                0 (const int)
+0:335            'ballot' ( temp highp 4-component vector of uint)
+0:336      move second child to first child ( temp highp 2-component vector of int)
+0:336        vector swizzle ( temp highp 2-component vector of int)
+0:336          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:336            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:336              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:336              Constant:
+0:336                3 (const int)
+0:336            Constant:
+0:336              1 (const int)
+0:336          Sequence
+0:336            Constant:
+0:336              0 (const int)
+0:336            Constant:
+0:336              1 (const int)
+0:336        Convert bool to int ( temp highp 2-component vector of int)
+0:336          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:336            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:336              vector swizzle ( temp highp 2-component vector of int)
+0:336                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:336                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:336                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:336                    Constant:
+0:336                      1 (const int)
+0:336                  Constant:
+0:336                    1 (const int)
+0:336                Sequence
+0:336                  Constant:
+0:336                    0 (const int)
+0:336                  Constant:
+0:336                    1 (const int)
+0:336              Constant:
+0:336                0 (const int)
+0:336                0 (const int)
+0:336            'ballot' ( temp highp 4-component vector of uint)
+0:337      move second child to first child ( temp highp 3-component vector of int)
+0:337        vector swizzle ( temp highp 3-component vector of int)
+0:337          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:337            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:337              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:337              Constant:
+0:337                3 (const int)
+0:337            Constant:
+0:337              1 (const int)
+0:337          Sequence
+0:337            Constant:
+0:337              0 (const int)
+0:337            Constant:
+0:337              1 (const int)
+0:337            Constant:
+0:337              2 (const int)
+0:337        Convert bool to int ( temp highp 3-component vector of int)
+0:337          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:337            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:337              vector swizzle ( temp highp 3-component vector of int)
+0:337                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:337                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:337                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:337                    Constant:
+0:337                      1 (const int)
+0:337                  Constant:
+0:337                    1 (const int)
+0:337                Sequence
+0:337                  Constant:
+0:337                    0 (const int)
+0:337                  Constant:
+0:337                    1 (const int)
+0:337                  Constant:
+0:337                    2 (const int)
+0:337              Constant:
+0:337                0 (const int)
+0:337                0 (const int)
+0:337                0 (const int)
+0:337            'ballot' ( temp highp 4-component vector of uint)
+0:338      move second child to first child ( temp highp 4-component vector of int)
+0:338        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:338          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:338            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:338            Constant:
+0:338              3 (const int)
+0:338          Constant:
+0:338            1 (const int)
+0:338        Convert bool to int ( temp highp 4-component vector of int)
+0:338          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:338            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:338              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:338                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:338                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:338                  Constant:
+0:338                    1 (const int)
+0:338                Constant:
+0:338                  1 (const int)
+0:338              Constant:
+0:338                0 (const int)
+0:338                0 (const int)
+0:338                0 (const int)
+0:338                0 (const int)
+0:338            'ballot' ( temp highp 4-component vector of uint)
+0:340      move second child to first child ( temp highp int)
+0:340        direct index ( temp highp int)
+0:340          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:340            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:340              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:340              Constant:
+0:340                3 (const int)
+0:340            Constant:
+0:340              1 (const int)
+0:340          Constant:
+0:340            0 (const int)
+0:340        ERROR: Bad aggregation op
+ ( global highp int)
+0:340          direct index ( temp highp int)
+0:340            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:340              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:340                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:340                Constant:
+0:340                  0 (const int)
+0:340              Constant:
+0:340                1 (const int)
+0:340            Constant:
+0:340              0 (const int)
+0:340          'ballot' ( temp highp 4-component vector of uint)
+0:341      move second child to first child ( temp highp 2-component vector of int)
+0:341        vector swizzle ( temp highp 2-component vector of int)
+0:341          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:341            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:341              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:341              Constant:
+0:341                3 (const int)
+0:341            Constant:
+0:341              1 (const int)
+0:341          Sequence
+0:341            Constant:
+0:341              0 (const int)
+0:341            Constant:
+0:341              1 (const int)
+0:341        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:341          vector swizzle ( temp highp 2-component vector of int)
+0:341            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:341              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:341                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:341                Constant:
+0:341                  1 (const int)
+0:341              Constant:
+0:341                1 (const int)
+0:341            Sequence
+0:341              Constant:
+0:341                0 (const int)
+0:341              Constant:
+0:341                1 (const int)
+0:341          'ballot' ( temp highp 4-component vector of uint)
+0:342      move second child to first child ( temp highp 3-component vector of int)
+0:342        vector swizzle ( temp highp 3-component vector of int)
+0:342          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:342            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:342              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:342              Constant:
+0:342                3 (const int)
+0:342            Constant:
+0:342              1 (const int)
+0:342          Sequence
+0:342            Constant:
+0:342              0 (const int)
+0:342            Constant:
+0:342              1 (const int)
+0:342            Constant:
+0:342              2 (const int)
+0:342        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:342          vector swizzle ( temp highp 3-component vector of int)
+0:342            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:342              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:342                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:342                Constant:
+0:342                  2 (const int)
+0:342              Constant:
+0:342                1 (const int)
+0:342            Sequence
+0:342              Constant:
+0:342                0 (const int)
+0:342              Constant:
+0:342                1 (const int)
+0:342              Constant:
+0:342                2 (const int)
+0:342          'ballot' ( temp highp 4-component vector of uint)
+0:343      move second child to first child ( temp highp 4-component vector of int)
+0:343        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:343          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:343            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:343            Constant:
+0:343              3 (const int)
+0:343          Constant:
+0:343            1 (const int)
+0:343        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:343          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:343            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:343              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:343              Constant:
+0:343                3 (const int)
+0:343            Constant:
+0:343              1 (const int)
+0:343          'ballot' ( temp highp 4-component vector of uint)
+0:345      move second child to first child ( temp highp uint)
+0:345        direct index ( temp highp uint)
+0:345          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:345            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:345              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:345              Constant:
+0:345                0 (const int)
+0:345            Constant:
+0:345              2 (const int)
+0:345          Constant:
+0:345            0 (const int)
+0:345        ERROR: Bad aggregation op
+ ( global highp uint)
+0:345          direct index ( temp highp uint)
+0:345            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:345              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:345                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:345                Constant:
+0:345                  0 (const int)
+0:345              Constant:
+0:345                2 (const int)
+0:345            Constant:
+0:345              0 (const int)
+0:345          'ballot' ( temp highp 4-component vector of uint)
+0:346      move second child to first child ( temp highp 2-component vector of uint)
+0:346        vector swizzle ( temp highp 2-component vector of uint)
+0:346          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:346            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:346              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:346              Constant:
+0:346                0 (const int)
+0:346            Constant:
+0:346              2 (const int)
+0:346          Sequence
+0:346            Constant:
+0:346              0 (const int)
+0:346            Constant:
+0:346              1 (const int)
+0:346        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:346          vector swizzle ( temp highp 2-component vector of uint)
+0:346            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:346              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:346                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:346                Constant:
+0:346                  1 (const int)
+0:346              Constant:
+0:346                2 (const int)
+0:346            Sequence
+0:346              Constant:
+0:346                0 (const int)
+0:346              Constant:
+0:346                1 (const int)
+0:346          'ballot' ( temp highp 4-component vector of uint)
+0:347      move second child to first child ( temp highp 3-component vector of uint)
+0:347        vector swizzle ( temp highp 3-component vector of uint)
+0:347          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:347            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:347              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:347              Constant:
+0:347                0 (const int)
+0:347            Constant:
+0:347              2 (const int)
+0:347          Sequence
+0:347            Constant:
+0:347              0 (const int)
+0:347            Constant:
+0:347              1 (const int)
+0:347            Constant:
+0:347              2 (const int)
+0:347        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:347          vector swizzle ( temp highp 3-component vector of uint)
+0:347            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:347              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:347                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:347                Constant:
+0:347                  2 (const int)
+0:347              Constant:
+0:347                2 (const int)
+0:347            Sequence
+0:347              Constant:
+0:347                0 (const int)
+0:347              Constant:
+0:347                1 (const int)
+0:347              Constant:
+0:347                2 (const int)
+0:347          'ballot' ( temp highp 4-component vector of uint)
+0:348      move second child to first child ( temp highp 4-component vector of uint)
+0:348        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:348          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:348            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:348            Constant:
+0:348              0 (const int)
+0:348          Constant:
+0:348            2 (const int)
+0:348        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:348          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:348            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:348              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:348              Constant:
+0:348                3 (const int)
+0:348            Constant:
+0:348              2 (const int)
+0:348          'ballot' ( temp highp 4-component vector of uint)
+0:350      move second child to first child ( temp highp int)
+0:350        direct index ( temp highp int)
+0:350          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:350            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:350              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:350              Constant:
+0:350                0 (const int)
+0:350            Constant:
+0:350              1 (const int)
+0:350          Constant:
+0:350            0 (const int)
+0:350        Convert bool to int ( temp highp int)
+0:350          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:350            Compare Less Than ( temp bool)
+0:350              direct index ( temp highp int)
+0:350                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:350                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:350                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:350                    Constant:
+0:350                      0 (const int)
+0:350                  Constant:
+0:350                    1 (const int)
+0:350                Constant:
+0:350                  0 (const int)
+0:350              Constant:
+0:350                0 (const int)
+0:350            'ballot' ( temp highp 4-component vector of uint)
+0:351      move second child to first child ( temp highp 2-component vector of int)
+0:351        vector swizzle ( temp highp 2-component vector of int)
+0:351          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:351            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:351              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:351              Constant:
+0:351                0 (const int)
+0:351            Constant:
+0:351              1 (const int)
+0:351          Sequence
+0:351            Constant:
+0:351              0 (const int)
+0:351            Constant:
+0:351              1 (const int)
+0:351        Convert bool to int ( temp highp 2-component vector of int)
+0:351          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:351            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:351              vector swizzle ( temp highp 2-component vector of int)
+0:351                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:351                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:351                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:351                    Constant:
+0:351                      1 (const int)
+0:351                  Constant:
+0:351                    1 (const int)
+0:351                Sequence
+0:351                  Constant:
+0:351                    0 (const int)
+0:351                  Constant:
+0:351                    1 (const int)
+0:351              Constant:
+0:351                0 (const int)
+0:351                0 (const int)
+0:351            'ballot' ( temp highp 4-component vector of uint)
+0:352      move second child to first child ( temp highp 3-component vector of int)
+0:352        vector swizzle ( temp highp 3-component vector of int)
+0:352          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:352            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:352              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:352              Constant:
+0:352                0 (const int)
+0:352            Constant:
+0:352              1 (const int)
+0:352          Sequence
+0:352            Constant:
+0:352              0 (const int)
+0:352            Constant:
+0:352              1 (const int)
+0:352            Constant:
+0:352              2 (const int)
+0:352        Convert bool to int ( temp highp 3-component vector of int)
+0:352          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:352            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:352              vector swizzle ( temp highp 3-component vector of int)
+0:352                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:352                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:352                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:352                    Constant:
+0:352                      1 (const int)
+0:352                  Constant:
+0:352                    1 (const int)
+0:352                Sequence
+0:352                  Constant:
+0:352                    0 (const int)
+0:352                  Constant:
+0:352                    1 (const int)
+0:352                  Constant:
+0:352                    2 (const int)
+0:352              Constant:
+0:352                0 (const int)
+0:352                0 (const int)
+0:352                0 (const int)
+0:352            'ballot' ( temp highp 4-component vector of uint)
+0:353      move second child to first child ( temp highp 4-component vector of int)
+0:353        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:353          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:353            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:353            Constant:
+0:353              0 (const int)
+0:353          Constant:
+0:353            1 (const int)
+0:353        Convert bool to int ( temp highp 4-component vector of int)
+0:353          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:353            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:353              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:353                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:353                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:353                  Constant:
+0:353                    1 (const int)
+0:353                Constant:
+0:353                  1 (const int)
+0:353              Constant:
+0:353                0 (const int)
+0:353                0 (const int)
+0:353                0 (const int)
+0:353                0 (const int)
+0:353            'ballot' ( temp highp 4-component vector of uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
+
+Linked compute stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_NV_shader_subgroup_partitioned
+local_size = (8, 1, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      Sequence
+0:18        move second child to first child ( temp highp 4-component vector of uint)
+0:18          'ballot' ( temp highp 4-component vector of uint)
+0:18          subgroupPartitionNV ( global highp 4-component vector of uint)
+0:18            'invocation' ( temp highp uint)
+0:20      move second child to first child ( temp highp 4-component vector of uint)
+0:20        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:20          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20            Constant:
+0:20              0 (const int)
+0:20          Constant:
+0:20            2 (const int)
+0:20        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:20          direct index ( temp highp float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  0 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:21      move second child to first child ( temp highp 4-component vector of uint)
+0:21        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            2 (const int)
+0:21        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:21          vector swizzle ( temp highp 2-component vector of float)
+0:21            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21                Constant:
+0:21                  0 (const int)
+0:21              Constant:
+0:21                0 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:22      move second child to first child ( temp highp 4-component vector of uint)
+0:22        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:22          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:22            Constant:
+0:22              0 (const int)
+0:22          Constant:
+0:22            2 (const int)
+0:22        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:22          vector swizzle ( temp highp 3-component vector of float)
+0:22            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:22              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:22                Constant:
+0:22                  0 (const int)
+0:22              Constant:
+0:22                0 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22              Constant:
+0:22                2 (const int)
+0:23      move second child to first child ( temp highp 4-component vector of uint)
+0:23        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:23          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23            Constant:
+0:23              0 (const int)
+0:23          Constant:
+0:23            2 (const int)
+0:23        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:23          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:25      move second child to first child ( temp highp 4-component vector of uint)
+0:25        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:25          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25            Constant:
+0:25              0 (const int)
+0:25          Constant:
+0:25            2 (const int)
+0:25        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:25          direct index ( temp highp int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Constant:
+0:25              0 (const int)
+0:26      move second child to first child ( temp highp 4-component vector of uint)
+0:26        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              0 (const int)
+0:26          Constant:
+0:26            2 (const int)
+0:26        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:26          vector swizzle ( temp highp 2-component vector of int)
+0:26            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26                Constant:
+0:26                  0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:27      move second child to first child ( temp highp 4-component vector of uint)
+0:27        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:27          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27            Constant:
+0:27              0 (const int)
+0:27          Constant:
+0:27            2 (const int)
+0:27        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:27          vector swizzle ( temp highp 3-component vector of int)
+0:27            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:27              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:27                Constant:
+0:27                  0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:28      move second child to first child ( temp highp 4-component vector of uint)
+0:28        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28            Constant:
+0:28              0 (const int)
+0:28          Constant:
+0:28            2 (const int)
+0:28        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:28          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              1 (const int)
+0:30      move second child to first child ( temp highp 4-component vector of uint)
+0:30        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30            Constant:
+0:30              0 (const int)
+0:30          Constant:
+0:30            2 (const int)
+0:30        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:30          direct index ( temp highp uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  0 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Constant:
+0:30              0 (const int)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              0 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:31          vector swizzle ( temp highp 2-component vector of uint)
+0:31            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                2 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:32      move second child to first child ( temp highp 4-component vector of uint)
+0:32        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:32          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32            Constant:
+0:32              0 (const int)
+0:32          Constant:
+0:32            2 (const int)
+0:32        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:32          vector swizzle ( temp highp 3-component vector of uint)
+0:32            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:32                Constant:
+0:32                  0 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:33      move second child to first child ( temp highp 4-component vector of uint)
+0:33        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:33          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33            Constant:
+0:33              0 (const int)
+0:33          Constant:
+0:33            2 (const int)
+0:33        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:33          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                0 (const int)
+0:33            Constant:
+0:33              2 (const int)
+0:35      move second child to first child ( temp highp 4-component vector of uint)
+0:35        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:35          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35            Constant:
+0:35              1 (const int)
+0:35          Constant:
+0:35            2 (const int)
+0:35        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:35          Convert int to bool ( temp bool)
+0:35            direct index ( temp highp int)
+0:35              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                Constant:
+0:35                  1 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:36      move second child to first child ( temp highp 4-component vector of uint)
+0:36        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              1 (const int)
+0:36          Constant:
+0:36            2 (const int)
+0:36        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:36          Convert int to bool ( temp 2-component vector of bool)
+0:36            vector swizzle ( temp highp 2-component vector of int)
+0:36              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  Constant:
+0:36                    0 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:36              Sequence
+0:36                Constant:
+0:36                  0 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:37      move second child to first child ( temp highp 4-component vector of uint)
+0:37        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:37          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:37            Constant:
+0:37              1 (const int)
+0:37          Constant:
+0:37            2 (const int)
+0:37        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:37          Convert int to bool ( temp 3-component vector of bool)
+0:37            vector swizzle ( temp highp 3-component vector of int)
+0:37              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:37                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:37                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:37                  Constant:
+0:37                    0 (const int)
+0:37                Constant:
+0:37                  1 (const int)
+0:37              Sequence
+0:37                Constant:
+0:37                  0 (const int)
+0:37                Constant:
+0:37                  1 (const int)
+0:37                Constant:
+0:37                  2 (const int)
+0:38      move second child to first child ( temp highp 4-component vector of uint)
+0:38        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:38          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38            Constant:
+0:38              1 (const int)
+0:38          Constant:
+0:38            2 (const int)
+0:38        subgroupPartitionNV ( global highp 4-component vector of uint)
+0:38          Convert int to bool ( temp 4-component vector of bool)
+0:38            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                1 (const int)
+0:40      move second child to first child ( temp highp float)
+0:40        direct index ( temp highp float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Constant:
+0:40            0 (const int)
+0:40        ERROR: Bad aggregation op
+ ( global highp float)
+0:40          direct index ( temp highp float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  0 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          'ballot' ( temp highp 4-component vector of uint)
+0:41      move second child to first child ( temp highp 2-component vector of float)
+0:41        vector swizzle ( temp highp 2-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                1 (const int)
+0:41            Constant:
+0:41              0 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:41          vector swizzle ( temp highp 2-component vector of float)
+0:41            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41                Constant:
+0:41                  1 (const int)
+0:41              Constant:
+0:41                0 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41          'ballot' ( temp highp 4-component vector of uint)
+0:42      move second child to first child ( temp highp 3-component vector of float)
+0:42        vector swizzle ( temp highp 3-component vector of float)
+0:42          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:42            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:42              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:42              Constant:
+0:42                1 (const int)
+0:42            Constant:
+0:42              0 (const int)
+0:42          Sequence
+0:42            Constant:
+0:42              0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42            Constant:
+0:42              2 (const int)
+0:42        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:42          vector swizzle ( temp highp 3-component vector of float)
+0:42            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:42              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:42                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:42                Constant:
+0:42                  2 (const int)
+0:42              Constant:
+0:42                0 (const int)
+0:42            Sequence
+0:42              Constant:
+0:42                0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42              Constant:
+0:42                2 (const int)
+0:42          'ballot' ( temp highp 4-component vector of uint)
+0:43      move second child to first child ( temp highp 4-component vector of float)
+0:43        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:43          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43            Constant:
+0:43              1 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:43          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                3 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:43          'ballot' ( temp highp 4-component vector of uint)
+0:45      move second child to first child ( temp highp int)
+0:45        direct index ( temp highp int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                1 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Constant:
+0:45            0 (const int)
+0:45        ERROR: Bad aggregation op
+ ( global highp int)
+0:45          direct index ( temp highp int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Constant:
+0:45              0 (const int)
+0:45          'ballot' ( temp highp 4-component vector of uint)
+0:46      move second child to first child ( temp highp 2-component vector of int)
+0:46        vector swizzle ( temp highp 2-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                1 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:46          vector swizzle ( temp highp 2-component vector of int)
+0:46            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46                Constant:
+0:46                  1 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46          'ballot' ( temp highp 4-component vector of uint)
+0:47      move second child to first child ( temp highp 3-component vector of int)
+0:47        vector swizzle ( temp highp 3-component vector of int)
+0:47          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:47              Constant:
+0:47                1 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:47          vector swizzle ( temp highp 3-component vector of int)
+0:47            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:47              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:47                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:47                Constant:
+0:47                  2 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47          'ballot' ( temp highp 4-component vector of uint)
+0:48      move second child to first child ( temp highp 4-component vector of int)
+0:48        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:48          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48            Constant:
+0:48              1 (const int)
+0:48          Constant:
+0:48            1 (const int)
+0:48        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:48          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                3 (const int)
+0:48            Constant:
+0:48              1 (const int)
+0:48          'ballot' ( temp highp 4-component vector of uint)
+0:50      move second child to first child ( temp highp uint)
+0:50        direct index ( temp highp uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Constant:
+0:50            0 (const int)
+0:50        ERROR: Bad aggregation op
+ ( global highp uint)
+0:50          direct index ( temp highp uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  0 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:50          'ballot' ( temp highp 4-component vector of uint)
+0:51      move second child to first child ( temp highp 2-component vector of uint)
+0:51        vector swizzle ( temp highp 2-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                1 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:51          vector swizzle ( temp highp 2-component vector of uint)
+0:51            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51                Constant:
+0:51                  1 (const int)
+0:51              Constant:
+0:51                2 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51          'ballot' ( temp highp 4-component vector of uint)
+0:52      move second child to first child ( temp highp 3-component vector of uint)
+0:52        vector swizzle ( temp highp 3-component vector of uint)
+0:52          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:52              Constant:
+0:52                1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:52          vector swizzle ( temp highp 3-component vector of uint)
+0:52            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:52              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:52                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:52                Constant:
+0:52                  2 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:52          'ballot' ( temp highp 4-component vector of uint)
+0:53      move second child to first child ( temp highp 4-component vector of uint)
+0:53        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:53          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            2 (const int)
+0:53        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:53          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                3 (const int)
+0:53            Constant:
+0:53              2 (const int)
+0:53          'ballot' ( temp highp 4-component vector of uint)
+0:55      move second child to first child ( temp highp float)
+0:55        direct index ( temp highp float)
+0:55          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                2 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:55          Constant:
+0:55            0 (const int)
+0:55        ERROR: Bad aggregation op
+ ( global highp float)
+0:55          direct index ( temp highp float)
+0:55            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                Constant:
+0:55                  0 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:55          'ballot' ( temp highp 4-component vector of uint)
+0:56      move second child to first child ( temp highp 2-component vector of float)
+0:56        vector swizzle ( temp highp 2-component vector of float)
+0:56          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:56            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56              Constant:
+0:56                2 (const int)
+0:56            Constant:
+0:56              0 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:56          vector swizzle ( temp highp 2-component vector of float)
+0:56            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                Constant:
+0:56                  1 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56          'ballot' ( temp highp 4-component vector of uint)
+0:57      move second child to first child ( temp highp 3-component vector of float)
+0:57        vector swizzle ( temp highp 3-component vector of float)
+0:57          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57              Constant:
+0:57                2 (const int)
+0:57            Constant:
+0:57              0 (const int)
+0:57          Sequence
+0:57            Constant:
+0:57              0 (const int)
+0:57            Constant:
+0:57              1 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:57        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:57          vector swizzle ( temp highp 3-component vector of float)
+0:57            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:57              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:57                Constant:
+0:57                  2 (const int)
+0:57              Constant:
+0:57                0 (const int)
+0:57            Sequence
+0:57              Constant:
+0:57                0 (const int)
+0:57              Constant:
+0:57                1 (const int)
+0:57              Constant:
+0:57                2 (const int)
+0:57          'ballot' ( temp highp 4-component vector of uint)
+0:58      move second child to first child ( temp highp 4-component vector of float)
+0:58        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58            Constant:
+0:58              2 (const int)
+0:58          Constant:
+0:58            0 (const int)
+0:58        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:58          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              Constant:
+0:58                3 (const int)
+0:58            Constant:
+0:58              0 (const int)
+0:58          'ballot' ( temp highp 4-component vector of uint)
+0:60      move second child to first child ( temp highp int)
+0:60        direct index ( temp highp int)
+0:60          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:60            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              Constant:
+0:60                2 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60          Constant:
+0:60            0 (const int)
+0:60        ERROR: Bad aggregation op
+ ( global highp int)
+0:60          direct index ( temp highp int)
+0:60            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                Constant:
+0:60                  0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60            Constant:
+0:60              0 (const int)
+0:60          'ballot' ( temp highp 4-component vector of uint)
+0:61      move second child to first child ( temp highp 2-component vector of int)
+0:61        vector swizzle ( temp highp 2-component vector of int)
+0:61          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:61            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              Constant:
+0:61                2 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:61          vector swizzle ( temp highp 2-component vector of int)
+0:61            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61                Constant:
+0:61                  1 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61          'ballot' ( temp highp 4-component vector of uint)
+0:62      move second child to first child ( temp highp 3-component vector of int)
+0:62        vector swizzle ( temp highp 3-component vector of int)
+0:62          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62              Constant:
+0:62                2 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62          Sequence
+0:62            Constant:
+0:62              0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62            Constant:
+0:62              2 (const int)
+0:62        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:62          vector swizzle ( temp highp 3-component vector of int)
+0:62            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:62              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:62                Constant:
+0:62                  2 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62            Sequence
+0:62              Constant:
+0:62                0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62              Constant:
+0:62                2 (const int)
+0:62          'ballot' ( temp highp 4-component vector of uint)
+0:63      move second child to first child ( temp highp 4-component vector of int)
+0:63        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63            Constant:
+0:63              2 (const int)
+0:63          Constant:
+0:63            1 (const int)
+0:63        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:63          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              Constant:
+0:63                3 (const int)
+0:63            Constant:
+0:63              1 (const int)
+0:63          'ballot' ( temp highp 4-component vector of uint)
+0:65      move second child to first child ( temp highp uint)
+0:65        direct index ( temp highp uint)
+0:65          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:65            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              Constant:
+0:65                2 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65          Constant:
+0:65            0 (const int)
+0:65        ERROR: Bad aggregation op
+ ( global highp uint)
+0:65          direct index ( temp highp uint)
+0:65            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                Constant:
+0:65                  0 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:65            Constant:
+0:65              0 (const int)
+0:65          'ballot' ( temp highp 4-component vector of uint)
+0:66      move second child to first child ( temp highp 2-component vector of uint)
+0:66        vector swizzle ( temp highp 2-component vector of uint)
+0:66          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:66            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              Constant:
+0:66                2 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:66          vector swizzle ( temp highp 2-component vector of uint)
+0:66            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66                Constant:
+0:66                  1 (const int)
+0:66              Constant:
+0:66                2 (const int)
+0:66            Sequence
+0:66              Constant:
+0:66                0 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66          'ballot' ( temp highp 4-component vector of uint)
+0:67      move second child to first child ( temp highp 3-component vector of uint)
+0:67        vector swizzle ( temp highp 3-component vector of uint)
+0:67          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:67            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67              Constant:
+0:67                2 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67          Sequence
+0:67            Constant:
+0:67              0 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:67          vector swizzle ( temp highp 3-component vector of uint)
+0:67            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:67              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:67                Constant:
+0:67                  2 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:67            Sequence
+0:67              Constant:
+0:67                0 (const int)
+0:67              Constant:
+0:67                1 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:67          'ballot' ( temp highp 4-component vector of uint)
+0:68      move second child to first child ( temp highp 4-component vector of uint)
+0:68        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68            Constant:
+0:68              2 (const int)
+0:68          Constant:
+0:68            2 (const int)
+0:68        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:68          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              Constant:
+0:68                3 (const int)
+0:68            Constant:
+0:68              2 (const int)
+0:68          'ballot' ( temp highp 4-component vector of uint)
+0:70      move second child to first child ( temp highp float)
+0:70        direct index ( temp highp float)
+0:70          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:70            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              Constant:
+0:70                2 (const int)
+0:70            Constant:
+0:70              0 (const int)
+0:70          Constant:
+0:70            0 (const int)
+0:70        ERROR: Bad aggregation op
+ ( global highp float)
+0:70          direct index ( temp highp float)
+0:70            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                Constant:
+0:70                  0 (const int)
+0:70              Constant:
+0:70                0 (const int)
+0:70            Constant:
+0:70              0 (const int)
+0:70          'ballot' ( temp highp 4-component vector of uint)
+0:71      move second child to first child ( temp highp 2-component vector of float)
+0:71        vector swizzle ( temp highp 2-component vector of float)
+0:71          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:71            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              Constant:
+0:71                2 (const int)
+0:71            Constant:
+0:71              0 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:71          vector swizzle ( temp highp 2-component vector of float)
+0:71            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71                Constant:
+0:71                  1 (const int)
+0:71              Constant:
+0:71                0 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71          'ballot' ( temp highp 4-component vector of uint)
+0:72      move second child to first child ( temp highp 3-component vector of float)
+0:72        vector swizzle ( temp highp 3-component vector of float)
+0:72          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:72            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72              Constant:
+0:72                2 (const int)
+0:72            Constant:
+0:72              0 (const int)
+0:72          Sequence
+0:72            Constant:
+0:72              0 (const int)
+0:72            Constant:
+0:72              1 (const int)
+0:72            Constant:
+0:72              2 (const int)
+0:72        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:72          vector swizzle ( temp highp 3-component vector of float)
+0:72            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:72              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:72                Constant:
+0:72                  2 (const int)
+0:72              Constant:
+0:72                0 (const int)
+0:72            Sequence
+0:72              Constant:
+0:72                0 (const int)
+0:72              Constant:
+0:72                1 (const int)
+0:72              Constant:
+0:72                2 (const int)
+0:72          'ballot' ( temp highp 4-component vector of uint)
+0:73      move second child to first child ( temp highp 4-component vector of float)
+0:73        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:73          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73            Constant:
+0:73              2 (const int)
+0:73          Constant:
+0:73            0 (const int)
+0:73        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:73          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:73            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              Constant:
+0:73                3 (const int)
+0:73            Constant:
+0:73              0 (const int)
+0:73          'ballot' ( temp highp 4-component vector of uint)
+0:75      move second child to first child ( temp highp int)
+0:75        direct index ( temp highp int)
+0:75          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:75            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              Constant:
+0:75                3 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75          Constant:
+0:75            0 (const int)
+0:75        ERROR: Bad aggregation op
+ ( global highp int)
+0:75          direct index ( temp highp int)
+0:75            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                Constant:
+0:75                  0 (const int)
+0:75              Constant:
+0:75                1 (const int)
+0:75            Constant:
+0:75              0 (const int)
+0:75          'ballot' ( temp highp 4-component vector of uint)
+0:76      move second child to first child ( temp highp 2-component vector of int)
+0:76        vector swizzle ( temp highp 2-component vector of int)
+0:76          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:76            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76              Constant:
+0:76                3 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:76          vector swizzle ( temp highp 2-component vector of int)
+0:76            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76                Constant:
+0:76                  1 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76          'ballot' ( temp highp 4-component vector of uint)
+0:77      move second child to first child ( temp highp 3-component vector of int)
+0:77        vector swizzle ( temp highp 3-component vector of int)
+0:77          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:77            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:77              Constant:
+0:77                3 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:77          Sequence
+0:77            Constant:
+0:77              0 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:77            Constant:
+0:77              2 (const int)
+0:77        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:77          vector swizzle ( temp highp 3-component vector of int)
+0:77            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:77              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:77                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:77                Constant:
+0:77                  2 (const int)
+0:77              Constant:
+0:77                1 (const int)
+0:77            Sequence
+0:77              Constant:
+0:77                0 (const int)
+0:77              Constant:
+0:77                1 (const int)
+0:77              Constant:
+0:77                2 (const int)
+0:77          'ballot' ( temp highp 4-component vector of uint)
+0:78      move second child to first child ( temp highp 4-component vector of int)
+0:78        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78            Constant:
+0:78              3 (const int)
+0:78          Constant:
+0:78            1 (const int)
+0:78        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:78          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:78            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              Constant:
+0:78                3 (const int)
+0:78            Constant:
+0:78              1 (const int)
+0:78          'ballot' ( temp highp 4-component vector of uint)
+0:80      move second child to first child ( temp highp uint)
+0:80        direct index ( temp highp uint)
+0:80          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:80            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              Constant:
+0:80                3 (const int)
+0:80            Constant:
+0:80              2 (const int)
+0:80          Constant:
+0:80            0 (const int)
+0:80        ERROR: Bad aggregation op
+ ( global highp uint)
+0:80          direct index ( temp highp uint)
+0:80            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                Constant:
+0:80                  0 (const int)
+0:80              Constant:
+0:80                2 (const int)
+0:80            Constant:
+0:80              0 (const int)
+0:80          'ballot' ( temp highp 4-component vector of uint)
+0:81      move second child to first child ( temp highp 2-component vector of uint)
+0:81        vector swizzle ( temp highp 2-component vector of uint)
+0:81          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:81            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              Constant:
+0:81                3 (const int)
+0:81            Constant:
+0:81              2 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:81          vector swizzle ( temp highp 2-component vector of uint)
+0:81            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81                Constant:
+0:81                  1 (const int)
+0:81              Constant:
+0:81                2 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81          'ballot' ( temp highp 4-component vector of uint)
+0:82      move second child to first child ( temp highp 3-component vector of uint)
+0:82        vector swizzle ( temp highp 3-component vector of uint)
+0:82          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:82            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:82              Constant:
+0:82                3 (const int)
+0:82            Constant:
+0:82              2 (const int)
+0:82          Sequence
+0:82            Constant:
+0:82              0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82            Constant:
+0:82              2 (const int)
+0:82        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:82          vector swizzle ( temp highp 3-component vector of uint)
+0:82            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:82              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:82                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:82                Constant:
+0:82                  2 (const int)
+0:82              Constant:
+0:82                2 (const int)
+0:82            Sequence
+0:82              Constant:
+0:82                0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82              Constant:
+0:82                2 (const int)
+0:82          'ballot' ( temp highp 4-component vector of uint)
+0:83      move second child to first child ( temp highp 4-component vector of uint)
+0:83        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83            Constant:
+0:83              3 (const int)
+0:83          Constant:
+0:83            2 (const int)
+0:83        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:83          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:83            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              Constant:
+0:83                3 (const int)
+0:83            Constant:
+0:83              2 (const int)
+0:83          'ballot' ( temp highp 4-component vector of uint)
+0:85      move second child to first child ( temp highp float)
+0:85        direct index ( temp highp float)
+0:85          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:85            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              Constant:
+0:85                3 (const int)
+0:85            Constant:
+0:85              0 (const int)
+0:85          Constant:
+0:85            0 (const int)
+0:85        ERROR: Bad aggregation op
+ ( global highp float)
+0:85          direct index ( temp highp float)
+0:85            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                Constant:
+0:85                  0 (const int)
+0:85              Constant:
+0:85                0 (const int)
+0:85            Constant:
+0:85              0 (const int)
+0:85          'ballot' ( temp highp 4-component vector of uint)
+0:86      move second child to first child ( temp highp 2-component vector of float)
+0:86        vector swizzle ( temp highp 2-component vector of float)
+0:86          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:86            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              Constant:
+0:86                3 (const int)
+0:86            Constant:
+0:86              0 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:86          vector swizzle ( temp highp 2-component vector of float)
+0:86            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86                Constant:
+0:86                  1 (const int)
+0:86              Constant:
+0:86                0 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86          'ballot' ( temp highp 4-component vector of uint)
+0:87      move second child to first child ( temp highp 3-component vector of float)
+0:87        vector swizzle ( temp highp 3-component vector of float)
+0:87          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:87            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:87              Constant:
+0:87                3 (const int)
+0:87            Constant:
+0:87              0 (const int)
+0:87          Sequence
+0:87            Constant:
+0:87              0 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:87            Constant:
+0:87              2 (const int)
+0:87        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:87          vector swizzle ( temp highp 3-component vector of float)
+0:87            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:87              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:87                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:87                Constant:
+0:87                  2 (const int)
+0:87              Constant:
+0:87                0 (const int)
+0:87            Sequence
+0:87              Constant:
+0:87                0 (const int)
+0:87              Constant:
+0:87                1 (const int)
+0:87              Constant:
+0:87                2 (const int)
+0:87          'ballot' ( temp highp 4-component vector of uint)
+0:88      move second child to first child ( temp highp 4-component vector of float)
+0:88        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:88          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88            Constant:
+0:88              3 (const int)
+0:88          Constant:
+0:88            0 (const int)
+0:88        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:88          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:88            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              Constant:
+0:88                3 (const int)
+0:88            Constant:
+0:88              0 (const int)
+0:88          'ballot' ( temp highp 4-component vector of uint)
+0:90      move second child to first child ( temp highp int)
+0:90        direct index ( temp highp int)
+0:90          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              Constant:
+0:90                0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90          Constant:
+0:90            0 (const int)
+0:90        ERROR: Bad aggregation op
+ ( global highp int)
+0:90          direct index ( temp highp int)
+0:90            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:90              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                Constant:
+0:90                  0 (const int)
+0:90              Constant:
+0:90                1 (const int)
+0:90            Constant:
+0:90              0 (const int)
+0:90          'ballot' ( temp highp 4-component vector of uint)
+0:91      move second child to first child ( temp highp 2-component vector of int)
+0:91        vector swizzle ( temp highp 2-component vector of int)
+0:91          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91              Constant:
+0:91                0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:91          vector swizzle ( temp highp 2-component vector of int)
+0:91            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:91              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91                Constant:
+0:91                  1 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91            Sequence
+0:91              Constant:
+0:91                0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91          'ballot' ( temp highp 4-component vector of uint)
+0:92      move second child to first child ( temp highp 3-component vector of int)
+0:92        vector swizzle ( temp highp 3-component vector of int)
+0:92          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:92            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:92              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:92              Constant:
+0:92                0 (const int)
+0:92            Constant:
+0:92              1 (const int)
+0:92          Sequence
+0:92            Constant:
+0:92              0 (const int)
+0:92            Constant:
+0:92              1 (const int)
+0:92            Constant:
+0:92              2 (const int)
+0:92        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:92          vector swizzle ( temp highp 3-component vector of int)
+0:92            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:92              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:92                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:92                Constant:
+0:92                  2 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92            Sequence
+0:92              Constant:
+0:92                0 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92              Constant:
+0:92                2 (const int)
+0:92          'ballot' ( temp highp 4-component vector of uint)
+0:93      move second child to first child ( temp highp 4-component vector of int)
+0:93        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93            Constant:
+0:93              0 (const int)
+0:93          Constant:
+0:93            1 (const int)
+0:93        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:93          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              Constant:
+0:93                3 (const int)
+0:93            Constant:
+0:93              1 (const int)
+0:93          'ballot' ( temp highp 4-component vector of uint)
+0:95      move second child to first child ( temp highp uint)
+0:95        direct index ( temp highp uint)
+0:95          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:95            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              Constant:
+0:95                0 (const int)
+0:95            Constant:
+0:95              2 (const int)
+0:95          Constant:
+0:95            0 (const int)
+0:95        ERROR: Bad aggregation op
+ ( global highp uint)
+0:95          direct index ( temp highp uint)
+0:95            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                Constant:
+0:95                  0 (const int)
+0:95              Constant:
+0:95                2 (const int)
+0:95            Constant:
+0:95              0 (const int)
+0:95          'ballot' ( temp highp 4-component vector of uint)
+0:96      move second child to first child ( temp highp 2-component vector of uint)
+0:96        vector swizzle ( temp highp 2-component vector of uint)
+0:96          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:96            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96              Constant:
+0:96                0 (const int)
+0:96            Constant:
+0:96              2 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:96          vector swizzle ( temp highp 2-component vector of uint)
+0:96            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96                Constant:
+0:96                  1 (const int)
+0:96              Constant:
+0:96                2 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:96          'ballot' ( temp highp 4-component vector of uint)
+0:97      move second child to first child ( temp highp 3-component vector of uint)
+0:97        vector swizzle ( temp highp 3-component vector of uint)
+0:97          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:97            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:97              Constant:
+0:97                0 (const int)
+0:97            Constant:
+0:97              2 (const int)
+0:97          Sequence
+0:97            Constant:
+0:97              0 (const int)
+0:97            Constant:
+0:97              1 (const int)
+0:97            Constant:
+0:97              2 (const int)
+0:97        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:97          vector swizzle ( temp highp 3-component vector of uint)
+0:97            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:97              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:97                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:97                Constant:
+0:97                  2 (const int)
+0:97              Constant:
+0:97                2 (const int)
+0:97            Sequence
+0:97              Constant:
+0:97                0 (const int)
+0:97              Constant:
+0:97                1 (const int)
+0:97              Constant:
+0:97                2 (const int)
+0:97          'ballot' ( temp highp 4-component vector of uint)
+0:98      move second child to first child ( temp highp 4-component vector of uint)
+0:98        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98            Constant:
+0:98              0 (const int)
+0:98          Constant:
+0:98            2 (const int)
+0:98        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:98          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:98            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:98              Constant:
+0:98                3 (const int)
+0:98            Constant:
+0:98              2 (const int)
+0:98          'ballot' ( temp highp 4-component vector of uint)
+0:100      move second child to first child ( temp highp int)
+0:100        direct index ( temp highp int)
+0:100          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:100            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100              Constant:
+0:100                0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Constant:
+0:100            0 (const int)
+0:100        ERROR: Bad aggregation op
+ ( global highp int)
+0:100          direct index ( temp highp int)
+0:100            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:100                Constant:
+0:100                  0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Constant:
+0:100              0 (const int)
+0:100          'ballot' ( temp highp 4-component vector of uint)
+0:101      move second child to first child ( temp highp 2-component vector of int)
+0:101        vector swizzle ( temp highp 2-component vector of int)
+0:101          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:101            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101              Constant:
+0:101                0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:101          vector swizzle ( temp highp 2-component vector of int)
+0:101            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:101                Constant:
+0:101                  1 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101          'ballot' ( temp highp 4-component vector of uint)
+0:102      move second child to first child ( temp highp 3-component vector of int)
+0:102        vector swizzle ( temp highp 3-component vector of int)
+0:102          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:102            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:102              Constant:
+0:102                0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102          Sequence
+0:102            Constant:
+0:102              0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102            Constant:
+0:102              2 (const int)
+0:102        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:102          vector swizzle ( temp highp 3-component vector of int)
+0:102            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:102              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:102                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:102                Constant:
+0:102                  2 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102            Sequence
+0:102              Constant:
+0:102                0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102              Constant:
+0:102                2 (const int)
+0:102          'ballot' ( temp highp 4-component vector of uint)
+0:103      move second child to first child ( temp highp 4-component vector of int)
+0:103        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103            Constant:
+0:103              0 (const int)
+0:103          Constant:
+0:103            1 (const int)
+0:103        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:103          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:103            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:103              Constant:
+0:103                3 (const int)
+0:103            Constant:
+0:103              1 (const int)
+0:103          'ballot' ( temp highp 4-component vector of uint)
+0:105      move second child to first child ( temp highp uint)
+0:105        direct index ( temp highp uint)
+0:105          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:105            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105              Constant:
+0:105                1 (const int)
+0:105            Constant:
+0:105              2 (const int)
+0:105          Constant:
+0:105            0 (const int)
+0:105        ERROR: Bad aggregation op
+ ( global highp uint)
+0:105          direct index ( temp highp uint)
+0:105            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:105              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:105                Constant:
+0:105                  0 (const int)
+0:105              Constant:
+0:105                2 (const int)
+0:105            Constant:
+0:105              0 (const int)
+0:105          'ballot' ( temp highp 4-component vector of uint)
+0:106      move second child to first child ( temp highp 2-component vector of uint)
+0:106        vector swizzle ( temp highp 2-component vector of uint)
+0:106          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:106            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106              Constant:
+0:106                1 (const int)
+0:106            Constant:
+0:106              2 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:106          vector swizzle ( temp highp 2-component vector of uint)
+0:106            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:106                Constant:
+0:106                  1 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:106          'ballot' ( temp highp 4-component vector of uint)
+0:107      move second child to first child ( temp highp 3-component vector of uint)
+0:107        vector swizzle ( temp highp 3-component vector of uint)
+0:107          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:107            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:107              Constant:
+0:107                1 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107          Sequence
+0:107            Constant:
+0:107              0 (const int)
+0:107            Constant:
+0:107              1 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:107          vector swizzle ( temp highp 3-component vector of uint)
+0:107            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:107              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:107                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:107                Constant:
+0:107                  2 (const int)
+0:107              Constant:
+0:107                2 (const int)
+0:107            Sequence
+0:107              Constant:
+0:107                0 (const int)
+0:107              Constant:
+0:107                1 (const int)
+0:107              Constant:
+0:107                2 (const int)
+0:107          'ballot' ( temp highp 4-component vector of uint)
+0:108      move second child to first child ( temp highp 4-component vector of uint)
+0:108        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:108          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108            Constant:
+0:108              1 (const int)
+0:108          Constant:
+0:108            2 (const int)
+0:108        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:108          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:108            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:108              Constant:
+0:108                3 (const int)
+0:108            Constant:
+0:108              2 (const int)
+0:108          'ballot' ( temp highp 4-component vector of uint)
+0:110      move second child to first child ( temp highp int)
+0:110        direct index ( temp highp int)
+0:110          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110              Constant:
+0:110                1 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Constant:
+0:110            0 (const int)
+0:110        Convert bool to int ( temp highp int)
+0:110          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:110            Compare Less Than ( temp bool)
+0:110              direct index ( temp highp int)
+0:110                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:110                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:110                    Constant:
+0:110                      0 (const int)
+0:110                  Constant:
+0:110                    1 (const int)
+0:110                Constant:
+0:110                  0 (const int)
+0:110              Constant:
+0:110                0 (const int)
+0:110            'ballot' ( temp highp 4-component vector of uint)
+0:111      move second child to first child ( temp highp 2-component vector of int)
+0:111        vector swizzle ( temp highp 2-component vector of int)
+0:111          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111              Constant:
+0:111                1 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111        Convert bool to int ( temp highp 2-component vector of int)
+0:111          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:111            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:111              vector swizzle ( temp highp 2-component vector of int)
+0:111                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:111                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:111                    Constant:
+0:111                      1 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111                Sequence
+0:111                  Constant:
+0:111                    0 (const int)
+0:111                  Constant:
+0:111                    1 (const int)
+0:111              Constant:
+0:111                0 (const int)
+0:111                0 (const int)
+0:111            'ballot' ( temp highp 4-component vector of uint)
+0:112      move second child to first child ( temp highp 3-component vector of int)
+0:112        vector swizzle ( temp highp 3-component vector of int)
+0:112          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:112            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:112              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:112              Constant:
+0:112                1 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112          Sequence
+0:112            Constant:
+0:112              0 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112            Constant:
+0:112              2 (const int)
+0:112        Convert bool to int ( temp highp 3-component vector of int)
+0:112          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:112            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:112              vector swizzle ( temp highp 3-component vector of int)
+0:112                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:112                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:112                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:112                    Constant:
+0:112                      1 (const int)
+0:112                  Constant:
+0:112                    1 (const int)
+0:112                Sequence
+0:112                  Constant:
+0:112                    0 (const int)
+0:112                  Constant:
+0:112                    1 (const int)
+0:112                  Constant:
+0:112                    2 (const int)
+0:112              Constant:
+0:112                0 (const int)
+0:112                0 (const int)
+0:112                0 (const int)
+0:112            'ballot' ( temp highp 4-component vector of uint)
+0:113      move second child to first child ( temp highp 4-component vector of int)
+0:113        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:113          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113            Constant:
+0:113              1 (const int)
+0:113          Constant:
+0:113            1 (const int)
+0:113        Convert bool to int ( temp highp 4-component vector of int)
+0:113          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:113            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:113              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:113                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:113                  Constant:
+0:113                    1 (const int)
+0:113                Constant:
+0:113                  1 (const int)
+0:113              Constant:
+0:113                0 (const int)
+0:113                0 (const int)
+0:113                0 (const int)
+0:113                0 (const int)
+0:113            'ballot' ( temp highp 4-component vector of uint)
+0:115      move second child to first child ( temp highp int)
+0:115        direct index ( temp highp int)
+0:115          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:115            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115              Constant:
+0:115                1 (const int)
+0:115            Constant:
+0:115              1 (const int)
+0:115          Constant:
+0:115            0 (const int)
+0:115        ERROR: Bad aggregation op
+ ( global highp int)
+0:115          direct index ( temp highp int)
+0:115            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:115                Constant:
+0:115                  0 (const int)
+0:115              Constant:
+0:115                1 (const int)
+0:115            Constant:
+0:115              0 (const int)
+0:115          'ballot' ( temp highp 4-component vector of uint)
+0:116      move second child to first child ( temp highp 2-component vector of int)
+0:116        vector swizzle ( temp highp 2-component vector of int)
+0:116          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:116            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116              Constant:
+0:116                1 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:116          vector swizzle ( temp highp 2-component vector of int)
+0:116            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:116              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:116                Constant:
+0:116                  1 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116            Sequence
+0:116              Constant:
+0:116                0 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:116          'ballot' ( temp highp 4-component vector of uint)
+0:117      move second child to first child ( temp highp 3-component vector of int)
+0:117        vector swizzle ( temp highp 3-component vector of int)
+0:117          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:117            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:117              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:117              Constant:
+0:117                1 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117          Sequence
+0:117            Constant:
+0:117              0 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117            Constant:
+0:117              2 (const int)
+0:117        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:117          vector swizzle ( temp highp 3-component vector of int)
+0:117            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:117              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:117                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:117                Constant:
+0:117                  2 (const int)
+0:117              Constant:
+0:117                1 (const int)
+0:117            Sequence
+0:117              Constant:
+0:117                0 (const int)
+0:117              Constant:
+0:117                1 (const int)
+0:117              Constant:
+0:117                2 (const int)
+0:117          'ballot' ( temp highp 4-component vector of uint)
+0:118      move second child to first child ( temp highp 4-component vector of int)
+0:118        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118            Constant:
+0:118              1 (const int)
+0:118          Constant:
+0:118            1 (const int)
+0:118        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:118          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:118            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:118              Constant:
+0:118                3 (const int)
+0:118            Constant:
+0:118              1 (const int)
+0:118          'ballot' ( temp highp 4-component vector of uint)
+0:120      move second child to first child ( temp highp uint)
+0:120        direct index ( temp highp uint)
+0:120          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:120            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120              Constant:
+0:120                2 (const int)
+0:120            Constant:
+0:120              2 (const int)
+0:120          Constant:
+0:120            0 (const int)
+0:120        ERROR: Bad aggregation op
+ ( global highp uint)
+0:120          direct index ( temp highp uint)
+0:120            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:120              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:120                Constant:
+0:120                  0 (const int)
+0:120              Constant:
+0:120                2 (const int)
+0:120            Constant:
+0:120              0 (const int)
+0:120          'ballot' ( temp highp 4-component vector of uint)
+0:121      move second child to first child ( temp highp 2-component vector of uint)
+0:121        vector swizzle ( temp highp 2-component vector of uint)
+0:121          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:121            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121              Constant:
+0:121                2 (const int)
+0:121            Constant:
+0:121              2 (const int)
+0:121          Sequence
+0:121            Constant:
+0:121              0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:121          vector swizzle ( temp highp 2-component vector of uint)
+0:121            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:121              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:121                Constant:
+0:121                  1 (const int)
+0:121              Constant:
+0:121                2 (const int)
+0:121            Sequence
+0:121              Constant:
+0:121                0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:121          'ballot' ( temp highp 4-component vector of uint)
+0:122      move second child to first child ( temp highp 3-component vector of uint)
+0:122        vector swizzle ( temp highp 3-component vector of uint)
+0:122          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:122            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:122              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:122              Constant:
+0:122                2 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:122          Sequence
+0:122            Constant:
+0:122              0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:122        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:122          vector swizzle ( temp highp 3-component vector of uint)
+0:122            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:122              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:122                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:122                Constant:
+0:122                  2 (const int)
+0:122              Constant:
+0:122                2 (const int)
+0:122            Sequence
+0:122              Constant:
+0:122                0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122              Constant:
+0:122                2 (const int)
+0:122          'ballot' ( temp highp 4-component vector of uint)
+0:123      move second child to first child ( temp highp 4-component vector of uint)
+0:123        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:123          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123            Constant:
+0:123              2 (const int)
+0:123          Constant:
+0:123            2 (const int)
+0:123        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:123          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:123            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:123              Constant:
+0:123                3 (const int)
+0:123            Constant:
+0:123              2 (const int)
+0:123          'ballot' ( temp highp 4-component vector of uint)
+0:125      move second child to first child ( temp highp int)
+0:125        direct index ( temp highp int)
+0:125          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:125            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125              Constant:
+0:125                2 (const int)
+0:125            Constant:
+0:125              1 (const int)
+0:125          Constant:
+0:125            0 (const int)
+0:125        Convert bool to int ( temp highp int)
+0:125          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:125            Compare Less Than ( temp bool)
+0:125              direct index ( temp highp int)
+0:125                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:125                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:125                    Constant:
+0:125                      0 (const int)
+0:125                  Constant:
+0:125                    1 (const int)
+0:125                Constant:
+0:125                  0 (const int)
+0:125              Constant:
+0:125                0 (const int)
+0:125            'ballot' ( temp highp 4-component vector of uint)
+0:126      move second child to first child ( temp highp 2-component vector of int)
+0:126        vector swizzle ( temp highp 2-component vector of int)
+0:126          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:126            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126              Constant:
+0:126                2 (const int)
+0:126            Constant:
+0:126              1 (const int)
+0:126          Sequence
+0:126            Constant:
+0:126              0 (const int)
+0:126            Constant:
+0:126              1 (const int)
+0:126        Convert bool to int ( temp highp 2-component vector of int)
+0:126          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:126            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:126              vector swizzle ( temp highp 2-component vector of int)
+0:126                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:126                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:126                    Constant:
+0:126                      1 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126                Sequence
+0:126                  Constant:
+0:126                    0 (const int)
+0:126                  Constant:
+0:126                    1 (const int)
+0:126              Constant:
+0:126                0 (const int)
+0:126                0 (const int)
+0:126            'ballot' ( temp highp 4-component vector of uint)
+0:127      move second child to first child ( temp highp 3-component vector of int)
+0:127        vector swizzle ( temp highp 3-component vector of int)
+0:127          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:127            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:127              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:127              Constant:
+0:127                2 (const int)
+0:127            Constant:
+0:127              1 (const int)
+0:127          Sequence
+0:127            Constant:
+0:127              0 (const int)
+0:127            Constant:
+0:127              1 (const int)
+0:127            Constant:
+0:127              2 (const int)
+0:127        Convert bool to int ( temp highp 3-component vector of int)
+0:127          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:127            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:127              vector swizzle ( temp highp 3-component vector of int)
+0:127                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:127                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:127                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:127                    Constant:
+0:127                      1 (const int)
+0:127                  Constant:
+0:127                    1 (const int)
+0:127                Sequence
+0:127                  Constant:
+0:127                    0 (const int)
+0:127                  Constant:
+0:127                    1 (const int)
+0:127                  Constant:
+0:127                    2 (const int)
+0:127              Constant:
+0:127                0 (const int)
+0:127                0 (const int)
+0:127                0 (const int)
+0:127            'ballot' ( temp highp 4-component vector of uint)
+0:128      move second child to first child ( temp highp 4-component vector of int)
+0:128        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:128          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128            Constant:
+0:128              2 (const int)
+0:128          Constant:
+0:128            1 (const int)
+0:128        Convert bool to int ( temp highp 4-component vector of int)
+0:128          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:128            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:128              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:128                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:128                  Constant:
+0:128                    1 (const int)
+0:128                Constant:
+0:128                  1 (const int)
+0:128              Constant:
+0:128                0 (const int)
+0:128                0 (const int)
+0:128                0 (const int)
+0:128                0 (const int)
+0:128            'ballot' ( temp highp 4-component vector of uint)
+0:130      move second child to first child ( temp highp int)
+0:130        direct index ( temp highp int)
+0:130          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:130            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130              Constant:
+0:130                2 (const int)
+0:130            Constant:
+0:130              1 (const int)
+0:130          Constant:
+0:130            0 (const int)
+0:130        ERROR: Bad aggregation op
+ ( global highp int)
+0:130          direct index ( temp highp int)
+0:130            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:130              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:130                Constant:
+0:130                  0 (const int)
+0:130              Constant:
+0:130                1 (const int)
+0:130            Constant:
+0:130              0 (const int)
+0:130          'ballot' ( temp highp 4-component vector of uint)
+0:131      move second child to first child ( temp highp 2-component vector of int)
+0:131        vector swizzle ( temp highp 2-component vector of int)
+0:131          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:131            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131              Constant:
+0:131                2 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:131          Sequence
+0:131            Constant:
+0:131              0 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:131        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:131          vector swizzle ( temp highp 2-component vector of int)
+0:131            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:131              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:131                Constant:
+0:131                  1 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131            Sequence
+0:131              Constant:
+0:131                0 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:131          'ballot' ( temp highp 4-component vector of uint)
+0:132      move second child to first child ( temp highp 3-component vector of int)
+0:132        vector swizzle ( temp highp 3-component vector of int)
+0:132          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:132            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:132              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:132              Constant:
+0:132                2 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:132          Sequence
+0:132            Constant:
+0:132              0 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:132            Constant:
+0:132              2 (const int)
+0:132        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:132          vector swizzle ( temp highp 3-component vector of int)
+0:132            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:132              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:132                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:132                Constant:
+0:132                  2 (const int)
+0:132              Constant:
+0:132                1 (const int)
+0:132            Sequence
+0:132              Constant:
+0:132                0 (const int)
+0:132              Constant:
+0:132                1 (const int)
+0:132              Constant:
+0:132                2 (const int)
+0:132          'ballot' ( temp highp 4-component vector of uint)
+0:133      move second child to first child ( temp highp 4-component vector of int)
+0:133        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:133          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133            Constant:
+0:133              2 (const int)
+0:133          Constant:
+0:133            1 (const int)
+0:133        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:133          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:133            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:133              Constant:
+0:133                3 (const int)
+0:133            Constant:
+0:133              1 (const int)
+0:133          'ballot' ( temp highp 4-component vector of uint)
+0:135      move second child to first child ( temp highp uint)
+0:135        direct index ( temp highp uint)
+0:135          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:135            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135              Constant:
+0:135                2 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135          Constant:
+0:135            0 (const int)
+0:135        ERROR: Bad aggregation op
+ ( global highp uint)
+0:135          direct index ( temp highp uint)
+0:135            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:135              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:135                Constant:
+0:135                  0 (const int)
+0:135              Constant:
+0:135                2 (const int)
+0:135            Constant:
+0:135              0 (const int)
+0:135          'ballot' ( temp highp 4-component vector of uint)
+0:136      move second child to first child ( temp highp 2-component vector of uint)
+0:136        vector swizzle ( temp highp 2-component vector of uint)
+0:136          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:136            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136              Constant:
+0:136                2 (const int)
+0:136            Constant:
+0:136              2 (const int)
+0:136          Sequence
+0:136            Constant:
+0:136              0 (const int)
+0:136            Constant:
+0:136              1 (const int)
+0:136        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:136          vector swizzle ( temp highp 2-component vector of uint)
+0:136            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:136              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:136                Constant:
+0:136                  1 (const int)
+0:136              Constant:
+0:136                2 (const int)
+0:136            Sequence
+0:136              Constant:
+0:136                0 (const int)
+0:136              Constant:
+0:136                1 (const int)
+0:136          'ballot' ( temp highp 4-component vector of uint)
+0:137      move second child to first child ( temp highp 3-component vector of uint)
+0:137        vector swizzle ( temp highp 3-component vector of uint)
+0:137          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:137            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:137              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:137              Constant:
+0:137                2 (const int)
+0:137            Constant:
+0:137              2 (const int)
+0:137          Sequence
+0:137            Constant:
+0:137              0 (const int)
+0:137            Constant:
+0:137              1 (const int)
+0:137            Constant:
+0:137              2 (const int)
+0:137        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:137          vector swizzle ( temp highp 3-component vector of uint)
+0:137            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:137              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:137                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:137                Constant:
+0:137                  2 (const int)
+0:137              Constant:
+0:137                2 (const int)
+0:137            Sequence
+0:137              Constant:
+0:137                0 (const int)
+0:137              Constant:
+0:137                1 (const int)
+0:137              Constant:
+0:137                2 (const int)
+0:137          'ballot' ( temp highp 4-component vector of uint)
+0:138      move second child to first child ( temp highp 4-component vector of uint)
+0:138        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:138          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138            Constant:
+0:138              2 (const int)
+0:138          Constant:
+0:138            2 (const int)
+0:138        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:138          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:138            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:138              Constant:
+0:138                3 (const int)
+0:138            Constant:
+0:138              2 (const int)
+0:138          'ballot' ( temp highp 4-component vector of uint)
+0:140      move second child to first child ( temp highp int)
+0:140        direct index ( temp highp int)
+0:140          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:140            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140              Constant:
+0:140                3 (const int)
+0:140            Constant:
+0:140              1 (const int)
+0:140          Constant:
+0:140            0 (const int)
+0:140        Convert bool to int ( temp highp int)
+0:140          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:140            Compare Less Than ( temp bool)
+0:140              direct index ( temp highp int)
+0:140                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:140                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:140                    Constant:
+0:140                      0 (const int)
+0:140                  Constant:
+0:140                    1 (const int)
+0:140                Constant:
+0:140                  0 (const int)
+0:140              Constant:
+0:140                0 (const int)
+0:140            'ballot' ( temp highp 4-component vector of uint)
+0:141      move second child to first child ( temp highp 2-component vector of int)
+0:141        vector swizzle ( temp highp 2-component vector of int)
+0:141          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:141            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141              Constant:
+0:141                3 (const int)
+0:141            Constant:
+0:141              1 (const int)
+0:141          Sequence
+0:141            Constant:
+0:141              0 (const int)
+0:141            Constant:
+0:141              1 (const int)
+0:141        Convert bool to int ( temp highp 2-component vector of int)
+0:141          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:141            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:141              vector swizzle ( temp highp 2-component vector of int)
+0:141                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:141                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:141                    Constant:
+0:141                      1 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141                Sequence
+0:141                  Constant:
+0:141                    0 (const int)
+0:141                  Constant:
+0:141                    1 (const int)
+0:141              Constant:
+0:141                0 (const int)
+0:141                0 (const int)
+0:141            'ballot' ( temp highp 4-component vector of uint)
+0:142      move second child to first child ( temp highp 3-component vector of int)
+0:142        vector swizzle ( temp highp 3-component vector of int)
+0:142          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:142            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:142              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:142              Constant:
+0:142                3 (const int)
+0:142            Constant:
+0:142              1 (const int)
+0:142          Sequence
+0:142            Constant:
+0:142              0 (const int)
+0:142            Constant:
+0:142              1 (const int)
+0:142            Constant:
+0:142              2 (const int)
+0:142        Convert bool to int ( temp highp 3-component vector of int)
+0:142          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:142            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:142              vector swizzle ( temp highp 3-component vector of int)
+0:142                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:142                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:142                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:142                    Constant:
+0:142                      1 (const int)
+0:142                  Constant:
+0:142                    1 (const int)
+0:142                Sequence
+0:142                  Constant:
+0:142                    0 (const int)
+0:142                  Constant:
+0:142                    1 (const int)
+0:142                  Constant:
+0:142                    2 (const int)
+0:142              Constant:
+0:142                0 (const int)
+0:142                0 (const int)
+0:142                0 (const int)
+0:142            'ballot' ( temp highp 4-component vector of uint)
+0:143      move second child to first child ( temp highp 4-component vector of int)
+0:143        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:143          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143            Constant:
+0:143              3 (const int)
+0:143          Constant:
+0:143            1 (const int)
+0:143        Convert bool to int ( temp highp 4-component vector of int)
+0:143          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:143            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:143              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:143                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:143                  Constant:
+0:143                    1 (const int)
+0:143                Constant:
+0:143                  1 (const int)
+0:143              Constant:
+0:143                0 (const int)
+0:143                0 (const int)
+0:143                0 (const int)
+0:143                0 (const int)
+0:143            'ballot' ( temp highp 4-component vector of uint)
+0:145      move second child to first child ( temp highp float)
+0:145        direct index ( temp highp float)
+0:145          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:145            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145              Constant:
+0:145                3 (const int)
+0:145            Constant:
+0:145              0 (const int)
+0:145          Constant:
+0:145            0 (const int)
+0:145        ERROR: Bad aggregation op
+ ( global highp float)
+0:145          direct index ( temp highp float)
+0:145            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:145              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:145                Constant:
+0:145                  0 (const int)
+0:145              Constant:
+0:145                0 (const int)
+0:145            Constant:
+0:145              0 (const int)
+0:145          'ballot' ( temp highp 4-component vector of uint)
+0:146      move second child to first child ( temp highp 2-component vector of float)
+0:146        vector swizzle ( temp highp 2-component vector of float)
+0:146          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:146            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146              Constant:
+0:146                3 (const int)
+0:146            Constant:
+0:146              0 (const int)
+0:146          Sequence
+0:146            Constant:
+0:146              0 (const int)
+0:146            Constant:
+0:146              1 (const int)
+0:146        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:146          vector swizzle ( temp highp 2-component vector of float)
+0:146            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:146              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:146                Constant:
+0:146                  1 (const int)
+0:146              Constant:
+0:146                0 (const int)
+0:146            Sequence
+0:146              Constant:
+0:146                0 (const int)
+0:146              Constant:
+0:146                1 (const int)
+0:146          'ballot' ( temp highp 4-component vector of uint)
+0:147      move second child to first child ( temp highp 3-component vector of float)
+0:147        vector swizzle ( temp highp 3-component vector of float)
+0:147          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:147            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:147              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:147              Constant:
+0:147                3 (const int)
+0:147            Constant:
+0:147              0 (const int)
+0:147          Sequence
+0:147            Constant:
+0:147              0 (const int)
+0:147            Constant:
+0:147              1 (const int)
+0:147            Constant:
+0:147              2 (const int)
+0:147        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:147          vector swizzle ( temp highp 3-component vector of float)
+0:147            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:147              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:147                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:147                Constant:
+0:147                  2 (const int)
+0:147              Constant:
+0:147                0 (const int)
+0:147            Sequence
+0:147              Constant:
+0:147                0 (const int)
+0:147              Constant:
+0:147                1 (const int)
+0:147              Constant:
+0:147                2 (const int)
+0:147          'ballot' ( temp highp 4-component vector of uint)
+0:148      move second child to first child ( temp highp 4-component vector of float)
+0:148        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:148          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148            Constant:
+0:148              3 (const int)
+0:148          Constant:
+0:148            0 (const int)
+0:148        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:148          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:148            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:148              Constant:
+0:148                3 (const int)
+0:148            Constant:
+0:148              0 (const int)
+0:148          'ballot' ( temp highp 4-component vector of uint)
+0:150      move second child to first child ( temp highp int)
+0:150        direct index ( temp highp int)
+0:150          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:150            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150              Constant:
+0:150                3 (const int)
+0:150            Constant:
+0:150              1 (const int)
+0:150          Constant:
+0:150            0 (const int)
+0:150        ERROR: Bad aggregation op
+ ( global highp int)
+0:150          direct index ( temp highp int)
+0:150            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:150              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:150                Constant:
+0:150                  0 (const int)
+0:150              Constant:
+0:150                1 (const int)
+0:150            Constant:
+0:150              0 (const int)
+0:150          'ballot' ( temp highp 4-component vector of uint)
+0:151      move second child to first child ( temp highp 2-component vector of int)
+0:151        vector swizzle ( temp highp 2-component vector of int)
+0:151          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:151            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151              Constant:
+0:151                3 (const int)
+0:151            Constant:
+0:151              1 (const int)
+0:151          Sequence
+0:151            Constant:
+0:151              0 (const int)
+0:151            Constant:
+0:151              1 (const int)
+0:151        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:151          vector swizzle ( temp highp 2-component vector of int)
+0:151            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:151              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:151                Constant:
+0:151                  1 (const int)
+0:151              Constant:
+0:151                1 (const int)
+0:151            Sequence
+0:151              Constant:
+0:151                0 (const int)
+0:151              Constant:
+0:151                1 (const int)
+0:151          'ballot' ( temp highp 4-component vector of uint)
+0:152      move second child to first child ( temp highp 3-component vector of int)
+0:152        vector swizzle ( temp highp 3-component vector of int)
+0:152          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:152            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:152              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:152              Constant:
+0:152                3 (const int)
+0:152            Constant:
+0:152              1 (const int)
+0:152          Sequence
+0:152            Constant:
+0:152              0 (const int)
+0:152            Constant:
+0:152              1 (const int)
+0:152            Constant:
+0:152              2 (const int)
+0:152        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:152          vector swizzle ( temp highp 3-component vector of int)
+0:152            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:152              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:152                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:152                Constant:
+0:152                  2 (const int)
+0:152              Constant:
+0:152                1 (const int)
+0:152            Sequence
+0:152              Constant:
+0:152                0 (const int)
+0:152              Constant:
+0:152                1 (const int)
+0:152              Constant:
+0:152                2 (const int)
+0:152          'ballot' ( temp highp 4-component vector of uint)
+0:153      move second child to first child ( temp highp 4-component vector of int)
+0:153        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:153          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153            Constant:
+0:153              3 (const int)
+0:153          Constant:
+0:153            1 (const int)
+0:153        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:153          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:153            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:153              Constant:
+0:153                3 (const int)
+0:153            Constant:
+0:153              1 (const int)
+0:153          'ballot' ( temp highp 4-component vector of uint)
+0:155      move second child to first child ( temp highp uint)
+0:155        direct index ( temp highp uint)
+0:155          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:155            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155              Constant:
+0:155                3 (const int)
+0:155            Constant:
+0:155              2 (const int)
+0:155          Constant:
+0:155            0 (const int)
+0:155        ERROR: Bad aggregation op
+ ( global highp uint)
+0:155          direct index ( temp highp uint)
+0:155            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:155              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:155                Constant:
+0:155                  0 (const int)
+0:155              Constant:
+0:155                2 (const int)
+0:155            Constant:
+0:155              0 (const int)
+0:155          'ballot' ( temp highp 4-component vector of uint)
+0:156      move second child to first child ( temp highp 2-component vector of uint)
+0:156        vector swizzle ( temp highp 2-component vector of uint)
+0:156          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:156            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156              Constant:
+0:156                3 (const int)
+0:156            Constant:
+0:156              2 (const int)
+0:156          Sequence
+0:156            Constant:
+0:156              0 (const int)
+0:156            Constant:
+0:156              1 (const int)
+0:156        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:156          vector swizzle ( temp highp 2-component vector of uint)
+0:156            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:156              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:156                Constant:
+0:156                  1 (const int)
+0:156              Constant:
+0:156                2 (const int)
+0:156            Sequence
+0:156              Constant:
+0:156                0 (const int)
+0:156              Constant:
+0:156                1 (const int)
+0:156          'ballot' ( temp highp 4-component vector of uint)
+0:157      move second child to first child ( temp highp 3-component vector of uint)
+0:157        vector swizzle ( temp highp 3-component vector of uint)
+0:157          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:157            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:157              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:157              Constant:
+0:157                3 (const int)
+0:157            Constant:
+0:157              2 (const int)
+0:157          Sequence
+0:157            Constant:
+0:157              0 (const int)
+0:157            Constant:
+0:157              1 (const int)
+0:157            Constant:
+0:157              2 (const int)
+0:157        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:157          vector swizzle ( temp highp 3-component vector of uint)
+0:157            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:157              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:157                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:157                Constant:
+0:157                  2 (const int)
+0:157              Constant:
+0:157                2 (const int)
+0:157            Sequence
+0:157              Constant:
+0:157                0 (const int)
+0:157              Constant:
+0:157                1 (const int)
+0:157              Constant:
+0:157                2 (const int)
+0:157          'ballot' ( temp highp 4-component vector of uint)
+0:158      move second child to first child ( temp highp 4-component vector of uint)
+0:158        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:158          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158            Constant:
+0:158              3 (const int)
+0:158          Constant:
+0:158            2 (const int)
+0:158        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:158          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:158            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:158              Constant:
+0:158                3 (const int)
+0:158            Constant:
+0:158              2 (const int)
+0:158          'ballot' ( temp highp 4-component vector of uint)
+0:160      move second child to first child ( temp highp float)
+0:160        direct index ( temp highp float)
+0:160          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:160            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160              Constant:
+0:160                3 (const int)
+0:160            Constant:
+0:160              0 (const int)
+0:160          Constant:
+0:160            0 (const int)
+0:160        ERROR: Bad aggregation op
+ ( global highp float)
+0:160          direct index ( temp highp float)
+0:160            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:160              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:160                Constant:
+0:160                  0 (const int)
+0:160              Constant:
+0:160                0 (const int)
+0:160            Constant:
+0:160              0 (const int)
+0:160          'ballot' ( temp highp 4-component vector of uint)
+0:161      move second child to first child ( temp highp 2-component vector of float)
+0:161        vector swizzle ( temp highp 2-component vector of float)
+0:161          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:161            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161              Constant:
+0:161                3 (const int)
+0:161            Constant:
+0:161              0 (const int)
+0:161          Sequence
+0:161            Constant:
+0:161              0 (const int)
+0:161            Constant:
+0:161              1 (const int)
+0:161        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:161          vector swizzle ( temp highp 2-component vector of float)
+0:161            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:161              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:161                Constant:
+0:161                  1 (const int)
+0:161              Constant:
+0:161                0 (const int)
+0:161            Sequence
+0:161              Constant:
+0:161                0 (const int)
+0:161              Constant:
+0:161                1 (const int)
+0:161          'ballot' ( temp highp 4-component vector of uint)
+0:162      move second child to first child ( temp highp 3-component vector of float)
+0:162        vector swizzle ( temp highp 3-component vector of float)
+0:162          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:162            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:162              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:162              Constant:
+0:162                3 (const int)
+0:162            Constant:
+0:162              0 (const int)
+0:162          Sequence
+0:162            Constant:
+0:162              0 (const int)
+0:162            Constant:
+0:162              1 (const int)
+0:162            Constant:
+0:162              2 (const int)
+0:162        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:162          vector swizzle ( temp highp 3-component vector of float)
+0:162            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:162              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:162                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:162                Constant:
+0:162                  2 (const int)
+0:162              Constant:
+0:162                0 (const int)
+0:162            Sequence
+0:162              Constant:
+0:162                0 (const int)
+0:162              Constant:
+0:162                1 (const int)
+0:162              Constant:
+0:162                2 (const int)
+0:162          'ballot' ( temp highp 4-component vector of uint)
+0:163      move second child to first child ( temp highp 4-component vector of float)
+0:163        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:163          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163            Constant:
+0:163              3 (const int)
+0:163          Constant:
+0:163            0 (const int)
+0:163        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:163          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:163            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:163              Constant:
+0:163                3 (const int)
+0:163            Constant:
+0:163              0 (const int)
+0:163          'ballot' ( temp highp 4-component vector of uint)
+0:165      move second child to first child ( temp highp int)
+0:165        direct index ( temp highp int)
+0:165          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:165            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165              Constant:
+0:165                3 (const int)
+0:165            Constant:
+0:165              1 (const int)
+0:165          Constant:
+0:165            0 (const int)
+0:165        ERROR: Bad aggregation op
+ ( global highp int)
+0:165          direct index ( temp highp int)
+0:165            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:165              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:165                Constant:
+0:165                  0 (const int)
+0:165              Constant:
+0:165                1 (const int)
+0:165            Constant:
+0:165              0 (const int)
+0:165          'ballot' ( temp highp 4-component vector of uint)
+0:166      move second child to first child ( temp highp 2-component vector of int)
+0:166        vector swizzle ( temp highp 2-component vector of int)
+0:166          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:166            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166              Constant:
+0:166                3 (const int)
+0:166            Constant:
+0:166              1 (const int)
+0:166          Sequence
+0:166            Constant:
+0:166              0 (const int)
+0:166            Constant:
+0:166              1 (const int)
+0:166        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:166          vector swizzle ( temp highp 2-component vector of int)
+0:166            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:166              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:166                Constant:
+0:166                  1 (const int)
+0:166              Constant:
+0:166                1 (const int)
+0:166            Sequence
+0:166              Constant:
+0:166                0 (const int)
+0:166              Constant:
+0:166                1 (const int)
+0:166          'ballot' ( temp highp 4-component vector of uint)
+0:167      move second child to first child ( temp highp 3-component vector of int)
+0:167        vector swizzle ( temp highp 3-component vector of int)
+0:167          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:167            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:167              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:167              Constant:
+0:167                3 (const int)
+0:167            Constant:
+0:167              1 (const int)
+0:167          Sequence
+0:167            Constant:
+0:167              0 (const int)
+0:167            Constant:
+0:167              1 (const int)
+0:167            Constant:
+0:167              2 (const int)
+0:167        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:167          vector swizzle ( temp highp 3-component vector of int)
+0:167            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:167              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:167                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:167                Constant:
+0:167                  2 (const int)
+0:167              Constant:
+0:167                1 (const int)
+0:167            Sequence
+0:167              Constant:
+0:167                0 (const int)
+0:167              Constant:
+0:167                1 (const int)
+0:167              Constant:
+0:167                2 (const int)
+0:167          'ballot' ( temp highp 4-component vector of uint)
+0:168      move second child to first child ( temp highp 4-component vector of int)
+0:168        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:168          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168            Constant:
+0:168              3 (const int)
+0:168          Constant:
+0:168            1 (const int)
+0:168        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:168          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:168            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:168              Constant:
+0:168                3 (const int)
+0:168            Constant:
+0:168              1 (const int)
+0:168          'ballot' ( temp highp 4-component vector of uint)
+0:170      move second child to first child ( temp highp uint)
+0:170        direct index ( temp highp uint)
+0:170          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:170            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170              Constant:
+0:170                0 (const int)
+0:170            Constant:
+0:170              2 (const int)
+0:170          Constant:
+0:170            0 (const int)
+0:170        ERROR: Bad aggregation op
+ ( global highp uint)
+0:170          direct index ( temp highp uint)
+0:170            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:170              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:170                Constant:
+0:170                  0 (const int)
+0:170              Constant:
+0:170                2 (const int)
+0:170            Constant:
+0:170              0 (const int)
+0:170          'ballot' ( temp highp 4-component vector of uint)
+0:171      move second child to first child ( temp highp 2-component vector of uint)
+0:171        vector swizzle ( temp highp 2-component vector of uint)
+0:171          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:171            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171              Constant:
+0:171                0 (const int)
+0:171            Constant:
+0:171              2 (const int)
+0:171          Sequence
+0:171            Constant:
+0:171              0 (const int)
+0:171            Constant:
+0:171              1 (const int)
+0:171        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:171          vector swizzle ( temp highp 2-component vector of uint)
+0:171            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:171              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:171                Constant:
+0:171                  1 (const int)
+0:171              Constant:
+0:171                2 (const int)
+0:171            Sequence
+0:171              Constant:
+0:171                0 (const int)
+0:171              Constant:
+0:171                1 (const int)
+0:171          'ballot' ( temp highp 4-component vector of uint)
+0:172      move second child to first child ( temp highp 3-component vector of uint)
+0:172        vector swizzle ( temp highp 3-component vector of uint)
+0:172          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:172            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:172              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:172              Constant:
+0:172                0 (const int)
+0:172            Constant:
+0:172              2 (const int)
+0:172          Sequence
+0:172            Constant:
+0:172              0 (const int)
+0:172            Constant:
+0:172              1 (const int)
+0:172            Constant:
+0:172              2 (const int)
+0:172        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:172          vector swizzle ( temp highp 3-component vector of uint)
+0:172            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:172              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:172                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:172                Constant:
+0:172                  2 (const int)
+0:172              Constant:
+0:172                2 (const int)
+0:172            Sequence
+0:172              Constant:
+0:172                0 (const int)
+0:172              Constant:
+0:172                1 (const int)
+0:172              Constant:
+0:172                2 (const int)
+0:172          'ballot' ( temp highp 4-component vector of uint)
+0:173      move second child to first child ( temp highp 4-component vector of uint)
+0:173        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:173          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173            Constant:
+0:173              0 (const int)
+0:173          Constant:
+0:173            2 (const int)
+0:173        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:173          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:173            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:173              Constant:
+0:173                3 (const int)
+0:173            Constant:
+0:173              2 (const int)
+0:173          'ballot' ( temp highp 4-component vector of uint)
+0:175      move second child to first child ( temp highp float)
+0:175        direct index ( temp highp float)
+0:175          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:175            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175              Constant:
+0:175                0 (const int)
+0:175            Constant:
+0:175              0 (const int)
+0:175          Constant:
+0:175            0 (const int)
+0:175        ERROR: Bad aggregation op
+ ( global highp float)
+0:175          direct index ( temp highp float)
+0:175            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:175              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:175                Constant:
+0:175                  0 (const int)
+0:175              Constant:
+0:175                0 (const int)
+0:175            Constant:
+0:175              0 (const int)
+0:175          'ballot' ( temp highp 4-component vector of uint)
+0:176      move second child to first child ( temp highp 2-component vector of float)
+0:176        vector swizzle ( temp highp 2-component vector of float)
+0:176          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:176            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176              Constant:
+0:176                0 (const int)
+0:176            Constant:
+0:176              0 (const int)
+0:176          Sequence
+0:176            Constant:
+0:176              0 (const int)
+0:176            Constant:
+0:176              1 (const int)
+0:176        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:176          vector swizzle ( temp highp 2-component vector of float)
+0:176            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:176              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:176                Constant:
+0:176                  1 (const int)
+0:176              Constant:
+0:176                0 (const int)
+0:176            Sequence
+0:176              Constant:
+0:176                0 (const int)
+0:176              Constant:
+0:176                1 (const int)
+0:176          'ballot' ( temp highp 4-component vector of uint)
+0:177      move second child to first child ( temp highp 3-component vector of float)
+0:177        vector swizzle ( temp highp 3-component vector of float)
+0:177          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:177            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:177              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:177              Constant:
+0:177                0 (const int)
+0:177            Constant:
+0:177              0 (const int)
+0:177          Sequence
+0:177            Constant:
+0:177              0 (const int)
+0:177            Constant:
+0:177              1 (const int)
+0:177            Constant:
+0:177              2 (const int)
+0:177        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:177          vector swizzle ( temp highp 3-component vector of float)
+0:177            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:177              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:177                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:177                Constant:
+0:177                  2 (const int)
+0:177              Constant:
+0:177                0 (const int)
+0:177            Sequence
+0:177              Constant:
+0:177                0 (const int)
+0:177              Constant:
+0:177                1 (const int)
+0:177              Constant:
+0:177                2 (const int)
+0:177          'ballot' ( temp highp 4-component vector of uint)
+0:178      move second child to first child ( temp highp 4-component vector of float)
+0:178        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:178          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178            Constant:
+0:178              0 (const int)
+0:178          Constant:
+0:178            0 (const int)
+0:178        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:178          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:178            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:178              Constant:
+0:178                3 (const int)
+0:178            Constant:
+0:178              0 (const int)
+0:178          'ballot' ( temp highp 4-component vector of uint)
+0:180      move second child to first child ( temp highp int)
+0:180        direct index ( temp highp int)
+0:180          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:180            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180              Constant:
+0:180                0 (const int)
+0:180            Constant:
+0:180              1 (const int)
+0:180          Constant:
+0:180            0 (const int)
+0:180        ERROR: Bad aggregation op
+ ( global highp int)
+0:180          direct index ( temp highp int)
+0:180            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:180              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:180                Constant:
+0:180                  0 (const int)
+0:180              Constant:
+0:180                1 (const int)
+0:180            Constant:
+0:180              0 (const int)
+0:180          'ballot' ( temp highp 4-component vector of uint)
+0:181      move second child to first child ( temp highp 2-component vector of int)
+0:181        vector swizzle ( temp highp 2-component vector of int)
+0:181          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:181            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181              Constant:
+0:181                0 (const int)
+0:181            Constant:
+0:181              1 (const int)
+0:181          Sequence
+0:181            Constant:
+0:181              0 (const int)
+0:181            Constant:
+0:181              1 (const int)
+0:181        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:181          vector swizzle ( temp highp 2-component vector of int)
+0:181            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:181              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:181                Constant:
+0:181                  1 (const int)
+0:181              Constant:
+0:181                1 (const int)
+0:181            Sequence
+0:181              Constant:
+0:181                0 (const int)
+0:181              Constant:
+0:181                1 (const int)
+0:181          'ballot' ( temp highp 4-component vector of uint)
+0:182      move second child to first child ( temp highp 3-component vector of int)
+0:182        vector swizzle ( temp highp 3-component vector of int)
+0:182          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:182            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:182              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:182              Constant:
+0:182                0 (const int)
+0:182            Constant:
+0:182              1 (const int)
+0:182          Sequence
+0:182            Constant:
+0:182              0 (const int)
+0:182            Constant:
+0:182              1 (const int)
+0:182            Constant:
+0:182              2 (const int)
+0:182        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:182          vector swizzle ( temp highp 3-component vector of int)
+0:182            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:182              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:182                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:182                Constant:
+0:182                  2 (const int)
+0:182              Constant:
+0:182                1 (const int)
+0:182            Sequence
+0:182              Constant:
+0:182                0 (const int)
+0:182              Constant:
+0:182                1 (const int)
+0:182              Constant:
+0:182                2 (const int)
+0:182          'ballot' ( temp highp 4-component vector of uint)
+0:183      move second child to first child ( temp highp 4-component vector of int)
+0:183        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:183          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183            Constant:
+0:183              0 (const int)
+0:183          Constant:
+0:183            1 (const int)
+0:183        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:183          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:183            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:183              Constant:
+0:183                3 (const int)
+0:183            Constant:
+0:183              1 (const int)
+0:183          'ballot' ( temp highp 4-component vector of uint)
+0:185      move second child to first child ( temp highp uint)
+0:185        direct index ( temp highp uint)
+0:185          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:185            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185              Constant:
+0:185                0 (const int)
+0:185            Constant:
+0:185              2 (const int)
+0:185          Constant:
+0:185            0 (const int)
+0:185        ERROR: Bad aggregation op
+ ( global highp uint)
+0:185          direct index ( temp highp uint)
+0:185            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:185              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:185                Constant:
+0:185                  0 (const int)
+0:185              Constant:
+0:185                2 (const int)
+0:185            Constant:
+0:185              0 (const int)
+0:185          'ballot' ( temp highp 4-component vector of uint)
+0:186      move second child to first child ( temp highp 2-component vector of uint)
+0:186        vector swizzle ( temp highp 2-component vector of uint)
+0:186          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:186            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186              Constant:
+0:186                0 (const int)
+0:186            Constant:
+0:186              2 (const int)
+0:186          Sequence
+0:186            Constant:
+0:186              0 (const int)
+0:186            Constant:
+0:186              1 (const int)
+0:186        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:186          vector swizzle ( temp highp 2-component vector of uint)
+0:186            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:186              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:186                Constant:
+0:186                  1 (const int)
+0:186              Constant:
+0:186                2 (const int)
+0:186            Sequence
+0:186              Constant:
+0:186                0 (const int)
+0:186              Constant:
+0:186                1 (const int)
+0:186          'ballot' ( temp highp 4-component vector of uint)
+0:187      move second child to first child ( temp highp 3-component vector of uint)
+0:187        vector swizzle ( temp highp 3-component vector of uint)
+0:187          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:187            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:187              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:187              Constant:
+0:187                0 (const int)
+0:187            Constant:
+0:187              2 (const int)
+0:187          Sequence
+0:187            Constant:
+0:187              0 (const int)
+0:187            Constant:
+0:187              1 (const int)
+0:187            Constant:
+0:187              2 (const int)
+0:187        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:187          vector swizzle ( temp highp 3-component vector of uint)
+0:187            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:187              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:187                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:187                Constant:
+0:187                  2 (const int)
+0:187              Constant:
+0:187                2 (const int)
+0:187            Sequence
+0:187              Constant:
+0:187                0 (const int)
+0:187              Constant:
+0:187                1 (const int)
+0:187              Constant:
+0:187                2 (const int)
+0:187          'ballot' ( temp highp 4-component vector of uint)
+0:188      move second child to first child ( temp highp 4-component vector of uint)
+0:188        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:188          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188            Constant:
+0:188              0 (const int)
+0:188          Constant:
+0:188            2 (const int)
+0:188        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:188          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:188            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:188              Constant:
+0:188                3 (const int)
+0:188            Constant:
+0:188              2 (const int)
+0:188          'ballot' ( temp highp 4-component vector of uint)
+0:190      move second child to first child ( temp highp float)
+0:190        direct index ( temp highp float)
+0:190          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:190            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190              Constant:
+0:190                1 (const int)
+0:190            Constant:
+0:190              0 (const int)
+0:190          Constant:
+0:190            0 (const int)
+0:190        ERROR: Bad aggregation op
+ ( global highp float)
+0:190          direct index ( temp highp float)
+0:190            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:190              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:190                Constant:
+0:190                  0 (const int)
+0:190              Constant:
+0:190                0 (const int)
+0:190            Constant:
+0:190              0 (const int)
+0:190          'ballot' ( temp highp 4-component vector of uint)
+0:191      move second child to first child ( temp highp 2-component vector of float)
+0:191        vector swizzle ( temp highp 2-component vector of float)
+0:191          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:191            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191              Constant:
+0:191                1 (const int)
+0:191            Constant:
+0:191              0 (const int)
+0:191          Sequence
+0:191            Constant:
+0:191              0 (const int)
+0:191            Constant:
+0:191              1 (const int)
+0:191        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:191          vector swizzle ( temp highp 2-component vector of float)
+0:191            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:191              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:191                Constant:
+0:191                  1 (const int)
+0:191              Constant:
+0:191                0 (const int)
+0:191            Sequence
+0:191              Constant:
+0:191                0 (const int)
+0:191              Constant:
+0:191                1 (const int)
+0:191          'ballot' ( temp highp 4-component vector of uint)
+0:192      move second child to first child ( temp highp 3-component vector of float)
+0:192        vector swizzle ( temp highp 3-component vector of float)
+0:192          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:192            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:192              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:192              Constant:
+0:192                1 (const int)
+0:192            Constant:
+0:192              0 (const int)
+0:192          Sequence
+0:192            Constant:
+0:192              0 (const int)
+0:192            Constant:
+0:192              1 (const int)
+0:192            Constant:
+0:192              2 (const int)
+0:192        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:192          vector swizzle ( temp highp 3-component vector of float)
+0:192            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:192              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:192                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:192                Constant:
+0:192                  2 (const int)
+0:192              Constant:
+0:192                0 (const int)
+0:192            Sequence
+0:192              Constant:
+0:192                0 (const int)
+0:192              Constant:
+0:192                1 (const int)
+0:192              Constant:
+0:192                2 (const int)
+0:192          'ballot' ( temp highp 4-component vector of uint)
+0:193      move second child to first child ( temp highp 4-component vector of float)
+0:193        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:193          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193            Constant:
+0:193              1 (const int)
+0:193          Constant:
+0:193            0 (const int)
+0:193        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:193          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:193            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:193              Constant:
+0:193                3 (const int)
+0:193            Constant:
+0:193              0 (const int)
+0:193          'ballot' ( temp highp 4-component vector of uint)
+0:195      move second child to first child ( temp highp int)
+0:195        direct index ( temp highp int)
+0:195          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:195            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195              Constant:
+0:195                1 (const int)
+0:195            Constant:
+0:195              1 (const int)
+0:195          Constant:
+0:195            0 (const int)
+0:195        ERROR: Bad aggregation op
+ ( global highp int)
+0:195          direct index ( temp highp int)
+0:195            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:195              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:195                Constant:
+0:195                  0 (const int)
+0:195              Constant:
+0:195                1 (const int)
+0:195            Constant:
+0:195              0 (const int)
+0:195          'ballot' ( temp highp 4-component vector of uint)
+0:196      move second child to first child ( temp highp 2-component vector of int)
+0:196        vector swizzle ( temp highp 2-component vector of int)
+0:196          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:196            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196              Constant:
+0:196                1 (const int)
+0:196            Constant:
+0:196              1 (const int)
+0:196          Sequence
+0:196            Constant:
+0:196              0 (const int)
+0:196            Constant:
+0:196              1 (const int)
+0:196        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:196          vector swizzle ( temp highp 2-component vector of int)
+0:196            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:196              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:196                Constant:
+0:196                  1 (const int)
+0:196              Constant:
+0:196                1 (const int)
+0:196            Sequence
+0:196              Constant:
+0:196                0 (const int)
+0:196              Constant:
+0:196                1 (const int)
+0:196          'ballot' ( temp highp 4-component vector of uint)
+0:197      move second child to first child ( temp highp 3-component vector of int)
+0:197        vector swizzle ( temp highp 3-component vector of int)
+0:197          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:197            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:197              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:197              Constant:
+0:197                1 (const int)
+0:197            Constant:
+0:197              1 (const int)
+0:197          Sequence
+0:197            Constant:
+0:197              0 (const int)
+0:197            Constant:
+0:197              1 (const int)
+0:197            Constant:
+0:197              2 (const int)
+0:197        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:197          vector swizzle ( temp highp 3-component vector of int)
+0:197            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:197              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:197                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:197                Constant:
+0:197                  2 (const int)
+0:197              Constant:
+0:197                1 (const int)
+0:197            Sequence
+0:197              Constant:
+0:197                0 (const int)
+0:197              Constant:
+0:197                1 (const int)
+0:197              Constant:
+0:197                2 (const int)
+0:197          'ballot' ( temp highp 4-component vector of uint)
+0:198      move second child to first child ( temp highp 4-component vector of int)
+0:198        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:198          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198            Constant:
+0:198              1 (const int)
+0:198          Constant:
+0:198            1 (const int)
+0:198        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:198          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:198            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:198              Constant:
+0:198                3 (const int)
+0:198            Constant:
+0:198              1 (const int)
+0:198          'ballot' ( temp highp 4-component vector of uint)
+0:200      move second child to first child ( temp highp uint)
+0:200        direct index ( temp highp uint)
+0:200          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:200            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200              Constant:
+0:200                1 (const int)
+0:200            Constant:
+0:200              2 (const int)
+0:200          Constant:
+0:200            0 (const int)
+0:200        ERROR: Bad aggregation op
+ ( global highp uint)
+0:200          direct index ( temp highp uint)
+0:200            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:200              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:200                Constant:
+0:200                  0 (const int)
+0:200              Constant:
+0:200                2 (const int)
+0:200            Constant:
+0:200              0 (const int)
+0:200          'ballot' ( temp highp 4-component vector of uint)
+0:201      move second child to first child ( temp highp 2-component vector of uint)
+0:201        vector swizzle ( temp highp 2-component vector of uint)
+0:201          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:201            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201              Constant:
+0:201                1 (const int)
+0:201            Constant:
+0:201              2 (const int)
+0:201          Sequence
+0:201            Constant:
+0:201              0 (const int)
+0:201            Constant:
+0:201              1 (const int)
+0:201        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:201          vector swizzle ( temp highp 2-component vector of uint)
+0:201            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:201              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:201                Constant:
+0:201                  1 (const int)
+0:201              Constant:
+0:201                2 (const int)
+0:201            Sequence
+0:201              Constant:
+0:201                0 (const int)
+0:201              Constant:
+0:201                1 (const int)
+0:201          'ballot' ( temp highp 4-component vector of uint)
+0:202      move second child to first child ( temp highp 3-component vector of uint)
+0:202        vector swizzle ( temp highp 3-component vector of uint)
+0:202          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:202            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:202              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:202              Constant:
+0:202                1 (const int)
+0:202            Constant:
+0:202              2 (const int)
+0:202          Sequence
+0:202            Constant:
+0:202              0 (const int)
+0:202            Constant:
+0:202              1 (const int)
+0:202            Constant:
+0:202              2 (const int)
+0:202        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:202          vector swizzle ( temp highp 3-component vector of uint)
+0:202            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:202              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:202                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:202                Constant:
+0:202                  2 (const int)
+0:202              Constant:
+0:202                2 (const int)
+0:202            Sequence
+0:202              Constant:
+0:202                0 (const int)
+0:202              Constant:
+0:202                1 (const int)
+0:202              Constant:
+0:202                2 (const int)
+0:202          'ballot' ( temp highp 4-component vector of uint)
+0:203      move second child to first child ( temp highp 4-component vector of uint)
+0:203        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:203          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203            Constant:
+0:203              1 (const int)
+0:203          Constant:
+0:203            2 (const int)
+0:203        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:203          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:203            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:203              Constant:
+0:203                3 (const int)
+0:203            Constant:
+0:203              2 (const int)
+0:203          'ballot' ( temp highp 4-component vector of uint)
+0:205      move second child to first child ( temp highp int)
+0:205        direct index ( temp highp int)
+0:205          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:205            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205              Constant:
+0:205                1 (const int)
+0:205            Constant:
+0:205              1 (const int)
+0:205          Constant:
+0:205            0 (const int)
+0:205        ERROR: Bad aggregation op
+ ( global highp int)
+0:205          direct index ( temp highp int)
+0:205            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:205              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:205                Constant:
+0:205                  0 (const int)
+0:205              Constant:
+0:205                1 (const int)
+0:205            Constant:
+0:205              0 (const int)
+0:205          'ballot' ( temp highp 4-component vector of uint)
+0:206      move second child to first child ( temp highp 2-component vector of int)
+0:206        vector swizzle ( temp highp 2-component vector of int)
+0:206          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:206            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206              Constant:
+0:206                1 (const int)
+0:206            Constant:
+0:206              1 (const int)
+0:206          Sequence
+0:206            Constant:
+0:206              0 (const int)
+0:206            Constant:
+0:206              1 (const int)
+0:206        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:206          vector swizzle ( temp highp 2-component vector of int)
+0:206            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:206              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:206                Constant:
+0:206                  1 (const int)
+0:206              Constant:
+0:206                1 (const int)
+0:206            Sequence
+0:206              Constant:
+0:206                0 (const int)
+0:206              Constant:
+0:206                1 (const int)
+0:206          'ballot' ( temp highp 4-component vector of uint)
+0:207      move second child to first child ( temp highp 3-component vector of int)
+0:207        vector swizzle ( temp highp 3-component vector of int)
+0:207          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:207            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:207              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:207              Constant:
+0:207                1 (const int)
+0:207            Constant:
+0:207              1 (const int)
+0:207          Sequence
+0:207            Constant:
+0:207              0 (const int)
+0:207            Constant:
+0:207              1 (const int)
+0:207            Constant:
+0:207              2 (const int)
+0:207        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:207          vector swizzle ( temp highp 3-component vector of int)
+0:207            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:207              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:207                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:207                Constant:
+0:207                  2 (const int)
+0:207              Constant:
+0:207                1 (const int)
+0:207            Sequence
+0:207              Constant:
+0:207                0 (const int)
+0:207              Constant:
+0:207                1 (const int)
+0:207              Constant:
+0:207                2 (const int)
+0:207          'ballot' ( temp highp 4-component vector of uint)
+0:208      move second child to first child ( temp highp 4-component vector of int)
+0:208        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:208          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208            Constant:
+0:208              1 (const int)
+0:208          Constant:
+0:208            1 (const int)
+0:208        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:208          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:208            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:208              Constant:
+0:208                3 (const int)
+0:208            Constant:
+0:208              1 (const int)
+0:208          'ballot' ( temp highp 4-component vector of uint)
+0:210      move second child to first child ( temp highp uint)
+0:210        direct index ( temp highp uint)
+0:210          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:210            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210              Constant:
+0:210                2 (const int)
+0:210            Constant:
+0:210              2 (const int)
+0:210          Constant:
+0:210            0 (const int)
+0:210        ERROR: Bad aggregation op
+ ( global highp uint)
+0:210          direct index ( temp highp uint)
+0:210            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:210              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:210                Constant:
+0:210                  0 (const int)
+0:210              Constant:
+0:210                2 (const int)
+0:210            Constant:
+0:210              0 (const int)
+0:210          'ballot' ( temp highp 4-component vector of uint)
+0:211      move second child to first child ( temp highp 2-component vector of uint)
+0:211        vector swizzle ( temp highp 2-component vector of uint)
+0:211          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:211            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211              Constant:
+0:211                2 (const int)
+0:211            Constant:
+0:211              2 (const int)
+0:211          Sequence
+0:211            Constant:
+0:211              0 (const int)
+0:211            Constant:
+0:211              1 (const int)
+0:211        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:211          vector swizzle ( temp highp 2-component vector of uint)
+0:211            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:211              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:211                Constant:
+0:211                  1 (const int)
+0:211              Constant:
+0:211                2 (const int)
+0:211            Sequence
+0:211              Constant:
+0:211                0 (const int)
+0:211              Constant:
+0:211                1 (const int)
+0:211          'ballot' ( temp highp 4-component vector of uint)
+0:212      move second child to first child ( temp highp 3-component vector of uint)
+0:212        vector swizzle ( temp highp 3-component vector of uint)
+0:212          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:212            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:212              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:212              Constant:
+0:212                2 (const int)
+0:212            Constant:
+0:212              2 (const int)
+0:212          Sequence
+0:212            Constant:
+0:212              0 (const int)
+0:212            Constant:
+0:212              1 (const int)
+0:212            Constant:
+0:212              2 (const int)
+0:212        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:212          vector swizzle ( temp highp 3-component vector of uint)
+0:212            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:212              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:212                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:212                Constant:
+0:212                  2 (const int)
+0:212              Constant:
+0:212                2 (const int)
+0:212            Sequence
+0:212              Constant:
+0:212                0 (const int)
+0:212              Constant:
+0:212                1 (const int)
+0:212              Constant:
+0:212                2 (const int)
+0:212          'ballot' ( temp highp 4-component vector of uint)
+0:213      move second child to first child ( temp highp 4-component vector of uint)
+0:213        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:213          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213            Constant:
+0:213              2 (const int)
+0:213          Constant:
+0:213            2 (const int)
+0:213        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:213          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:213            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:213              Constant:
+0:213                3 (const int)
+0:213            Constant:
+0:213              2 (const int)
+0:213          'ballot' ( temp highp 4-component vector of uint)
+0:215      move second child to first child ( temp highp int)
+0:215        direct index ( temp highp int)
+0:215          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:215            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215              Constant:
+0:215                2 (const int)
+0:215            Constant:
+0:215              1 (const int)
+0:215          Constant:
+0:215            0 (const int)
+0:215        Convert bool to int ( temp highp int)
+0:215          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:215            Compare Less Than ( temp bool)
+0:215              direct index ( temp highp int)
+0:215                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:215                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:215                    Constant:
+0:215                      0 (const int)
+0:215                  Constant:
+0:215                    1 (const int)
+0:215                Constant:
+0:215                  0 (const int)
+0:215              Constant:
+0:215                0 (const int)
+0:215            'ballot' ( temp highp 4-component vector of uint)
+0:216      move second child to first child ( temp highp 2-component vector of int)
+0:216        vector swizzle ( temp highp 2-component vector of int)
+0:216          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:216            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216              Constant:
+0:216                2 (const int)
+0:216            Constant:
+0:216              1 (const int)
+0:216          Sequence
+0:216            Constant:
+0:216              0 (const int)
+0:216            Constant:
+0:216              1 (const int)
+0:216        Convert bool to int ( temp highp 2-component vector of int)
+0:216          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:216            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:216              vector swizzle ( temp highp 2-component vector of int)
+0:216                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:216                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:216                    Constant:
+0:216                      1 (const int)
+0:216                  Constant:
+0:216                    1 (const int)
+0:216                Sequence
+0:216                  Constant:
+0:216                    0 (const int)
+0:216                  Constant:
+0:216                    1 (const int)
+0:216              Constant:
+0:216                0 (const int)
+0:216                0 (const int)
+0:216            'ballot' ( temp highp 4-component vector of uint)
+0:217      move second child to first child ( temp highp 3-component vector of int)
+0:217        vector swizzle ( temp highp 3-component vector of int)
+0:217          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:217            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:217              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:217              Constant:
+0:217                2 (const int)
+0:217            Constant:
+0:217              1 (const int)
+0:217          Sequence
+0:217            Constant:
+0:217              0 (const int)
+0:217            Constant:
+0:217              1 (const int)
+0:217            Constant:
+0:217              2 (const int)
+0:217        Convert bool to int ( temp highp 3-component vector of int)
+0:217          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:217            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:217              vector swizzle ( temp highp 3-component vector of int)
+0:217                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:217                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:217                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:217                    Constant:
+0:217                      1 (const int)
+0:217                  Constant:
+0:217                    1 (const int)
+0:217                Sequence
+0:217                  Constant:
+0:217                    0 (const int)
+0:217                  Constant:
+0:217                    1 (const int)
+0:217                  Constant:
+0:217                    2 (const int)
+0:217              Constant:
+0:217                0 (const int)
+0:217                0 (const int)
+0:217                0 (const int)
+0:217            'ballot' ( temp highp 4-component vector of uint)
+0:218      move second child to first child ( temp highp 4-component vector of int)
+0:218        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:218          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218            Constant:
+0:218              2 (const int)
+0:218          Constant:
+0:218            1 (const int)
+0:218        Convert bool to int ( temp highp 4-component vector of int)
+0:218          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:218            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:218              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:218                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:218                  Constant:
+0:218                    1 (const int)
+0:218                Constant:
+0:218                  1 (const int)
+0:218              Constant:
+0:218                0 (const int)
+0:218                0 (const int)
+0:218                0 (const int)
+0:218                0 (const int)
+0:218            'ballot' ( temp highp 4-component vector of uint)
+0:220      move second child to first child ( temp highp int)
+0:220        direct index ( temp highp int)
+0:220          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:220            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220              Constant:
+0:220                2 (const int)
+0:220            Constant:
+0:220              1 (const int)
+0:220          Constant:
+0:220            0 (const int)
+0:220        ERROR: Bad aggregation op
+ ( global highp int)
+0:220          direct index ( temp highp int)
+0:220            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:220              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:220                Constant:
+0:220                  0 (const int)
+0:220              Constant:
+0:220                1 (const int)
+0:220            Constant:
+0:220              0 (const int)
+0:220          'ballot' ( temp highp 4-component vector of uint)
+0:221      move second child to first child ( temp highp 2-component vector of int)
+0:221        vector swizzle ( temp highp 2-component vector of int)
+0:221          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:221            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221              Constant:
+0:221                2 (const int)
+0:221            Constant:
+0:221              1 (const int)
+0:221          Sequence
+0:221            Constant:
+0:221              0 (const int)
+0:221            Constant:
+0:221              1 (const int)
+0:221        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:221          vector swizzle ( temp highp 2-component vector of int)
+0:221            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:221              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:221                Constant:
+0:221                  1 (const int)
+0:221              Constant:
+0:221                1 (const int)
+0:221            Sequence
+0:221              Constant:
+0:221                0 (const int)
+0:221              Constant:
+0:221                1 (const int)
+0:221          'ballot' ( temp highp 4-component vector of uint)
+0:222      move second child to first child ( temp highp 3-component vector of int)
+0:222        vector swizzle ( temp highp 3-component vector of int)
+0:222          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:222            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:222              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:222              Constant:
+0:222                2 (const int)
+0:222            Constant:
+0:222              1 (const int)
+0:222          Sequence
+0:222            Constant:
+0:222              0 (const int)
+0:222            Constant:
+0:222              1 (const int)
+0:222            Constant:
+0:222              2 (const int)
+0:222        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:222          vector swizzle ( temp highp 3-component vector of int)
+0:222            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:222              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:222                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:222                Constant:
+0:222                  2 (const int)
+0:222              Constant:
+0:222                1 (const int)
+0:222            Sequence
+0:222              Constant:
+0:222                0 (const int)
+0:222              Constant:
+0:222                1 (const int)
+0:222              Constant:
+0:222                2 (const int)
+0:222          'ballot' ( temp highp 4-component vector of uint)
+0:223      move second child to first child ( temp highp 4-component vector of int)
+0:223        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:223          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223            Constant:
+0:223              2 (const int)
+0:223          Constant:
+0:223            1 (const int)
+0:223        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:223          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:223            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:223              Constant:
+0:223                3 (const int)
+0:223            Constant:
+0:223              1 (const int)
+0:223          'ballot' ( temp highp 4-component vector of uint)
+0:225      move second child to first child ( temp highp uint)
+0:225        direct index ( temp highp uint)
+0:225          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:225            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225              Constant:
+0:225                2 (const int)
+0:225            Constant:
+0:225              2 (const int)
+0:225          Constant:
+0:225            0 (const int)
+0:225        ERROR: Bad aggregation op
+ ( global highp uint)
+0:225          direct index ( temp highp uint)
+0:225            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:225              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:225                Constant:
+0:225                  0 (const int)
+0:225              Constant:
+0:225                2 (const int)
+0:225            Constant:
+0:225              0 (const int)
+0:225          'ballot' ( temp highp 4-component vector of uint)
+0:226      move second child to first child ( temp highp 2-component vector of uint)
+0:226        vector swizzle ( temp highp 2-component vector of uint)
+0:226          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:226            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226              Constant:
+0:226                2 (const int)
+0:226            Constant:
+0:226              2 (const int)
+0:226          Sequence
+0:226            Constant:
+0:226              0 (const int)
+0:226            Constant:
+0:226              1 (const int)
+0:226        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:226          vector swizzle ( temp highp 2-component vector of uint)
+0:226            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:226              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:226                Constant:
+0:226                  1 (const int)
+0:226              Constant:
+0:226                2 (const int)
+0:226            Sequence
+0:226              Constant:
+0:226                0 (const int)
+0:226              Constant:
+0:226                1 (const int)
+0:226          'ballot' ( temp highp 4-component vector of uint)
+0:227      move second child to first child ( temp highp 3-component vector of uint)
+0:227        vector swizzle ( temp highp 3-component vector of uint)
+0:227          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:227            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:227              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:227              Constant:
+0:227                2 (const int)
+0:227            Constant:
+0:227              2 (const int)
+0:227          Sequence
+0:227            Constant:
+0:227              0 (const int)
+0:227            Constant:
+0:227              1 (const int)
+0:227            Constant:
+0:227              2 (const int)
+0:227        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:227          vector swizzle ( temp highp 3-component vector of uint)
+0:227            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:227              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:227                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:227                Constant:
+0:227                  2 (const int)
+0:227              Constant:
+0:227                2 (const int)
+0:227            Sequence
+0:227              Constant:
+0:227                0 (const int)
+0:227              Constant:
+0:227                1 (const int)
+0:227              Constant:
+0:227                2 (const int)
+0:227          'ballot' ( temp highp 4-component vector of uint)
+0:228      move second child to first child ( temp highp 4-component vector of uint)
+0:228        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:228          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228            Constant:
+0:228              2 (const int)
+0:228          Constant:
+0:228            2 (const int)
+0:228        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:228          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:228            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:228              Constant:
+0:228                3 (const int)
+0:228            Constant:
+0:228              2 (const int)
+0:228          'ballot' ( temp highp 4-component vector of uint)
+0:230      move second child to first child ( temp highp int)
+0:230        direct index ( temp highp int)
+0:230          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:230            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230              Constant:
+0:230                3 (const int)
+0:230            Constant:
+0:230              1 (const int)
+0:230          Constant:
+0:230            0 (const int)
+0:230        Convert bool to int ( temp highp int)
+0:230          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:230            Compare Less Than ( temp bool)
+0:230              direct index ( temp highp int)
+0:230                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:230                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:230                    Constant:
+0:230                      0 (const int)
+0:230                  Constant:
+0:230                    1 (const int)
+0:230                Constant:
+0:230                  0 (const int)
+0:230              Constant:
+0:230                0 (const int)
+0:230            'ballot' ( temp highp 4-component vector of uint)
+0:231      move second child to first child ( temp highp 2-component vector of int)
+0:231        vector swizzle ( temp highp 2-component vector of int)
+0:231          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:231            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231              Constant:
+0:231                3 (const int)
+0:231            Constant:
+0:231              1 (const int)
+0:231          Sequence
+0:231            Constant:
+0:231              0 (const int)
+0:231            Constant:
+0:231              1 (const int)
+0:231        Convert bool to int ( temp highp 2-component vector of int)
+0:231          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:231            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:231              vector swizzle ( temp highp 2-component vector of int)
+0:231                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:231                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:231                    Constant:
+0:231                      1 (const int)
+0:231                  Constant:
+0:231                    1 (const int)
+0:231                Sequence
+0:231                  Constant:
+0:231                    0 (const int)
+0:231                  Constant:
+0:231                    1 (const int)
+0:231              Constant:
+0:231                0 (const int)
+0:231                0 (const int)
+0:231            'ballot' ( temp highp 4-component vector of uint)
+0:232      move second child to first child ( temp highp 3-component vector of int)
+0:232        vector swizzle ( temp highp 3-component vector of int)
+0:232          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:232            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:232              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:232              Constant:
+0:232                3 (const int)
+0:232            Constant:
+0:232              1 (const int)
+0:232          Sequence
+0:232            Constant:
+0:232              0 (const int)
+0:232            Constant:
+0:232              1 (const int)
+0:232            Constant:
+0:232              2 (const int)
+0:232        Convert bool to int ( temp highp 3-component vector of int)
+0:232          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:232            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:232              vector swizzle ( temp highp 3-component vector of int)
+0:232                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:232                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:232                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:232                    Constant:
+0:232                      1 (const int)
+0:232                  Constant:
+0:232                    1 (const int)
+0:232                Sequence
+0:232                  Constant:
+0:232                    0 (const int)
+0:232                  Constant:
+0:232                    1 (const int)
+0:232                  Constant:
+0:232                    2 (const int)
+0:232              Constant:
+0:232                0 (const int)
+0:232                0 (const int)
+0:232                0 (const int)
+0:232            'ballot' ( temp highp 4-component vector of uint)
+0:233      move second child to first child ( temp highp 4-component vector of int)
+0:233        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:233          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233            Constant:
+0:233              3 (const int)
+0:233          Constant:
+0:233            1 (const int)
+0:233        Convert bool to int ( temp highp 4-component vector of int)
+0:233          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:233            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:233              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:233                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:233                  Constant:
+0:233                    1 (const int)
+0:233                Constant:
+0:233                  1 (const int)
+0:233              Constant:
+0:233                0 (const int)
+0:233                0 (const int)
+0:233                0 (const int)
+0:233                0 (const int)
+0:233            'ballot' ( temp highp 4-component vector of uint)
+0:235      move second child to first child ( temp highp int)
+0:235        direct index ( temp highp int)
+0:235          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:235            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235              Constant:
+0:235                3 (const int)
+0:235            Constant:
+0:235              1 (const int)
+0:235          Constant:
+0:235            0 (const int)
+0:235        ERROR: Bad aggregation op
+ ( global highp int)
+0:235          direct index ( temp highp int)
+0:235            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:235              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:235                Constant:
+0:235                  0 (const int)
+0:235              Constant:
+0:235                1 (const int)
+0:235            Constant:
+0:235              0 (const int)
+0:235          'ballot' ( temp highp 4-component vector of uint)
+0:236      move second child to first child ( temp highp 2-component vector of int)
+0:236        vector swizzle ( temp highp 2-component vector of int)
+0:236          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:236            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236              Constant:
+0:236                3 (const int)
+0:236            Constant:
+0:236              1 (const int)
+0:236          Sequence
+0:236            Constant:
+0:236              0 (const int)
+0:236            Constant:
+0:236              1 (const int)
+0:236        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:236          vector swizzle ( temp highp 2-component vector of int)
+0:236            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:236              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:236                Constant:
+0:236                  1 (const int)
+0:236              Constant:
+0:236                1 (const int)
+0:236            Sequence
+0:236              Constant:
+0:236                0 (const int)
+0:236              Constant:
+0:236                1 (const int)
+0:236          'ballot' ( temp highp 4-component vector of uint)
+0:237      move second child to first child ( temp highp 3-component vector of int)
+0:237        vector swizzle ( temp highp 3-component vector of int)
+0:237          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:237            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:237              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:237              Constant:
+0:237                3 (const int)
+0:237            Constant:
+0:237              1 (const int)
+0:237          Sequence
+0:237            Constant:
+0:237              0 (const int)
+0:237            Constant:
+0:237              1 (const int)
+0:237            Constant:
+0:237              2 (const int)
+0:237        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:237          vector swizzle ( temp highp 3-component vector of int)
+0:237            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:237              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:237                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:237                Constant:
+0:237                  2 (const int)
+0:237              Constant:
+0:237                1 (const int)
+0:237            Sequence
+0:237              Constant:
+0:237                0 (const int)
+0:237              Constant:
+0:237                1 (const int)
+0:237              Constant:
+0:237                2 (const int)
+0:237          'ballot' ( temp highp 4-component vector of uint)
+0:238      move second child to first child ( temp highp 4-component vector of int)
+0:238        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:238          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238            Constant:
+0:238              3 (const int)
+0:238          Constant:
+0:238            1 (const int)
+0:238        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:238          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:238            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:238              Constant:
+0:238                3 (const int)
+0:238            Constant:
+0:238              1 (const int)
+0:238          'ballot' ( temp highp 4-component vector of uint)
+0:240      move second child to first child ( temp highp uint)
+0:240        direct index ( temp highp uint)
+0:240          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:240            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240              Constant:
+0:240                3 (const int)
+0:240            Constant:
+0:240              2 (const int)
+0:240          Constant:
+0:240            0 (const int)
+0:240        ERROR: Bad aggregation op
+ ( global highp uint)
+0:240          direct index ( temp highp uint)
+0:240            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:240              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:240                Constant:
+0:240                  0 (const int)
+0:240              Constant:
+0:240                2 (const int)
+0:240            Constant:
+0:240              0 (const int)
+0:240          'ballot' ( temp highp 4-component vector of uint)
+0:241      move second child to first child ( temp highp 2-component vector of uint)
+0:241        vector swizzle ( temp highp 2-component vector of uint)
+0:241          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:241            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241              Constant:
+0:241                3 (const int)
+0:241            Constant:
+0:241              2 (const int)
+0:241          Sequence
+0:241            Constant:
+0:241              0 (const int)
+0:241            Constant:
+0:241              1 (const int)
+0:241        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:241          vector swizzle ( temp highp 2-component vector of uint)
+0:241            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:241              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:241                Constant:
+0:241                  1 (const int)
+0:241              Constant:
+0:241                2 (const int)
+0:241            Sequence
+0:241              Constant:
+0:241                0 (const int)
+0:241              Constant:
+0:241                1 (const int)
+0:241          'ballot' ( temp highp 4-component vector of uint)
+0:242      move second child to first child ( temp highp 3-component vector of uint)
+0:242        vector swizzle ( temp highp 3-component vector of uint)
+0:242          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:242            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:242              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:242              Constant:
+0:242                3 (const int)
+0:242            Constant:
+0:242              2 (const int)
+0:242          Sequence
+0:242            Constant:
+0:242              0 (const int)
+0:242            Constant:
+0:242              1 (const int)
+0:242            Constant:
+0:242              2 (const int)
+0:242        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:242          vector swizzle ( temp highp 3-component vector of uint)
+0:242            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:242              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:242                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:242                Constant:
+0:242                  2 (const int)
+0:242              Constant:
+0:242                2 (const int)
+0:242            Sequence
+0:242              Constant:
+0:242                0 (const int)
+0:242              Constant:
+0:242                1 (const int)
+0:242              Constant:
+0:242                2 (const int)
+0:242          'ballot' ( temp highp 4-component vector of uint)
+0:243      move second child to first child ( temp highp 4-component vector of uint)
+0:243        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:243          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243            Constant:
+0:243              3 (const int)
+0:243          Constant:
+0:243            2 (const int)
+0:243        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:243          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:243            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:243              Constant:
+0:243                3 (const int)
+0:243            Constant:
+0:243              2 (const int)
+0:243          'ballot' ( temp highp 4-component vector of uint)
+0:245      move second child to first child ( temp highp int)
+0:245        direct index ( temp highp int)
+0:245          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:245            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245              Constant:
+0:245                3 (const int)
+0:245            Constant:
+0:245              1 (const int)
+0:245          Constant:
+0:245            0 (const int)
+0:245        Convert bool to int ( temp highp int)
+0:245          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:245            Compare Less Than ( temp bool)
+0:245              direct index ( temp highp int)
+0:245                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:245                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:245                    Constant:
+0:245                      0 (const int)
+0:245                  Constant:
+0:245                    1 (const int)
+0:245                Constant:
+0:245                  0 (const int)
+0:245              Constant:
+0:245                0 (const int)
+0:245            'ballot' ( temp highp 4-component vector of uint)
+0:246      move second child to first child ( temp highp 2-component vector of int)
+0:246        vector swizzle ( temp highp 2-component vector of int)
+0:246          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:246            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246              Constant:
+0:246                3 (const int)
+0:246            Constant:
+0:246              1 (const int)
+0:246          Sequence
+0:246            Constant:
+0:246              0 (const int)
+0:246            Constant:
+0:246              1 (const int)
+0:246        Convert bool to int ( temp highp 2-component vector of int)
+0:246          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:246            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:246              vector swizzle ( temp highp 2-component vector of int)
+0:246                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:246                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:246                    Constant:
+0:246                      1 (const int)
+0:246                  Constant:
+0:246                    1 (const int)
+0:246                Sequence
+0:246                  Constant:
+0:246                    0 (const int)
+0:246                  Constant:
+0:246                    1 (const int)
+0:246              Constant:
+0:246                0 (const int)
+0:246                0 (const int)
+0:246            'ballot' ( temp highp 4-component vector of uint)
+0:247      move second child to first child ( temp highp 3-component vector of int)
+0:247        vector swizzle ( temp highp 3-component vector of int)
+0:247          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:247            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:247              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:247              Constant:
+0:247                3 (const int)
+0:247            Constant:
+0:247              1 (const int)
+0:247          Sequence
+0:247            Constant:
+0:247              0 (const int)
+0:247            Constant:
+0:247              1 (const int)
+0:247            Constant:
+0:247              2 (const int)
+0:247        Convert bool to int ( temp highp 3-component vector of int)
+0:247          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:247            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:247              vector swizzle ( temp highp 3-component vector of int)
+0:247                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:247                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:247                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:247                    Constant:
+0:247                      1 (const int)
+0:247                  Constant:
+0:247                    1 (const int)
+0:247                Sequence
+0:247                  Constant:
+0:247                    0 (const int)
+0:247                  Constant:
+0:247                    1 (const int)
+0:247                  Constant:
+0:247                    2 (const int)
+0:247              Constant:
+0:247                0 (const int)
+0:247                0 (const int)
+0:247                0 (const int)
+0:247            'ballot' ( temp highp 4-component vector of uint)
+0:248      move second child to first child ( temp highp 4-component vector of int)
+0:248        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:248          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248            Constant:
+0:248              3 (const int)
+0:248          Constant:
+0:248            1 (const int)
+0:248        Convert bool to int ( temp highp 4-component vector of int)
+0:248          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:248            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:248              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:248                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:248                  Constant:
+0:248                    1 (const int)
+0:248                Constant:
+0:248                  1 (const int)
+0:248              Constant:
+0:248                0 (const int)
+0:248                0 (const int)
+0:248                0 (const int)
+0:248                0 (const int)
+0:248            'ballot' ( temp highp 4-component vector of uint)
+0:250      move second child to first child ( temp highp float)
+0:250        direct index ( temp highp float)
+0:250          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:250            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250              Constant:
+0:250                0 (const int)
+0:250            Constant:
+0:250              0 (const int)
+0:250          Constant:
+0:250            0 (const int)
+0:250        ERROR: Bad aggregation op
+ ( global highp float)
+0:250          direct index ( temp highp float)
+0:250            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:250              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:250                Constant:
+0:250                  0 (const int)
+0:250              Constant:
+0:250                0 (const int)
+0:250            Constant:
+0:250              0 (const int)
+0:250          'ballot' ( temp highp 4-component vector of uint)
+0:251      move second child to first child ( temp highp 2-component vector of float)
+0:251        vector swizzle ( temp highp 2-component vector of float)
+0:251          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:251            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251              Constant:
+0:251                0 (const int)
+0:251            Constant:
+0:251              0 (const int)
+0:251          Sequence
+0:251            Constant:
+0:251              0 (const int)
+0:251            Constant:
+0:251              1 (const int)
+0:251        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:251          vector swizzle ( temp highp 2-component vector of float)
+0:251            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:251              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:251                Constant:
+0:251                  1 (const int)
+0:251              Constant:
+0:251                0 (const int)
+0:251            Sequence
+0:251              Constant:
+0:251                0 (const int)
+0:251              Constant:
+0:251                1 (const int)
+0:251          'ballot' ( temp highp 4-component vector of uint)
+0:252      move second child to first child ( temp highp 3-component vector of float)
+0:252        vector swizzle ( temp highp 3-component vector of float)
+0:252          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:252            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:252              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:252              Constant:
+0:252                0 (const int)
+0:252            Constant:
+0:252              0 (const int)
+0:252          Sequence
+0:252            Constant:
+0:252              0 (const int)
+0:252            Constant:
+0:252              1 (const int)
+0:252            Constant:
+0:252              2 (const int)
+0:252        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:252          vector swizzle ( temp highp 3-component vector of float)
+0:252            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:252              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:252                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:252                Constant:
+0:252                  2 (const int)
+0:252              Constant:
+0:252                0 (const int)
+0:252            Sequence
+0:252              Constant:
+0:252                0 (const int)
+0:252              Constant:
+0:252                1 (const int)
+0:252              Constant:
+0:252                2 (const int)
+0:252          'ballot' ( temp highp 4-component vector of uint)
+0:253      move second child to first child ( temp highp 4-component vector of float)
+0:253        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:253          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253            Constant:
+0:253              0 (const int)
+0:253          Constant:
+0:253            0 (const int)
+0:253        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:253          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:253            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:253              Constant:
+0:253                3 (const int)
+0:253            Constant:
+0:253              0 (const int)
+0:253          'ballot' ( temp highp 4-component vector of uint)
+0:255      move second child to first child ( temp highp int)
+0:255        direct index ( temp highp int)
+0:255          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:255            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255              Constant:
+0:255                0 (const int)
+0:255            Constant:
+0:255              1 (const int)
+0:255          Constant:
+0:255            0 (const int)
+0:255        ERROR: Bad aggregation op
+ ( global highp int)
+0:255          direct index ( temp highp int)
+0:255            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:255              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:255                Constant:
+0:255                  0 (const int)
+0:255              Constant:
+0:255                1 (const int)
+0:255            Constant:
+0:255              0 (const int)
+0:255          'ballot' ( temp highp 4-component vector of uint)
+0:256      move second child to first child ( temp highp 2-component vector of int)
+0:256        vector swizzle ( temp highp 2-component vector of int)
+0:256          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:256            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256              Constant:
+0:256                0 (const int)
+0:256            Constant:
+0:256              1 (const int)
+0:256          Sequence
+0:256            Constant:
+0:256              0 (const int)
+0:256            Constant:
+0:256              1 (const int)
+0:256        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:256          vector swizzle ( temp highp 2-component vector of int)
+0:256            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:256              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:256                Constant:
+0:256                  1 (const int)
+0:256              Constant:
+0:256                1 (const int)
+0:256            Sequence
+0:256              Constant:
+0:256                0 (const int)
+0:256              Constant:
+0:256                1 (const int)
+0:256          'ballot' ( temp highp 4-component vector of uint)
+0:257      move second child to first child ( temp highp 3-component vector of int)
+0:257        vector swizzle ( temp highp 3-component vector of int)
+0:257          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:257            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:257              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:257              Constant:
+0:257                0 (const int)
+0:257            Constant:
+0:257              1 (const int)
+0:257          Sequence
+0:257            Constant:
+0:257              0 (const int)
+0:257            Constant:
+0:257              1 (const int)
+0:257            Constant:
+0:257              2 (const int)
+0:257        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:257          vector swizzle ( temp highp 3-component vector of int)
+0:257            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:257              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:257                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:257                Constant:
+0:257                  2 (const int)
+0:257              Constant:
+0:257                1 (const int)
+0:257            Sequence
+0:257              Constant:
+0:257                0 (const int)
+0:257              Constant:
+0:257                1 (const int)
+0:257              Constant:
+0:257                2 (const int)
+0:257          'ballot' ( temp highp 4-component vector of uint)
+0:258      move second child to first child ( temp highp 4-component vector of int)
+0:258        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:258          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258            Constant:
+0:258              0 (const int)
+0:258          Constant:
+0:258            1 (const int)
+0:258        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:258          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:258            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:258              Constant:
+0:258                3 (const int)
+0:258            Constant:
+0:258              1 (const int)
+0:258          'ballot' ( temp highp 4-component vector of uint)
+0:260      move second child to first child ( temp highp uint)
+0:260        direct index ( temp highp uint)
+0:260          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:260            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260              Constant:
+0:260                0 (const int)
+0:260            Constant:
+0:260              2 (const int)
+0:260          Constant:
+0:260            0 (const int)
+0:260        ERROR: Bad aggregation op
+ ( global highp uint)
+0:260          direct index ( temp highp uint)
+0:260            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:260              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:260                Constant:
+0:260                  0 (const int)
+0:260              Constant:
+0:260                2 (const int)
+0:260            Constant:
+0:260              0 (const int)
+0:260          'ballot' ( temp highp 4-component vector of uint)
+0:261      move second child to first child ( temp highp 2-component vector of uint)
+0:261        vector swizzle ( temp highp 2-component vector of uint)
+0:261          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:261            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261              Constant:
+0:261                0 (const int)
+0:261            Constant:
+0:261              2 (const int)
+0:261          Sequence
+0:261            Constant:
+0:261              0 (const int)
+0:261            Constant:
+0:261              1 (const int)
+0:261        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:261          vector swizzle ( temp highp 2-component vector of uint)
+0:261            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:261              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:261                Constant:
+0:261                  1 (const int)
+0:261              Constant:
+0:261                2 (const int)
+0:261            Sequence
+0:261              Constant:
+0:261                0 (const int)
+0:261              Constant:
+0:261                1 (const int)
+0:261          'ballot' ( temp highp 4-component vector of uint)
+0:262      move second child to first child ( temp highp 3-component vector of uint)
+0:262        vector swizzle ( temp highp 3-component vector of uint)
+0:262          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:262            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:262              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:262              Constant:
+0:262                0 (const int)
+0:262            Constant:
+0:262              2 (const int)
+0:262          Sequence
+0:262            Constant:
+0:262              0 (const int)
+0:262            Constant:
+0:262              1 (const int)
+0:262            Constant:
+0:262              2 (const int)
+0:262        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:262          vector swizzle ( temp highp 3-component vector of uint)
+0:262            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:262              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:262                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:262                Constant:
+0:262                  2 (const int)
+0:262              Constant:
+0:262                2 (const int)
+0:262            Sequence
+0:262              Constant:
+0:262                0 (const int)
+0:262              Constant:
+0:262                1 (const int)
+0:262              Constant:
+0:262                2 (const int)
+0:262          'ballot' ( temp highp 4-component vector of uint)
+0:263      move second child to first child ( temp highp 4-component vector of uint)
+0:263        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:263          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263            Constant:
+0:263              0 (const int)
+0:263          Constant:
+0:263            2 (const int)
+0:263        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:263          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:263            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:263              Constant:
+0:263                3 (const int)
+0:263            Constant:
+0:263              2 (const int)
+0:263          'ballot' ( temp highp 4-component vector of uint)
+0:265      move second child to first child ( temp highp float)
+0:265        direct index ( temp highp float)
+0:265          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:265            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265              Constant:
+0:265                0 (const int)
+0:265            Constant:
+0:265              0 (const int)
+0:265          Constant:
+0:265            0 (const int)
+0:265        ERROR: Bad aggregation op
+ ( global highp float)
+0:265          direct index ( temp highp float)
+0:265            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:265              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:265                Constant:
+0:265                  0 (const int)
+0:265              Constant:
+0:265                0 (const int)
+0:265            Constant:
+0:265              0 (const int)
+0:265          'ballot' ( temp highp 4-component vector of uint)
+0:266      move second child to first child ( temp highp 2-component vector of float)
+0:266        vector swizzle ( temp highp 2-component vector of float)
+0:266          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:266            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266              Constant:
+0:266                0 (const int)
+0:266            Constant:
+0:266              0 (const int)
+0:266          Sequence
+0:266            Constant:
+0:266              0 (const int)
+0:266            Constant:
+0:266              1 (const int)
+0:266        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:266          vector swizzle ( temp highp 2-component vector of float)
+0:266            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:266              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:266                Constant:
+0:266                  1 (const int)
+0:266              Constant:
+0:266                0 (const int)
+0:266            Sequence
+0:266              Constant:
+0:266                0 (const int)
+0:266              Constant:
+0:266                1 (const int)
+0:266          'ballot' ( temp highp 4-component vector of uint)
+0:267      move second child to first child ( temp highp 3-component vector of float)
+0:267        vector swizzle ( temp highp 3-component vector of float)
+0:267          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:267            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:267              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:267              Constant:
+0:267                0 (const int)
+0:267            Constant:
+0:267              0 (const int)
+0:267          Sequence
+0:267            Constant:
+0:267              0 (const int)
+0:267            Constant:
+0:267              1 (const int)
+0:267            Constant:
+0:267              2 (const int)
+0:267        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:267          vector swizzle ( temp highp 3-component vector of float)
+0:267            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:267              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:267                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:267                Constant:
+0:267                  2 (const int)
+0:267              Constant:
+0:267                0 (const int)
+0:267            Sequence
+0:267              Constant:
+0:267                0 (const int)
+0:267              Constant:
+0:267                1 (const int)
+0:267              Constant:
+0:267                2 (const int)
+0:267          'ballot' ( temp highp 4-component vector of uint)
+0:268      move second child to first child ( temp highp 4-component vector of float)
+0:268        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:268          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268            Constant:
+0:268              0 (const int)
+0:268          Constant:
+0:268            0 (const int)
+0:268        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:268          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:268            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:268              Constant:
+0:268                3 (const int)
+0:268            Constant:
+0:268              0 (const int)
+0:268          'ballot' ( temp highp 4-component vector of uint)
+0:270      move second child to first child ( temp highp int)
+0:270        direct index ( temp highp int)
+0:270          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:270            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270              Constant:
+0:270                1 (const int)
+0:270            Constant:
+0:270              1 (const int)
+0:270          Constant:
+0:270            0 (const int)
+0:270        ERROR: Bad aggregation op
+ ( global highp int)
+0:270          direct index ( temp highp int)
+0:270            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:270              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:270                Constant:
+0:270                  0 (const int)
+0:270              Constant:
+0:270                1 (const int)
+0:270            Constant:
+0:270              0 (const int)
+0:270          'ballot' ( temp highp 4-component vector of uint)
+0:271      move second child to first child ( temp highp 2-component vector of int)
+0:271        vector swizzle ( temp highp 2-component vector of int)
+0:271          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:271            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271              Constant:
+0:271                1 (const int)
+0:271            Constant:
+0:271              1 (const int)
+0:271          Sequence
+0:271            Constant:
+0:271              0 (const int)
+0:271            Constant:
+0:271              1 (const int)
+0:271        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:271          vector swizzle ( temp highp 2-component vector of int)
+0:271            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:271              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:271                Constant:
+0:271                  1 (const int)
+0:271              Constant:
+0:271                1 (const int)
+0:271            Sequence
+0:271              Constant:
+0:271                0 (const int)
+0:271              Constant:
+0:271                1 (const int)
+0:271          'ballot' ( temp highp 4-component vector of uint)
+0:272      move second child to first child ( temp highp 3-component vector of int)
+0:272        vector swizzle ( temp highp 3-component vector of int)
+0:272          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:272            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:272              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:272              Constant:
+0:272                1 (const int)
+0:272            Constant:
+0:272              1 (const int)
+0:272          Sequence
+0:272            Constant:
+0:272              0 (const int)
+0:272            Constant:
+0:272              1 (const int)
+0:272            Constant:
+0:272              2 (const int)
+0:272        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:272          vector swizzle ( temp highp 3-component vector of int)
+0:272            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:272              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:272                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:272                Constant:
+0:272                  2 (const int)
+0:272              Constant:
+0:272                1 (const int)
+0:272            Sequence
+0:272              Constant:
+0:272                0 (const int)
+0:272              Constant:
+0:272                1 (const int)
+0:272              Constant:
+0:272                2 (const int)
+0:272          'ballot' ( temp highp 4-component vector of uint)
+0:273      move second child to first child ( temp highp 4-component vector of int)
+0:273        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:273          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273            Constant:
+0:273              1 (const int)
+0:273          Constant:
+0:273            1 (const int)
+0:273        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:273          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:273            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:273              Constant:
+0:273                3 (const int)
+0:273            Constant:
+0:273              1 (const int)
+0:273          'ballot' ( temp highp 4-component vector of uint)
+0:275      move second child to first child ( temp highp uint)
+0:275        direct index ( temp highp uint)
+0:275          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:275            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275              Constant:
+0:275                1 (const int)
+0:275            Constant:
+0:275              2 (const int)
+0:275          Constant:
+0:275            0 (const int)
+0:275        ERROR: Bad aggregation op
+ ( global highp uint)
+0:275          direct index ( temp highp uint)
+0:275            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:275              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:275                Constant:
+0:275                  0 (const int)
+0:275              Constant:
+0:275                2 (const int)
+0:275            Constant:
+0:275              0 (const int)
+0:275          'ballot' ( temp highp 4-component vector of uint)
+0:276      move second child to first child ( temp highp 2-component vector of uint)
+0:276        vector swizzle ( temp highp 2-component vector of uint)
+0:276          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:276            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276              Constant:
+0:276                1 (const int)
+0:276            Constant:
+0:276              2 (const int)
+0:276          Sequence
+0:276            Constant:
+0:276              0 (const int)
+0:276            Constant:
+0:276              1 (const int)
+0:276        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:276          vector swizzle ( temp highp 2-component vector of uint)
+0:276            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:276              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:276                Constant:
+0:276                  1 (const int)
+0:276              Constant:
+0:276                2 (const int)
+0:276            Sequence
+0:276              Constant:
+0:276                0 (const int)
+0:276              Constant:
+0:276                1 (const int)
+0:276          'ballot' ( temp highp 4-component vector of uint)
+0:277      move second child to first child ( temp highp 3-component vector of uint)
+0:277        vector swizzle ( temp highp 3-component vector of uint)
+0:277          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:277            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:277              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:277              Constant:
+0:277                1 (const int)
+0:277            Constant:
+0:277              2 (const int)
+0:277          Sequence
+0:277            Constant:
+0:277              0 (const int)
+0:277            Constant:
+0:277              1 (const int)
+0:277            Constant:
+0:277              2 (const int)
+0:277        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:277          vector swizzle ( temp highp 3-component vector of uint)
+0:277            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:277              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:277                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:277                Constant:
+0:277                  2 (const int)
+0:277              Constant:
+0:277                2 (const int)
+0:277            Sequence
+0:277              Constant:
+0:277                0 (const int)
+0:277              Constant:
+0:277                1 (const int)
+0:277              Constant:
+0:277                2 (const int)
+0:277          'ballot' ( temp highp 4-component vector of uint)
+0:278      move second child to first child ( temp highp 4-component vector of uint)
+0:278        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:278          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278            Constant:
+0:278              1 (const int)
+0:278          Constant:
+0:278            2 (const int)
+0:278        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:278          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:278            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:278              Constant:
+0:278                3 (const int)
+0:278            Constant:
+0:278              2 (const int)
+0:278          'ballot' ( temp highp 4-component vector of uint)
+0:280      move second child to first child ( temp highp float)
+0:280        direct index ( temp highp float)
+0:280          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:280            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280              Constant:
+0:280                1 (const int)
+0:280            Constant:
+0:280              0 (const int)
+0:280          Constant:
+0:280            0 (const int)
+0:280        ERROR: Bad aggregation op
+ ( global highp float)
+0:280          direct index ( temp highp float)
+0:280            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:280              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:280                Constant:
+0:280                  0 (const int)
+0:280              Constant:
+0:280                0 (const int)
+0:280            Constant:
+0:280              0 (const int)
+0:280          'ballot' ( temp highp 4-component vector of uint)
+0:281      move second child to first child ( temp highp 2-component vector of float)
+0:281        vector swizzle ( temp highp 2-component vector of float)
+0:281          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:281            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281              Constant:
+0:281                1 (const int)
+0:281            Constant:
+0:281              0 (const int)
+0:281          Sequence
+0:281            Constant:
+0:281              0 (const int)
+0:281            Constant:
+0:281              1 (const int)
+0:281        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:281          vector swizzle ( temp highp 2-component vector of float)
+0:281            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:281              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:281                Constant:
+0:281                  1 (const int)
+0:281              Constant:
+0:281                0 (const int)
+0:281            Sequence
+0:281              Constant:
+0:281                0 (const int)
+0:281              Constant:
+0:281                1 (const int)
+0:281          'ballot' ( temp highp 4-component vector of uint)
+0:282      move second child to first child ( temp highp 3-component vector of float)
+0:282        vector swizzle ( temp highp 3-component vector of float)
+0:282          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:282            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:282              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:282              Constant:
+0:282                1 (const int)
+0:282            Constant:
+0:282              0 (const int)
+0:282          Sequence
+0:282            Constant:
+0:282              0 (const int)
+0:282            Constant:
+0:282              1 (const int)
+0:282            Constant:
+0:282              2 (const int)
+0:282        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:282          vector swizzle ( temp highp 3-component vector of float)
+0:282            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:282              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:282                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:282                Constant:
+0:282                  2 (const int)
+0:282              Constant:
+0:282                0 (const int)
+0:282            Sequence
+0:282              Constant:
+0:282                0 (const int)
+0:282              Constant:
+0:282                1 (const int)
+0:282              Constant:
+0:282                2 (const int)
+0:282          'ballot' ( temp highp 4-component vector of uint)
+0:283      move second child to first child ( temp highp 4-component vector of float)
+0:283        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:283          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283            Constant:
+0:283              1 (const int)
+0:283          Constant:
+0:283            0 (const int)
+0:283        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:283          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:283            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:283              Constant:
+0:283                3 (const int)
+0:283            Constant:
+0:283              0 (const int)
+0:283          'ballot' ( temp highp 4-component vector of uint)
+0:285      move second child to first child ( temp highp int)
+0:285        direct index ( temp highp int)
+0:285          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:285            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285              Constant:
+0:285                1 (const int)
+0:285            Constant:
+0:285              1 (const int)
+0:285          Constant:
+0:285            0 (const int)
+0:285        ERROR: Bad aggregation op
+ ( global highp int)
+0:285          direct index ( temp highp int)
+0:285            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:285              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:285                Constant:
+0:285                  0 (const int)
+0:285              Constant:
+0:285                1 (const int)
+0:285            Constant:
+0:285              0 (const int)
+0:285          'ballot' ( temp highp 4-component vector of uint)
+0:286      move second child to first child ( temp highp 2-component vector of int)
+0:286        vector swizzle ( temp highp 2-component vector of int)
+0:286          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:286            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286              Constant:
+0:286                1 (const int)
+0:286            Constant:
+0:286              1 (const int)
+0:286          Sequence
+0:286            Constant:
+0:286              0 (const int)
+0:286            Constant:
+0:286              1 (const int)
+0:286        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:286          vector swizzle ( temp highp 2-component vector of int)
+0:286            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:286              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:286                Constant:
+0:286                  1 (const int)
+0:286              Constant:
+0:286                1 (const int)
+0:286            Sequence
+0:286              Constant:
+0:286                0 (const int)
+0:286              Constant:
+0:286                1 (const int)
+0:286          'ballot' ( temp highp 4-component vector of uint)
+0:287      move second child to first child ( temp highp 3-component vector of int)
+0:287        vector swizzle ( temp highp 3-component vector of int)
+0:287          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:287            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:287              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:287              Constant:
+0:287                1 (const int)
+0:287            Constant:
+0:287              1 (const int)
+0:287          Sequence
+0:287            Constant:
+0:287              0 (const int)
+0:287            Constant:
+0:287              1 (const int)
+0:287            Constant:
+0:287              2 (const int)
+0:287        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:287          vector swizzle ( temp highp 3-component vector of int)
+0:287            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:287              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:287                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:287                Constant:
+0:287                  2 (const int)
+0:287              Constant:
+0:287                1 (const int)
+0:287            Sequence
+0:287              Constant:
+0:287                0 (const int)
+0:287              Constant:
+0:287                1 (const int)
+0:287              Constant:
+0:287                2 (const int)
+0:287          'ballot' ( temp highp 4-component vector of uint)
+0:288      move second child to first child ( temp highp 4-component vector of int)
+0:288        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:288          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288            Constant:
+0:288              1 (const int)
+0:288          Constant:
+0:288            1 (const int)
+0:288        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:288          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:288            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:288              Constant:
+0:288                3 (const int)
+0:288            Constant:
+0:288              1 (const int)
+0:288          'ballot' ( temp highp 4-component vector of uint)
+0:290      move second child to first child ( temp highp uint)
+0:290        direct index ( temp highp uint)
+0:290          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:290            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290              Constant:
+0:290                2 (const int)
+0:290            Constant:
+0:290              2 (const int)
+0:290          Constant:
+0:290            0 (const int)
+0:290        ERROR: Bad aggregation op
+ ( global highp uint)
+0:290          direct index ( temp highp uint)
+0:290            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:290              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:290                Constant:
+0:290                  0 (const int)
+0:290              Constant:
+0:290                2 (const int)
+0:290            Constant:
+0:290              0 (const int)
+0:290          'ballot' ( temp highp 4-component vector of uint)
+0:291      move second child to first child ( temp highp 2-component vector of uint)
+0:291        vector swizzle ( temp highp 2-component vector of uint)
+0:291          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:291            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291              Constant:
+0:291                2 (const int)
+0:291            Constant:
+0:291              2 (const int)
+0:291          Sequence
+0:291            Constant:
+0:291              0 (const int)
+0:291            Constant:
+0:291              1 (const int)
+0:291        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:291          vector swizzle ( temp highp 2-component vector of uint)
+0:291            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:291              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:291                Constant:
+0:291                  1 (const int)
+0:291              Constant:
+0:291                2 (const int)
+0:291            Sequence
+0:291              Constant:
+0:291                0 (const int)
+0:291              Constant:
+0:291                1 (const int)
+0:291          'ballot' ( temp highp 4-component vector of uint)
+0:292      move second child to first child ( temp highp 3-component vector of uint)
+0:292        vector swizzle ( temp highp 3-component vector of uint)
+0:292          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:292            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:292              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:292              Constant:
+0:292                2 (const int)
+0:292            Constant:
+0:292              2 (const int)
+0:292          Sequence
+0:292            Constant:
+0:292              0 (const int)
+0:292            Constant:
+0:292              1 (const int)
+0:292            Constant:
+0:292              2 (const int)
+0:292        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:292          vector swizzle ( temp highp 3-component vector of uint)
+0:292            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:292              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:292                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:292                Constant:
+0:292                  2 (const int)
+0:292              Constant:
+0:292                2 (const int)
+0:292            Sequence
+0:292              Constant:
+0:292                0 (const int)
+0:292              Constant:
+0:292                1 (const int)
+0:292              Constant:
+0:292                2 (const int)
+0:292          'ballot' ( temp highp 4-component vector of uint)
+0:293      move second child to first child ( temp highp 4-component vector of uint)
+0:293        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:293          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293            Constant:
+0:293              2 (const int)
+0:293          Constant:
+0:293            2 (const int)
+0:293        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:293          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:293            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:293              Constant:
+0:293                3 (const int)
+0:293            Constant:
+0:293              2 (const int)
+0:293          'ballot' ( temp highp 4-component vector of uint)
+0:295      move second child to first child ( temp highp float)
+0:295        direct index ( temp highp float)
+0:295          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:295            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295              Constant:
+0:295                2 (const int)
+0:295            Constant:
+0:295              0 (const int)
+0:295          Constant:
+0:295            0 (const int)
+0:295        ERROR: Bad aggregation op
+ ( global highp float)
+0:295          direct index ( temp highp float)
+0:295            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:295              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:295                Constant:
+0:295                  0 (const int)
+0:295              Constant:
+0:295                0 (const int)
+0:295            Constant:
+0:295              0 (const int)
+0:295          'ballot' ( temp highp 4-component vector of uint)
+0:296      move second child to first child ( temp highp 2-component vector of float)
+0:296        vector swizzle ( temp highp 2-component vector of float)
+0:296          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:296            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296              Constant:
+0:296                2 (const int)
+0:296            Constant:
+0:296              0 (const int)
+0:296          Sequence
+0:296            Constant:
+0:296              0 (const int)
+0:296            Constant:
+0:296              1 (const int)
+0:296        ERROR: Bad aggregation op
+ ( global highp 2-component vector of float)
+0:296          vector swizzle ( temp highp 2-component vector of float)
+0:296            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:296              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:296                Constant:
+0:296                  1 (const int)
+0:296              Constant:
+0:296                0 (const int)
+0:296            Sequence
+0:296              Constant:
+0:296                0 (const int)
+0:296              Constant:
+0:296                1 (const int)
+0:296          'ballot' ( temp highp 4-component vector of uint)
+0:297      move second child to first child ( temp highp 3-component vector of float)
+0:297        vector swizzle ( temp highp 3-component vector of float)
+0:297          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:297            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:297              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:297              Constant:
+0:297                2 (const int)
+0:297            Constant:
+0:297              0 (const int)
+0:297          Sequence
+0:297            Constant:
+0:297              0 (const int)
+0:297            Constant:
+0:297              1 (const int)
+0:297            Constant:
+0:297              2 (const int)
+0:297        ERROR: Bad aggregation op
+ ( global highp 3-component vector of float)
+0:297          vector swizzle ( temp highp 3-component vector of float)
+0:297            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:297              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:297                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:297                Constant:
+0:297                  2 (const int)
+0:297              Constant:
+0:297                0 (const int)
+0:297            Sequence
+0:297              Constant:
+0:297                0 (const int)
+0:297              Constant:
+0:297                1 (const int)
+0:297              Constant:
+0:297                2 (const int)
+0:297          'ballot' ( temp highp 4-component vector of uint)
+0:298      move second child to first child ( temp highp 4-component vector of float)
+0:298        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:298          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298            Constant:
+0:298              2 (const int)
+0:298          Constant:
+0:298            0 (const int)
+0:298        ERROR: Bad aggregation op
+ ( global highp 4-component vector of float)
+0:298          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:298            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:298              Constant:
+0:298                3 (const int)
+0:298            Constant:
+0:298              0 (const int)
+0:298          'ballot' ( temp highp 4-component vector of uint)
+0:300      move second child to first child ( temp highp int)
+0:300        direct index ( temp highp int)
+0:300          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:300            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300              Constant:
+0:300                2 (const int)
+0:300            Constant:
+0:300              1 (const int)
+0:300          Constant:
+0:300            0 (const int)
+0:300        ERROR: Bad aggregation op
+ ( global highp int)
+0:300          direct index ( temp highp int)
+0:300            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:300              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:300                Constant:
+0:300                  0 (const int)
+0:300              Constant:
+0:300                1 (const int)
+0:300            Constant:
+0:300              0 (const int)
+0:300          'ballot' ( temp highp 4-component vector of uint)
+0:301      move second child to first child ( temp highp 2-component vector of int)
+0:301        vector swizzle ( temp highp 2-component vector of int)
+0:301          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:301            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301              Constant:
+0:301                2 (const int)
+0:301            Constant:
+0:301              1 (const int)
+0:301          Sequence
+0:301            Constant:
+0:301              0 (const int)
+0:301            Constant:
+0:301              1 (const int)
+0:301        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:301          vector swizzle ( temp highp 2-component vector of int)
+0:301            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:301              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:301                Constant:
+0:301                  1 (const int)
+0:301              Constant:
+0:301                1 (const int)
+0:301            Sequence
+0:301              Constant:
+0:301                0 (const int)
+0:301              Constant:
+0:301                1 (const int)
+0:301          'ballot' ( temp highp 4-component vector of uint)
+0:302      move second child to first child ( temp highp 3-component vector of int)
+0:302        vector swizzle ( temp highp 3-component vector of int)
+0:302          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:302            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:302              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:302              Constant:
+0:302                2 (const int)
+0:302            Constant:
+0:302              1 (const int)
+0:302          Sequence
+0:302            Constant:
+0:302              0 (const int)
+0:302            Constant:
+0:302              1 (const int)
+0:302            Constant:
+0:302              2 (const int)
+0:302        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:302          vector swizzle ( temp highp 3-component vector of int)
+0:302            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:302              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:302                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:302                Constant:
+0:302                  2 (const int)
+0:302              Constant:
+0:302                1 (const int)
+0:302            Sequence
+0:302              Constant:
+0:302                0 (const int)
+0:302              Constant:
+0:302                1 (const int)
+0:302              Constant:
+0:302                2 (const int)
+0:302          'ballot' ( temp highp 4-component vector of uint)
+0:303      move second child to first child ( temp highp 4-component vector of int)
+0:303        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:303          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303            Constant:
+0:303              2 (const int)
+0:303          Constant:
+0:303            1 (const int)
+0:303        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:303          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:303            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:303              Constant:
+0:303                3 (const int)
+0:303            Constant:
+0:303              1 (const int)
+0:303          'ballot' ( temp highp 4-component vector of uint)
+0:305      move second child to first child ( temp highp uint)
+0:305        direct index ( temp highp uint)
+0:305          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:305            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305              Constant:
+0:305                2 (const int)
+0:305            Constant:
+0:305              2 (const int)
+0:305          Constant:
+0:305            0 (const int)
+0:305        ERROR: Bad aggregation op
+ ( global highp uint)
+0:305          direct index ( temp highp uint)
+0:305            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:305              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:305                Constant:
+0:305                  0 (const int)
+0:305              Constant:
+0:305                2 (const int)
+0:305            Constant:
+0:305              0 (const int)
+0:305          'ballot' ( temp highp 4-component vector of uint)
+0:306      move second child to first child ( temp highp 2-component vector of uint)
+0:306        vector swizzle ( temp highp 2-component vector of uint)
+0:306          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:306            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306              Constant:
+0:306                2 (const int)
+0:306            Constant:
+0:306              2 (const int)
+0:306          Sequence
+0:306            Constant:
+0:306              0 (const int)
+0:306            Constant:
+0:306              1 (const int)
+0:306        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:306          vector swizzle ( temp highp 2-component vector of uint)
+0:306            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:306              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:306                Constant:
+0:306                  1 (const int)
+0:306              Constant:
+0:306                2 (const int)
+0:306            Sequence
+0:306              Constant:
+0:306                0 (const int)
+0:306              Constant:
+0:306                1 (const int)
+0:306          'ballot' ( temp highp 4-component vector of uint)
+0:307      move second child to first child ( temp highp 3-component vector of uint)
+0:307        vector swizzle ( temp highp 3-component vector of uint)
+0:307          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:307            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:307              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:307              Constant:
+0:307                2 (const int)
+0:307            Constant:
+0:307              2 (const int)
+0:307          Sequence
+0:307            Constant:
+0:307              0 (const int)
+0:307            Constant:
+0:307              1 (const int)
+0:307            Constant:
+0:307              2 (const int)
+0:307        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:307          vector swizzle ( temp highp 3-component vector of uint)
+0:307            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:307              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:307                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:307                Constant:
+0:307                  2 (const int)
+0:307              Constant:
+0:307                2 (const int)
+0:307            Sequence
+0:307              Constant:
+0:307                0 (const int)
+0:307              Constant:
+0:307                1 (const int)
+0:307              Constant:
+0:307                2 (const int)
+0:307          'ballot' ( temp highp 4-component vector of uint)
+0:308      move second child to first child ( temp highp 4-component vector of uint)
+0:308        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:308          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308            Constant:
+0:308              2 (const int)
+0:308          Constant:
+0:308            2 (const int)
+0:308        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:308          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:308            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:308              Constant:
+0:308                3 (const int)
+0:308            Constant:
+0:308              2 (const int)
+0:308          'ballot' ( temp highp 4-component vector of uint)
+0:310      move second child to first child ( temp highp int)
+0:310        direct index ( temp highp int)
+0:310          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:310            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310              Constant:
+0:310                2 (const int)
+0:310            Constant:
+0:310              1 (const int)
+0:310          Constant:
+0:310            0 (const int)
+0:310        ERROR: Bad aggregation op
+ ( global highp int)
+0:310          direct index ( temp highp int)
+0:310            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:310              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:310                Constant:
+0:310                  0 (const int)
+0:310              Constant:
+0:310                1 (const int)
+0:310            Constant:
+0:310              0 (const int)
+0:310          'ballot' ( temp highp 4-component vector of uint)
+0:311      move second child to first child ( temp highp 2-component vector of int)
+0:311        vector swizzle ( temp highp 2-component vector of int)
+0:311          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:311            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311              Constant:
+0:311                2 (const int)
+0:311            Constant:
+0:311              1 (const int)
+0:311          Sequence
+0:311            Constant:
+0:311              0 (const int)
+0:311            Constant:
+0:311              1 (const int)
+0:311        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:311          vector swizzle ( temp highp 2-component vector of int)
+0:311            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:311              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:311                Constant:
+0:311                  1 (const int)
+0:311              Constant:
+0:311                1 (const int)
+0:311            Sequence
+0:311              Constant:
+0:311                0 (const int)
+0:311              Constant:
+0:311                1 (const int)
+0:311          'ballot' ( temp highp 4-component vector of uint)
+0:312      move second child to first child ( temp highp 3-component vector of int)
+0:312        vector swizzle ( temp highp 3-component vector of int)
+0:312          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:312            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:312              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:312              Constant:
+0:312                2 (const int)
+0:312            Constant:
+0:312              1 (const int)
+0:312          Sequence
+0:312            Constant:
+0:312              0 (const int)
+0:312            Constant:
+0:312              1 (const int)
+0:312            Constant:
+0:312              2 (const int)
+0:312        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:312          vector swizzle ( temp highp 3-component vector of int)
+0:312            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:312              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:312                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:312                Constant:
+0:312                  2 (const int)
+0:312              Constant:
+0:312                1 (const int)
+0:312            Sequence
+0:312              Constant:
+0:312                0 (const int)
+0:312              Constant:
+0:312                1 (const int)
+0:312              Constant:
+0:312                2 (const int)
+0:312          'ballot' ( temp highp 4-component vector of uint)
+0:313      move second child to first child ( temp highp 4-component vector of int)
+0:313        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:313          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313            Constant:
+0:313              2 (const int)
+0:313          Constant:
+0:313            1 (const int)
+0:313        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:313          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:313            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:313              Constant:
+0:313                3 (const int)
+0:313            Constant:
+0:313              1 (const int)
+0:313          'ballot' ( temp highp 4-component vector of uint)
+0:315      move second child to first child ( temp highp uint)
+0:315        direct index ( temp highp uint)
+0:315          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:315            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315              Constant:
+0:315                2 (const int)
+0:315            Constant:
+0:315              2 (const int)
+0:315          Constant:
+0:315            0 (const int)
+0:315        ERROR: Bad aggregation op
+ ( global highp uint)
+0:315          direct index ( temp highp uint)
+0:315            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:315              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:315                Constant:
+0:315                  0 (const int)
+0:315              Constant:
+0:315                2 (const int)
+0:315            Constant:
+0:315              0 (const int)
+0:315          'ballot' ( temp highp 4-component vector of uint)
+0:316      move second child to first child ( temp highp 2-component vector of uint)
+0:316        vector swizzle ( temp highp 2-component vector of uint)
+0:316          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:316            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316              Constant:
+0:316                2 (const int)
+0:316            Constant:
+0:316              2 (const int)
+0:316          Sequence
+0:316            Constant:
+0:316              0 (const int)
+0:316            Constant:
+0:316              1 (const int)
+0:316        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:316          vector swizzle ( temp highp 2-component vector of uint)
+0:316            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:316              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:316                Constant:
+0:316                  1 (const int)
+0:316              Constant:
+0:316                2 (const int)
+0:316            Sequence
+0:316              Constant:
+0:316                0 (const int)
+0:316              Constant:
+0:316                1 (const int)
+0:316          'ballot' ( temp highp 4-component vector of uint)
+0:317      move second child to first child ( temp highp 3-component vector of uint)
+0:317        vector swizzle ( temp highp 3-component vector of uint)
+0:317          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:317            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:317              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:317              Constant:
+0:317                2 (const int)
+0:317            Constant:
+0:317              2 (const int)
+0:317          Sequence
+0:317            Constant:
+0:317              0 (const int)
+0:317            Constant:
+0:317              1 (const int)
+0:317            Constant:
+0:317              2 (const int)
+0:317        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:317          vector swizzle ( temp highp 3-component vector of uint)
+0:317            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:317              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:317                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:317                Constant:
+0:317                  2 (const int)
+0:317              Constant:
+0:317                2 (const int)
+0:317            Sequence
+0:317              Constant:
+0:317                0 (const int)
+0:317              Constant:
+0:317                1 (const int)
+0:317              Constant:
+0:317                2 (const int)
+0:317          'ballot' ( temp highp 4-component vector of uint)
+0:318      move second child to first child ( temp highp 4-component vector of uint)
+0:318        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:318          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318            Constant:
+0:318              2 (const int)
+0:318          Constant:
+0:318            2 (const int)
+0:318        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:318          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:318            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:318              Constant:
+0:318                3 (const int)
+0:318            Constant:
+0:318              2 (const int)
+0:318          'ballot' ( temp highp 4-component vector of uint)
+0:320      move second child to first child ( temp highp int)
+0:320        direct index ( temp highp int)
+0:320          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:320            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320              Constant:
+0:320                3 (const int)
+0:320            Constant:
+0:320              1 (const int)
+0:320          Constant:
+0:320            0 (const int)
+0:320        Convert bool to int ( temp highp int)
+0:320          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:320            Compare Less Than ( temp bool)
+0:320              direct index ( temp highp int)
+0:320                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:320                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:320                    Constant:
+0:320                      0 (const int)
+0:320                  Constant:
+0:320                    1 (const int)
+0:320                Constant:
+0:320                  0 (const int)
+0:320              Constant:
+0:320                0 (const int)
+0:320            'ballot' ( temp highp 4-component vector of uint)
+0:321      move second child to first child ( temp highp 2-component vector of int)
+0:321        vector swizzle ( temp highp 2-component vector of int)
+0:321          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:321            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321              Constant:
+0:321                3 (const int)
+0:321            Constant:
+0:321              1 (const int)
+0:321          Sequence
+0:321            Constant:
+0:321              0 (const int)
+0:321            Constant:
+0:321              1 (const int)
+0:321        Convert bool to int ( temp highp 2-component vector of int)
+0:321          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:321            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:321              vector swizzle ( temp highp 2-component vector of int)
+0:321                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:321                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:321                    Constant:
+0:321                      1 (const int)
+0:321                  Constant:
+0:321                    1 (const int)
+0:321                Sequence
+0:321                  Constant:
+0:321                    0 (const int)
+0:321                  Constant:
+0:321                    1 (const int)
+0:321              Constant:
+0:321                0 (const int)
+0:321                0 (const int)
+0:321            'ballot' ( temp highp 4-component vector of uint)
+0:322      move second child to first child ( temp highp 3-component vector of int)
+0:322        vector swizzle ( temp highp 3-component vector of int)
+0:322          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:322            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:322              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:322              Constant:
+0:322                3 (const int)
+0:322            Constant:
+0:322              1 (const int)
+0:322          Sequence
+0:322            Constant:
+0:322              0 (const int)
+0:322            Constant:
+0:322              1 (const int)
+0:322            Constant:
+0:322              2 (const int)
+0:322        Convert bool to int ( temp highp 3-component vector of int)
+0:322          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:322            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:322              vector swizzle ( temp highp 3-component vector of int)
+0:322                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:322                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:322                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:322                    Constant:
+0:322                      1 (const int)
+0:322                  Constant:
+0:322                    1 (const int)
+0:322                Sequence
+0:322                  Constant:
+0:322                    0 (const int)
+0:322                  Constant:
+0:322                    1 (const int)
+0:322                  Constant:
+0:322                    2 (const int)
+0:322              Constant:
+0:322                0 (const int)
+0:322                0 (const int)
+0:322                0 (const int)
+0:322            'ballot' ( temp highp 4-component vector of uint)
+0:323      move second child to first child ( temp highp 4-component vector of int)
+0:323        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:323          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323            Constant:
+0:323              3 (const int)
+0:323          Constant:
+0:323            1 (const int)
+0:323        Convert bool to int ( temp highp 4-component vector of int)
+0:323          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:323            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:323              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:323                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:323                  Constant:
+0:323                    1 (const int)
+0:323                Constant:
+0:323                  1 (const int)
+0:323              Constant:
+0:323                0 (const int)
+0:323                0 (const int)
+0:323                0 (const int)
+0:323                0 (const int)
+0:323            'ballot' ( temp highp 4-component vector of uint)
+0:325      move second child to first child ( temp highp int)
+0:325        direct index ( temp highp int)
+0:325          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:325            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325              Constant:
+0:325                3 (const int)
+0:325            Constant:
+0:325              1 (const int)
+0:325          Constant:
+0:325            0 (const int)
+0:325        ERROR: Bad aggregation op
+ ( global highp int)
+0:325          direct index ( temp highp int)
+0:325            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:325              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:325                Constant:
+0:325                  0 (const int)
+0:325              Constant:
+0:325                1 (const int)
+0:325            Constant:
+0:325              0 (const int)
+0:325          'ballot' ( temp highp 4-component vector of uint)
+0:326      move second child to first child ( temp highp 2-component vector of int)
+0:326        vector swizzle ( temp highp 2-component vector of int)
+0:326          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:326            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326              Constant:
+0:326                3 (const int)
+0:326            Constant:
+0:326              1 (const int)
+0:326          Sequence
+0:326            Constant:
+0:326              0 (const int)
+0:326            Constant:
+0:326              1 (const int)
+0:326        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:326          vector swizzle ( temp highp 2-component vector of int)
+0:326            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:326              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:326                Constant:
+0:326                  1 (const int)
+0:326              Constant:
+0:326                1 (const int)
+0:326            Sequence
+0:326              Constant:
+0:326                0 (const int)
+0:326              Constant:
+0:326                1 (const int)
+0:326          'ballot' ( temp highp 4-component vector of uint)
+0:327      move second child to first child ( temp highp 3-component vector of int)
+0:327        vector swizzle ( temp highp 3-component vector of int)
+0:327          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:327            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:327              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:327              Constant:
+0:327                3 (const int)
+0:327            Constant:
+0:327              1 (const int)
+0:327          Sequence
+0:327            Constant:
+0:327              0 (const int)
+0:327            Constant:
+0:327              1 (const int)
+0:327            Constant:
+0:327              2 (const int)
+0:327        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:327          vector swizzle ( temp highp 3-component vector of int)
+0:327            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:327              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:327                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:327                Constant:
+0:327                  2 (const int)
+0:327              Constant:
+0:327                1 (const int)
+0:327            Sequence
+0:327              Constant:
+0:327                0 (const int)
+0:327              Constant:
+0:327                1 (const int)
+0:327              Constant:
+0:327                2 (const int)
+0:327          'ballot' ( temp highp 4-component vector of uint)
+0:328      move second child to first child ( temp highp 4-component vector of int)
+0:328        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:328          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328            Constant:
+0:328              3 (const int)
+0:328          Constant:
+0:328            1 (const int)
+0:328        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:328          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:328            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:328              Constant:
+0:328                3 (const int)
+0:328            Constant:
+0:328              1 (const int)
+0:328          'ballot' ( temp highp 4-component vector of uint)
+0:330      move second child to first child ( temp highp uint)
+0:330        direct index ( temp highp uint)
+0:330          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:330            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330              Constant:
+0:330                3 (const int)
+0:330            Constant:
+0:330              2 (const int)
+0:330          Constant:
+0:330            0 (const int)
+0:330        ERROR: Bad aggregation op
+ ( global highp uint)
+0:330          direct index ( temp highp uint)
+0:330            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:330              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:330                Constant:
+0:330                  0 (const int)
+0:330              Constant:
+0:330                2 (const int)
+0:330            Constant:
+0:330              0 (const int)
+0:330          'ballot' ( temp highp 4-component vector of uint)
+0:331      move second child to first child ( temp highp 2-component vector of uint)
+0:331        vector swizzle ( temp highp 2-component vector of uint)
+0:331          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:331            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331              Constant:
+0:331                3 (const int)
+0:331            Constant:
+0:331              2 (const int)
+0:331          Sequence
+0:331            Constant:
+0:331              0 (const int)
+0:331            Constant:
+0:331              1 (const int)
+0:331        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:331          vector swizzle ( temp highp 2-component vector of uint)
+0:331            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:331              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:331                Constant:
+0:331                  1 (const int)
+0:331              Constant:
+0:331                2 (const int)
+0:331            Sequence
+0:331              Constant:
+0:331                0 (const int)
+0:331              Constant:
+0:331                1 (const int)
+0:331          'ballot' ( temp highp 4-component vector of uint)
+0:332      move second child to first child ( temp highp 3-component vector of uint)
+0:332        vector swizzle ( temp highp 3-component vector of uint)
+0:332          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:332            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:332              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:332              Constant:
+0:332                3 (const int)
+0:332            Constant:
+0:332              2 (const int)
+0:332          Sequence
+0:332            Constant:
+0:332              0 (const int)
+0:332            Constant:
+0:332              1 (const int)
+0:332            Constant:
+0:332              2 (const int)
+0:332        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:332          vector swizzle ( temp highp 3-component vector of uint)
+0:332            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:332              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:332                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:332                Constant:
+0:332                  2 (const int)
+0:332              Constant:
+0:332                2 (const int)
+0:332            Sequence
+0:332              Constant:
+0:332                0 (const int)
+0:332              Constant:
+0:332                1 (const int)
+0:332              Constant:
+0:332                2 (const int)
+0:332          'ballot' ( temp highp 4-component vector of uint)
+0:333      move second child to first child ( temp highp 4-component vector of uint)
+0:333        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:333          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:333            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:333            Constant:
+0:333              3 (const int)
+0:333          Constant:
+0:333            2 (const int)
+0:333        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:333          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:333            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:333              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:333              Constant:
+0:333                3 (const int)
+0:333            Constant:
+0:333              2 (const int)
+0:333          'ballot' ( temp highp 4-component vector of uint)
+0:335      move second child to first child ( temp highp int)
+0:335        direct index ( temp highp int)
+0:335          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:335            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:335              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:335              Constant:
+0:335                3 (const int)
+0:335            Constant:
+0:335              1 (const int)
+0:335          Constant:
+0:335            0 (const int)
+0:335        Convert bool to int ( temp highp int)
+0:335          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:335            Compare Less Than ( temp bool)
+0:335              direct index ( temp highp int)
+0:335                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:335                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:335                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:335                    Constant:
+0:335                      0 (const int)
+0:335                  Constant:
+0:335                    1 (const int)
+0:335                Constant:
+0:335                  0 (const int)
+0:335              Constant:
+0:335                0 (const int)
+0:335            'ballot' ( temp highp 4-component vector of uint)
+0:336      move second child to first child ( temp highp 2-component vector of int)
+0:336        vector swizzle ( temp highp 2-component vector of int)
+0:336          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:336            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:336              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:336              Constant:
+0:336                3 (const int)
+0:336            Constant:
+0:336              1 (const int)
+0:336          Sequence
+0:336            Constant:
+0:336              0 (const int)
+0:336            Constant:
+0:336              1 (const int)
+0:336        Convert bool to int ( temp highp 2-component vector of int)
+0:336          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:336            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:336              vector swizzle ( temp highp 2-component vector of int)
+0:336                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:336                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:336                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:336                    Constant:
+0:336                      1 (const int)
+0:336                  Constant:
+0:336                    1 (const int)
+0:336                Sequence
+0:336                  Constant:
+0:336                    0 (const int)
+0:336                  Constant:
+0:336                    1 (const int)
+0:336              Constant:
+0:336                0 (const int)
+0:336                0 (const int)
+0:336            'ballot' ( temp highp 4-component vector of uint)
+0:337      move second child to first child ( temp highp 3-component vector of int)
+0:337        vector swizzle ( temp highp 3-component vector of int)
+0:337          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:337            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:337              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:337              Constant:
+0:337                3 (const int)
+0:337            Constant:
+0:337              1 (const int)
+0:337          Sequence
+0:337            Constant:
+0:337              0 (const int)
+0:337            Constant:
+0:337              1 (const int)
+0:337            Constant:
+0:337              2 (const int)
+0:337        Convert bool to int ( temp highp 3-component vector of int)
+0:337          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:337            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:337              vector swizzle ( temp highp 3-component vector of int)
+0:337                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:337                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:337                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:337                    Constant:
+0:337                      1 (const int)
+0:337                  Constant:
+0:337                    1 (const int)
+0:337                Sequence
+0:337                  Constant:
+0:337                    0 (const int)
+0:337                  Constant:
+0:337                    1 (const int)
+0:337                  Constant:
+0:337                    2 (const int)
+0:337              Constant:
+0:337                0 (const int)
+0:337                0 (const int)
+0:337                0 (const int)
+0:337            'ballot' ( temp highp 4-component vector of uint)
+0:338      move second child to first child ( temp highp 4-component vector of int)
+0:338        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:338          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:338            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:338            Constant:
+0:338              3 (const int)
+0:338          Constant:
+0:338            1 (const int)
+0:338        Convert bool to int ( temp highp 4-component vector of int)
+0:338          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:338            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:338              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:338                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:338                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:338                  Constant:
+0:338                    1 (const int)
+0:338                Constant:
+0:338                  1 (const int)
+0:338              Constant:
+0:338                0 (const int)
+0:338                0 (const int)
+0:338                0 (const int)
+0:338                0 (const int)
+0:338            'ballot' ( temp highp 4-component vector of uint)
+0:340      move second child to first child ( temp highp int)
+0:340        direct index ( temp highp int)
+0:340          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:340            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:340              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:340              Constant:
+0:340                3 (const int)
+0:340            Constant:
+0:340              1 (const int)
+0:340          Constant:
+0:340            0 (const int)
+0:340        ERROR: Bad aggregation op
+ ( global highp int)
+0:340          direct index ( temp highp int)
+0:340            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:340              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:340                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:340                Constant:
+0:340                  0 (const int)
+0:340              Constant:
+0:340                1 (const int)
+0:340            Constant:
+0:340              0 (const int)
+0:340          'ballot' ( temp highp 4-component vector of uint)
+0:341      move second child to first child ( temp highp 2-component vector of int)
+0:341        vector swizzle ( temp highp 2-component vector of int)
+0:341          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:341            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:341              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:341              Constant:
+0:341                3 (const int)
+0:341            Constant:
+0:341              1 (const int)
+0:341          Sequence
+0:341            Constant:
+0:341              0 (const int)
+0:341            Constant:
+0:341              1 (const int)
+0:341        ERROR: Bad aggregation op
+ ( global highp 2-component vector of int)
+0:341          vector swizzle ( temp highp 2-component vector of int)
+0:341            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:341              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:341                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:341                Constant:
+0:341                  1 (const int)
+0:341              Constant:
+0:341                1 (const int)
+0:341            Sequence
+0:341              Constant:
+0:341                0 (const int)
+0:341              Constant:
+0:341                1 (const int)
+0:341          'ballot' ( temp highp 4-component vector of uint)
+0:342      move second child to first child ( temp highp 3-component vector of int)
+0:342        vector swizzle ( temp highp 3-component vector of int)
+0:342          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:342            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:342              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:342              Constant:
+0:342                3 (const int)
+0:342            Constant:
+0:342              1 (const int)
+0:342          Sequence
+0:342            Constant:
+0:342              0 (const int)
+0:342            Constant:
+0:342              1 (const int)
+0:342            Constant:
+0:342              2 (const int)
+0:342        ERROR: Bad aggregation op
+ ( global highp 3-component vector of int)
+0:342          vector swizzle ( temp highp 3-component vector of int)
+0:342            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:342              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:342                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:342                Constant:
+0:342                  2 (const int)
+0:342              Constant:
+0:342                1 (const int)
+0:342            Sequence
+0:342              Constant:
+0:342                0 (const int)
+0:342              Constant:
+0:342                1 (const int)
+0:342              Constant:
+0:342                2 (const int)
+0:342          'ballot' ( temp highp 4-component vector of uint)
+0:343      move second child to first child ( temp highp 4-component vector of int)
+0:343        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:343          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:343            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:343            Constant:
+0:343              3 (const int)
+0:343          Constant:
+0:343            1 (const int)
+0:343        ERROR: Bad aggregation op
+ ( global highp 4-component vector of int)
+0:343          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:343            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:343              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:343              Constant:
+0:343                3 (const int)
+0:343            Constant:
+0:343              1 (const int)
+0:343          'ballot' ( temp highp 4-component vector of uint)
+0:345      move second child to first child ( temp highp uint)
+0:345        direct index ( temp highp uint)
+0:345          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:345            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:345              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:345              Constant:
+0:345                0 (const int)
+0:345            Constant:
+0:345              2 (const int)
+0:345          Constant:
+0:345            0 (const int)
+0:345        ERROR: Bad aggregation op
+ ( global highp uint)
+0:345          direct index ( temp highp uint)
+0:345            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:345              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:345                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:345                Constant:
+0:345                  0 (const int)
+0:345              Constant:
+0:345                2 (const int)
+0:345            Constant:
+0:345              0 (const int)
+0:345          'ballot' ( temp highp 4-component vector of uint)
+0:346      move second child to first child ( temp highp 2-component vector of uint)
+0:346        vector swizzle ( temp highp 2-component vector of uint)
+0:346          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:346            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:346              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:346              Constant:
+0:346                0 (const int)
+0:346            Constant:
+0:346              2 (const int)
+0:346          Sequence
+0:346            Constant:
+0:346              0 (const int)
+0:346            Constant:
+0:346              1 (const int)
+0:346        ERROR: Bad aggregation op
+ ( global highp 2-component vector of uint)
+0:346          vector swizzle ( temp highp 2-component vector of uint)
+0:346            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:346              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:346                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:346                Constant:
+0:346                  1 (const int)
+0:346              Constant:
+0:346                2 (const int)
+0:346            Sequence
+0:346              Constant:
+0:346                0 (const int)
+0:346              Constant:
+0:346                1 (const int)
+0:346          'ballot' ( temp highp 4-component vector of uint)
+0:347      move second child to first child ( temp highp 3-component vector of uint)
+0:347        vector swizzle ( temp highp 3-component vector of uint)
+0:347          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:347            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:347              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:347              Constant:
+0:347                0 (const int)
+0:347            Constant:
+0:347              2 (const int)
+0:347          Sequence
+0:347            Constant:
+0:347              0 (const int)
+0:347            Constant:
+0:347              1 (const int)
+0:347            Constant:
+0:347              2 (const int)
+0:347        ERROR: Bad aggregation op
+ ( global highp 3-component vector of uint)
+0:347          vector swizzle ( temp highp 3-component vector of uint)
+0:347            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:347              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:347                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:347                Constant:
+0:347                  2 (const int)
+0:347              Constant:
+0:347                2 (const int)
+0:347            Sequence
+0:347              Constant:
+0:347                0 (const int)
+0:347              Constant:
+0:347                1 (const int)
+0:347              Constant:
+0:347                2 (const int)
+0:347          'ballot' ( temp highp 4-component vector of uint)
+0:348      move second child to first child ( temp highp 4-component vector of uint)
+0:348        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:348          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:348            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:348            Constant:
+0:348              0 (const int)
+0:348          Constant:
+0:348            2 (const int)
+0:348        ERROR: Bad aggregation op
+ ( global highp 4-component vector of uint)
+0:348          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:348            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:348              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:348              Constant:
+0:348                3 (const int)
+0:348            Constant:
+0:348              2 (const int)
+0:348          'ballot' ( temp highp 4-component vector of uint)
+0:350      move second child to first child ( temp highp int)
+0:350        direct index ( temp highp int)
+0:350          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:350            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:350              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:350              Constant:
+0:350                0 (const int)
+0:350            Constant:
+0:350              1 (const int)
+0:350          Constant:
+0:350            0 (const int)
+0:350        Convert bool to int ( temp highp int)
+0:350          ERROR: Bad aggregation op
+ ( global bool, operation at highp)
+0:350            Compare Less Than ( temp bool)
+0:350              direct index ( temp highp int)
+0:350                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:350                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:350                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:350                    Constant:
+0:350                      0 (const int)
+0:350                  Constant:
+0:350                    1 (const int)
+0:350                Constant:
+0:350                  0 (const int)
+0:350              Constant:
+0:350                0 (const int)
+0:350            'ballot' ( temp highp 4-component vector of uint)
+0:351      move second child to first child ( temp highp 2-component vector of int)
+0:351        vector swizzle ( temp highp 2-component vector of int)
+0:351          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:351            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:351              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:351              Constant:
+0:351                0 (const int)
+0:351            Constant:
+0:351              1 (const int)
+0:351          Sequence
+0:351            Constant:
+0:351              0 (const int)
+0:351            Constant:
+0:351              1 (const int)
+0:351        Convert bool to int ( temp highp 2-component vector of int)
+0:351          ERROR: Bad aggregation op
+ ( global 2-component vector of bool, operation at highp)
+0:351            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:351              vector swizzle ( temp highp 2-component vector of int)
+0:351                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:351                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:351                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:351                    Constant:
+0:351                      1 (const int)
+0:351                  Constant:
+0:351                    1 (const int)
+0:351                Sequence
+0:351                  Constant:
+0:351                    0 (const int)
+0:351                  Constant:
+0:351                    1 (const int)
+0:351              Constant:
+0:351                0 (const int)
+0:351                0 (const int)
+0:351            'ballot' ( temp highp 4-component vector of uint)
+0:352      move second child to first child ( temp highp 3-component vector of int)
+0:352        vector swizzle ( temp highp 3-component vector of int)
+0:352          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:352            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:352              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:352              Constant:
+0:352                0 (const int)
+0:352            Constant:
+0:352              1 (const int)
+0:352          Sequence
+0:352            Constant:
+0:352              0 (const int)
+0:352            Constant:
+0:352              1 (const int)
+0:352            Constant:
+0:352              2 (const int)
+0:352        Convert bool to int ( temp highp 3-component vector of int)
+0:352          ERROR: Bad aggregation op
+ ( global 3-component vector of bool, operation at highp)
+0:352            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:352              vector swizzle ( temp highp 3-component vector of int)
+0:352                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:352                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:352                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:352                    Constant:
+0:352                      1 (const int)
+0:352                  Constant:
+0:352                    1 (const int)
+0:352                Sequence
+0:352                  Constant:
+0:352                    0 (const int)
+0:352                  Constant:
+0:352                    1 (const int)
+0:352                  Constant:
+0:352                    2 (const int)
+0:352              Constant:
+0:352                0 (const int)
+0:352                0 (const int)
+0:352                0 (const int)
+0:352            'ballot' ( temp highp 4-component vector of uint)
+0:353      move second child to first child ( temp highp 4-component vector of int)
+0:353        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:353          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:353            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:353            Constant:
+0:353              0 (const int)
+0:353          Constant:
+0:353            1 (const int)
+0:353        Convert bool to int ( temp highp 4-component vector of int)
+0:353          ERROR: Bad aggregation op
+ ( global 4-component vector of bool, operation at highp)
+0:353            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:353              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:353                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:353                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:353                  Constant:
+0:353                    1 (const int)
+0:353                Constant:
+0:353                  1 (const int)
+0:353              Constant:
+0:353                0 (const int)
+0:353                0 (const int)
+0:353                0 (const int)
+0:353                0 (const int)
+0:353            'ballot' ( temp highp 4-component vector of uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
diff --git a/Test/baseResults/glsl.es320.subgroupQuad.comp.out b/Test/baseResults/glsl.es320.subgroupQuad.comp.out
new file mode 100644
index 0000000..0863db0
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupQuad.comp.out
@@ -0,0 +1,3429 @@
+glsl.es320.subgroupQuad.comp
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_quad
+local_size = (8, 1, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      move second child to first child ( temp highp float)
+0:18        direct index ( temp highp float)
+0:18          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            0 (const int)
+0:18        subgroupQuadBroadcast ( global highp float)
+0:18          direct index ( temp highp float)
+0:18            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                Constant:
+0:18                  0 (const int)
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            1 (const uint)
+0:19      move second child to first child ( temp highp 2-component vector of float)
+0:19        vector swizzle ( temp highp 2-component vector of float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Sequence
+0:19            Constant:
+0:19              0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19        subgroupQuadBroadcast ( global highp 2-component vector of float)
+0:19          vector swizzle ( temp highp 2-component vector of float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                Constant:
+0:19                  1 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Sequence
+0:19              Constant:
+0:19                0 (const int)
+0:19              Constant:
+0:19                1 (const int)
+0:19          Constant:
+0:19            1 (const uint)
+0:20      move second child to first child ( temp highp 3-component vector of float)
+0:20        vector swizzle ( temp highp 3-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20            Constant:
+0:20              2 (const int)
+0:20        subgroupQuadBroadcast ( global highp 3-component vector of float)
+0:20          vector swizzle ( temp highp 3-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  2 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20              Constant:
+0:20                2 (const int)
+0:20          Constant:
+0:20            1 (const uint)
+0:21      move second child to first child ( temp highp 4-component vector of float)
+0:21        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            0 (const int)
+0:21        subgroupQuadBroadcast ( global highp 4-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                3 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            1 (const uint)
+0:23      move second child to first child ( temp highp int)
+0:23        direct index ( temp highp int)
+0:23          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              1 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupQuadBroadcast ( global highp int)
+0:23          direct index ( temp highp int)
+0:23            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          Constant:
+0:23            1 (const uint)
+0:24      move second child to first child ( temp highp 2-component vector of int)
+0:24        vector swizzle ( temp highp 2-component vector of int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              Constant:
+0:24                0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Sequence
+0:24            Constant:
+0:24              0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24        subgroupQuadBroadcast ( global highp 2-component vector of int)
+0:24          vector swizzle ( temp highp 2-component vector of int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                Constant:
+0:24                  1 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Sequence
+0:24              Constant:
+0:24                0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24          Constant:
+0:24            1 (const uint)
+0:25      move second child to first child ( temp highp 3-component vector of int)
+0:25        vector swizzle ( temp highp 3-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25        subgroupQuadBroadcast ( global highp 3-component vector of int)
+0:25          vector swizzle ( temp highp 3-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  2 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25          Constant:
+0:25            1 (const uint)
+0:26      move second child to first child ( temp highp 4-component vector of int)
+0:26        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              0 (const int)
+0:26          Constant:
+0:26            1 (const int)
+0:26        subgroupQuadBroadcast ( global highp 4-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                3 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Constant:
+0:26            1 (const uint)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupQuadBroadcast ( global highp uint)
+0:28          direct index ( temp highp uint)
+0:28            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28          Constant:
+0:28            1 (const uint)
+0:29      move second child to first child ( temp highp 2-component vector of uint)
+0:29        vector swizzle ( temp highp 2-component vector of uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                0 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupQuadBroadcast ( global highp 2-component vector of uint)
+0:29          vector swizzle ( temp highp 2-component vector of uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29          Constant:
+0:29            1 (const uint)
+0:30      move second child to first child ( temp highp 3-component vector of uint)
+0:30        vector swizzle ( temp highp 3-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              Constant:
+0:30                0 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30        subgroupQuadBroadcast ( global highp 3-component vector of uint)
+0:30          vector swizzle ( temp highp 3-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  2 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30          Constant:
+0:30            1 (const uint)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              0 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupQuadBroadcast ( global highp 4-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Constant:
+0:31            1 (const uint)
+0:33      move second child to first child ( temp highp int)
+0:33        direct index ( temp highp int)
+0:33          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                1 (const int)
+0:33            Constant:
+0:33              1 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        Convert bool to int ( temp highp int)
+0:33          subgroupQuadBroadcast ( global bool)
+0:33            Compare Less Than ( temp bool)
+0:33              direct index ( temp highp int)
+0:33                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                  Constant:
+0:33                    1 (const int)
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            Constant:
+0:33              1 (const uint)
+0:34      move second child to first child ( temp highp 2-component vector of int)
+0:34        vector swizzle ( temp highp 2-component vector of int)
+0:34          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              Constant:
+0:34                1 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        Convert bool to int ( temp highp 2-component vector of int)
+0:34          subgroupQuadBroadcast ( global 2-component vector of bool)
+0:34            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:34              vector swizzle ( temp highp 2-component vector of int)
+0:34                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    Constant:
+0:34                      1 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34                Sequence
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34                0 (const int)
+0:34            Constant:
+0:34              1 (const uint)
+0:35      move second child to first child ( temp highp 3-component vector of int)
+0:35        vector swizzle ( temp highp 3-component vector of int)
+0:35          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              Constant:
+0:35                1 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35            Constant:
+0:35              2 (const int)
+0:35        Convert bool to int ( temp highp 3-component vector of int)
+0:35          subgroupQuadBroadcast ( global 3-component vector of bool)
+0:35            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:35              vector swizzle ( temp highp 3-component vector of int)
+0:35                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    Constant:
+0:35                      1 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                Sequence
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                  Constant:
+0:35                    2 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35                0 (const int)
+0:35                0 (const int)
+0:35            Constant:
+0:35              1 (const uint)
+0:36      move second child to first child ( temp highp 4-component vector of int)
+0:36        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              1 (const int)
+0:36          Constant:
+0:36            1 (const int)
+0:36        Convert bool to int ( temp highp 4-component vector of int)
+0:36          subgroupQuadBroadcast ( global 4-component vector of bool)
+0:36            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:36              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  Constant:
+0:36                    1 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36            Constant:
+0:36              1 (const uint)
+0:38      move second child to first child ( temp highp float)
+0:38        direct index ( temp highp float)
+0:38          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              Constant:
+0:38                1 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          Constant:
+0:38            0 (const int)
+0:38        subgroupQuadSwapHorizontal ( global highp float)
+0:38          direct index ( temp highp float)
+0:38            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                0 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:39      move second child to first child ( temp highp 2-component vector of float)
+0:39        vector swizzle ( temp highp 2-component vector of float)
+0:39          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              Constant:
+0:39                1 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Sequence
+0:39            Constant:
+0:39              0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39        subgroupQuadSwapHorizontal ( global highp 2-component vector of float)
+0:39          vector swizzle ( temp highp 2-component vector of float)
+0:39            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Sequence
+0:39              Constant:
+0:39                0 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:40      move second child to first child ( temp highp 3-component vector of float)
+0:40        vector swizzle ( temp highp 3-component vector of float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40            Constant:
+0:40              2 (const int)
+0:40        subgroupQuadSwapHorizontal ( global highp 3-component vector of float)
+0:40          vector swizzle ( temp highp 3-component vector of float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  2 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40              Constant:
+0:40                2 (const int)
+0:41      move second child to first child ( temp highp 4-component vector of float)
+0:41        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            Constant:
+0:41              1 (const int)
+0:41          Constant:
+0:41            0 (const int)
+0:41        subgroupQuadSwapHorizontal ( global highp 4-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                3 (const int)
+0:41            Constant:
+0:41              0 (const int)
+0:43      move second child to first child ( temp highp int)
+0:43        direct index ( temp highp int)
+0:43          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              1 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        subgroupQuadSwapHorizontal ( global highp int)
+0:43          direct index ( temp highp int)
+0:43            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:44      move second child to first child ( temp highp 2-component vector of int)
+0:44        vector swizzle ( temp highp 2-component vector of int)
+0:44          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              Constant:
+0:44                1 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44          Sequence
+0:44            Constant:
+0:44              0 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44        subgroupQuadSwapHorizontal ( global highp 2-component vector of int)
+0:44          vector swizzle ( temp highp 2-component vector of int)
+0:44            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                Constant:
+0:44                  1 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44            Sequence
+0:44              Constant:
+0:44                0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:45      move second child to first child ( temp highp 3-component vector of int)
+0:45        vector swizzle ( temp highp 3-component vector of int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                1 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45        subgroupQuadSwapHorizontal ( global highp 3-component vector of int)
+0:45          vector swizzle ( temp highp 3-component vector of int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:46      move second child to first child ( temp highp 4-component vector of int)
+0:46        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            Constant:
+0:46              1 (const int)
+0:46          Constant:
+0:46            1 (const int)
+0:46        subgroupQuadSwapHorizontal ( global highp 4-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                3 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:48      move second child to first child ( temp highp uint)
+0:48        direct index ( temp highp uint)
+0:48          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                1 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48          Constant:
+0:48            0 (const int)
+0:48        subgroupQuadSwapHorizontal ( global highp uint)
+0:48          direct index ( temp highp uint)
+0:48            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                Constant:
+0:48                  0 (const int)
+0:48              Constant:
+0:48                2 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:49      move second child to first child ( temp highp 2-component vector of uint)
+0:49        vector swizzle ( temp highp 2-component vector of uint)
+0:49          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              Constant:
+0:49                1 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49          Sequence
+0:49            Constant:
+0:49              0 (const int)
+0:49            Constant:
+0:49              1 (const int)
+0:49        subgroupQuadSwapHorizontal ( global highp 2-component vector of uint)
+0:49          vector swizzle ( temp highp 2-component vector of uint)
+0:49            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Constant:
+0:49                2 (const int)
+0:49            Sequence
+0:49              Constant:
+0:49                0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:50      move second child to first child ( temp highp 3-component vector of uint)
+0:50        vector swizzle ( temp highp 3-component vector of uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50        subgroupQuadSwapHorizontal ( global highp 3-component vector of uint)
+0:50          vector swizzle ( temp highp 3-component vector of uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  2 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:51      move second child to first child ( temp highp 4-component vector of uint)
+0:51        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            Constant:
+0:51              1 (const int)
+0:51          Constant:
+0:51            2 (const int)
+0:51        subgroupQuadSwapHorizontal ( global highp 4-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                3 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:53      move second child to first child ( temp highp int)
+0:53        direct index ( temp highp int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                2 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            0 (const int)
+0:53        Convert bool to int ( temp highp int)
+0:53          subgroupQuadSwapHorizontal ( global bool)
+0:53            Compare Less Than ( temp bool)
+0:53              direct index ( temp highp int)
+0:53                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    Constant:
+0:53                      0 (const int)
+0:53                  Constant:
+0:53                    1 (const int)
+0:53                Constant:
+0:53                  0 (const int)
+0:53              Constant:
+0:53                0 (const int)
+0:54      move second child to first child ( temp highp 2-component vector of int)
+0:54        vector swizzle ( temp highp 2-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              Constant:
+0:54                2 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          Sequence
+0:54            Constant:
+0:54              0 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54        Convert bool to int ( temp highp 2-component vector of int)
+0:54          subgroupQuadSwapHorizontal ( global 2-component vector of bool)
+0:54            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:54              vector swizzle ( temp highp 2-component vector of int)
+0:54                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    Constant:
+0:54                      1 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54                Sequence
+0:54                  Constant:
+0:54                    0 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54              Constant:
+0:54                0 (const int)
+0:54                0 (const int)
+0:55      move second child to first child ( temp highp 3-component vector of int)
+0:55        vector swizzle ( temp highp 3-component vector of int)
+0:55          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                2 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55            Constant:
+0:55              2 (const int)
+0:55        Convert bool to int ( temp highp 3-component vector of int)
+0:55          subgroupQuadSwapHorizontal ( global 3-component vector of bool)
+0:55            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:55              vector swizzle ( temp highp 3-component vector of int)
+0:55                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    Constant:
+0:55                      1 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                Sequence
+0:55                  Constant:
+0:55                    0 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                  Constant:
+0:55                    2 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55                0 (const int)
+0:55                0 (const int)
+0:56      move second child to first child ( temp highp 4-component vector of int)
+0:56        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            Constant:
+0:56              2 (const int)
+0:56          Constant:
+0:56            1 (const int)
+0:56        Convert bool to int ( temp highp 4-component vector of int)
+0:56          subgroupQuadSwapHorizontal ( global 4-component vector of bool)
+0:56            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:56              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  Constant:
+0:56                    1 (const int)
+0:56                Constant:
+0:56                  1 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:58      move second child to first child ( temp highp float)
+0:58        direct index ( temp highp float)
+0:58          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              Constant:
+0:58                2 (const int)
+0:58            Constant:
+0:58              0 (const int)
+0:58          Constant:
+0:58            0 (const int)
+0:58        subgroupQuadSwapVertical ( global highp float)
+0:58          direct index ( temp highp float)
+0:58            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                Constant:
+0:58                  0 (const int)
+0:58              Constant:
+0:58                0 (const int)
+0:58            Constant:
+0:58              0 (const int)
+0:59      move second child to first child ( temp highp 2-component vector of float)
+0:59        vector swizzle ( temp highp 2-component vector of float)
+0:59          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:59            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              Constant:
+0:59                2 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:59          Sequence
+0:59            Constant:
+0:59              0 (const int)
+0:59            Constant:
+0:59              1 (const int)
+0:59        subgroupQuadSwapVertical ( global highp 2-component vector of float)
+0:59          vector swizzle ( temp highp 2-component vector of float)
+0:59            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                Constant:
+0:59                  1 (const int)
+0:59              Constant:
+0:59                0 (const int)
+0:59            Sequence
+0:59              Constant:
+0:59                0 (const int)
+0:59              Constant:
+0:59                1 (const int)
+0:60      move second child to first child ( temp highp 3-component vector of float)
+0:60        vector swizzle ( temp highp 3-component vector of float)
+0:60          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:60            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              Constant:
+0:60                2 (const int)
+0:60            Constant:
+0:60              0 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60            Constant:
+0:60              2 (const int)
+0:60        subgroupQuadSwapVertical ( global highp 3-component vector of float)
+0:60          vector swizzle ( temp highp 3-component vector of float)
+0:60            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                Constant:
+0:60                  2 (const int)
+0:60              Constant:
+0:60                0 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60              Constant:
+0:60                2 (const int)
+0:61      move second child to first child ( temp highp 4-component vector of float)
+0:61        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:61          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            Constant:
+0:61              2 (const int)
+0:61          Constant:
+0:61            0 (const int)
+0:61        subgroupQuadSwapVertical ( global highp 4-component vector of float)
+0:61          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:61            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              Constant:
+0:61                3 (const int)
+0:61            Constant:
+0:61              0 (const int)
+0:63      move second child to first child ( temp highp int)
+0:63        direct index ( temp highp int)
+0:63          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              Constant:
+0:63                2 (const int)
+0:63            Constant:
+0:63              1 (const int)
+0:63          Constant:
+0:63            0 (const int)
+0:63        subgroupQuadSwapVertical ( global highp int)
+0:63          direct index ( temp highp int)
+0:63            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                Constant:
+0:63                  0 (const int)
+0:63              Constant:
+0:63                1 (const int)
+0:63            Constant:
+0:63              0 (const int)
+0:64      move second child to first child ( temp highp 2-component vector of int)
+0:64        vector swizzle ( temp highp 2-component vector of int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:64            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              Constant:
+0:64                2 (const int)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Sequence
+0:64            Constant:
+0:64              0 (const int)
+0:64            Constant:
+0:64              1 (const int)
+0:64        subgroupQuadSwapVertical ( global highp 2-component vector of int)
+0:64          vector swizzle ( temp highp 2-component vector of int)
+0:64            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                Constant:
+0:64                  1 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:64            Sequence
+0:64              Constant:
+0:64                0 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:65      move second child to first child ( temp highp 3-component vector of int)
+0:65        vector swizzle ( temp highp 3-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:65            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              Constant:
+0:65                2 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65        subgroupQuadSwapVertical ( global highp 3-component vector of int)
+0:65          vector swizzle ( temp highp 3-component vector of int)
+0:65            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                Constant:
+0:65                  2 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65            Sequence
+0:65              Constant:
+0:65                0 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:66      move second child to first child ( temp highp 4-component vector of int)
+0:66        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:66          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            Constant:
+0:66              2 (const int)
+0:66          Constant:
+0:66            1 (const int)
+0:66        subgroupQuadSwapVertical ( global highp 4-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:66            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              Constant:
+0:66                3 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:68      move second child to first child ( temp highp uint)
+0:68        direct index ( temp highp uint)
+0:68          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              Constant:
+0:68                2 (const int)
+0:68            Constant:
+0:68              2 (const int)
+0:68          Constant:
+0:68            0 (const int)
+0:68        subgroupQuadSwapVertical ( global highp uint)
+0:68          direct index ( temp highp uint)
+0:68            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                Constant:
+0:68                  0 (const int)
+0:68              Constant:
+0:68                2 (const int)
+0:68            Constant:
+0:68              0 (const int)
+0:69      move second child to first child ( temp highp 2-component vector of uint)
+0:69        vector swizzle ( temp highp 2-component vector of uint)
+0:69          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:69            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              Constant:
+0:69                2 (const int)
+0:69            Constant:
+0:69              2 (const int)
+0:69          Sequence
+0:69            Constant:
+0:69              0 (const int)
+0:69            Constant:
+0:69              1 (const int)
+0:69        subgroupQuadSwapVertical ( global highp 2-component vector of uint)
+0:69          vector swizzle ( temp highp 2-component vector of uint)
+0:69            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                Constant:
+0:69                  1 (const int)
+0:69              Constant:
+0:69                2 (const int)
+0:69            Sequence
+0:69              Constant:
+0:69                0 (const int)
+0:69              Constant:
+0:69                1 (const int)
+0:70      move second child to first child ( temp highp 3-component vector of uint)
+0:70        vector swizzle ( temp highp 3-component vector of uint)
+0:70          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:70            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              Constant:
+0:70                2 (const int)
+0:70            Constant:
+0:70              2 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70            Constant:
+0:70              2 (const int)
+0:70        subgroupQuadSwapVertical ( global highp 3-component vector of uint)
+0:70          vector swizzle ( temp highp 3-component vector of uint)
+0:70            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                Constant:
+0:70                  2 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:71      move second child to first child ( temp highp 4-component vector of uint)
+0:71        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:71          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            Constant:
+0:71              2 (const int)
+0:71          Constant:
+0:71            2 (const int)
+0:71        subgroupQuadSwapVertical ( global highp 4-component vector of uint)
+0:71          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:71            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              Constant:
+0:71                3 (const int)
+0:71            Constant:
+0:71              2 (const int)
+0:73      move second child to first child ( temp highp int)
+0:73        direct index ( temp highp int)
+0:73          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:73            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              Constant:
+0:73                3 (const int)
+0:73            Constant:
+0:73              1 (const int)
+0:73          Constant:
+0:73            0 (const int)
+0:73        Convert bool to int ( temp highp int)
+0:73          subgroupQuadSwapVertical ( global bool)
+0:73            Compare Less Than ( temp bool)
+0:73              direct index ( temp highp int)
+0:73                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:73                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                    Constant:
+0:73                      0 (const int)
+0:73                  Constant:
+0:73                    1 (const int)
+0:73                Constant:
+0:73                  0 (const int)
+0:73              Constant:
+0:73                0 (const int)
+0:74      move second child to first child ( temp highp 2-component vector of int)
+0:74        vector swizzle ( temp highp 2-component vector of int)
+0:74          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:74            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              1 (const int)
+0:74          Sequence
+0:74            Constant:
+0:74              0 (const int)
+0:74            Constant:
+0:74              1 (const int)
+0:74        Convert bool to int ( temp highp 2-component vector of int)
+0:74          subgroupQuadSwapVertical ( global 2-component vector of bool)
+0:74            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:74              vector swizzle ( temp highp 2-component vector of int)
+0:74                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:74                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                    Constant:
+0:74                      1 (const int)
+0:74                  Constant:
+0:74                    1 (const int)
+0:74                Sequence
+0:74                  Constant:
+0:74                    0 (const int)
+0:74                  Constant:
+0:74                    1 (const int)
+0:74              Constant:
+0:74                0 (const int)
+0:74                0 (const int)
+0:75      move second child to first child ( temp highp 3-component vector of int)
+0:75        vector swizzle ( temp highp 3-component vector of int)
+0:75          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:75            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              Constant:
+0:75                3 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75            Constant:
+0:75              2 (const int)
+0:75        Convert bool to int ( temp highp 3-component vector of int)
+0:75          subgroupQuadSwapVertical ( global 3-component vector of bool)
+0:75            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:75              vector swizzle ( temp highp 3-component vector of int)
+0:75                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:75                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                    Constant:
+0:75                      1 (const int)
+0:75                  Constant:
+0:75                    1 (const int)
+0:75                Sequence
+0:75                  Constant:
+0:75                    0 (const int)
+0:75                  Constant:
+0:75                    1 (const int)
+0:75                  Constant:
+0:75                    2 (const int)
+0:75              Constant:
+0:75                0 (const int)
+0:75                0 (const int)
+0:75                0 (const int)
+0:76      move second child to first child ( temp highp 4-component vector of int)
+0:76        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:76          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            Constant:
+0:76              3 (const int)
+0:76          Constant:
+0:76            1 (const int)
+0:76        Convert bool to int ( temp highp 4-component vector of int)
+0:76          subgroupQuadSwapVertical ( global 4-component vector of bool)
+0:76            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:76              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:76                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76                  Constant:
+0:76                    1 (const int)
+0:76                Constant:
+0:76                  1 (const int)
+0:76              Constant:
+0:76                0 (const int)
+0:76                0 (const int)
+0:76                0 (const int)
+0:76                0 (const int)
+0:78      move second child to first child ( temp highp float)
+0:78        direct index ( temp highp float)
+0:78          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:78            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              Constant:
+0:78                3 (const int)
+0:78            Constant:
+0:78              0 (const int)
+0:78          Constant:
+0:78            0 (const int)
+0:78        subgroupQuadSwapDiagonal ( global highp float)
+0:78          direct index ( temp highp float)
+0:78            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:78              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                Constant:
+0:78                  0 (const int)
+0:78              Constant:
+0:78                0 (const int)
+0:78            Constant:
+0:78              0 (const int)
+0:79      move second child to first child ( temp highp 2-component vector of float)
+0:79        vector swizzle ( temp highp 2-component vector of float)
+0:79          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:79            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              Constant:
+0:79                3 (const int)
+0:79            Constant:
+0:79              0 (const int)
+0:79          Sequence
+0:79            Constant:
+0:79              0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79        subgroupQuadSwapDiagonal ( global highp 2-component vector of float)
+0:79          vector swizzle ( temp highp 2-component vector of float)
+0:79            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                Constant:
+0:79                  1 (const int)
+0:79              Constant:
+0:79                0 (const int)
+0:79            Sequence
+0:79              Constant:
+0:79                0 (const int)
+0:79              Constant:
+0:79                1 (const int)
+0:80      move second child to first child ( temp highp 3-component vector of float)
+0:80        vector swizzle ( temp highp 3-component vector of float)
+0:80          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:80            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              Constant:
+0:80                3 (const int)
+0:80            Constant:
+0:80              0 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80            Constant:
+0:80              2 (const int)
+0:80        subgroupQuadSwapDiagonal ( global highp 3-component vector of float)
+0:80          vector swizzle ( temp highp 3-component vector of float)
+0:80            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                Constant:
+0:80                  2 (const int)
+0:80              Constant:
+0:80                0 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80              Constant:
+0:80                2 (const int)
+0:81      move second child to first child ( temp highp 4-component vector of float)
+0:81        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:81          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            Constant:
+0:81              3 (const int)
+0:81          Constant:
+0:81            0 (const int)
+0:81        subgroupQuadSwapDiagonal ( global highp 4-component vector of float)
+0:81          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:81            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              Constant:
+0:81                3 (const int)
+0:81            Constant:
+0:81              0 (const int)
+0:83      move second child to first child ( temp highp int)
+0:83        direct index ( temp highp int)
+0:83          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:83            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              Constant:
+0:83                3 (const int)
+0:83            Constant:
+0:83              1 (const int)
+0:83          Constant:
+0:83            0 (const int)
+0:83        subgroupQuadSwapDiagonal ( global highp int)
+0:83          direct index ( temp highp int)
+0:83            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:83              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                Constant:
+0:83                  0 (const int)
+0:83              Constant:
+0:83                1 (const int)
+0:83            Constant:
+0:83              0 (const int)
+0:84      move second child to first child ( temp highp 2-component vector of int)
+0:84        vector swizzle ( temp highp 2-component vector of int)
+0:84          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:84            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              Constant:
+0:84                3 (const int)
+0:84            Constant:
+0:84              1 (const int)
+0:84          Sequence
+0:84            Constant:
+0:84              0 (const int)
+0:84            Constant:
+0:84              1 (const int)
+0:84        subgroupQuadSwapDiagonal ( global highp 2-component vector of int)
+0:84          vector swizzle ( temp highp 2-component vector of int)
+0:84            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                Constant:
+0:84                  1 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:84            Sequence
+0:84              Constant:
+0:84                0 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:85      move second child to first child ( temp highp 3-component vector of int)
+0:85        vector swizzle ( temp highp 3-component vector of int)
+0:85          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:85            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              Constant:
+0:85                3 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85        subgroupQuadSwapDiagonal ( global highp 3-component vector of int)
+0:85          vector swizzle ( temp highp 3-component vector of int)
+0:85            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                Constant:
+0:85                  2 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:86      move second child to first child ( temp highp 4-component vector of int)
+0:86        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:86          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            Constant:
+0:86              3 (const int)
+0:86          Constant:
+0:86            1 (const int)
+0:86        subgroupQuadSwapDiagonal ( global highp 4-component vector of int)
+0:86          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:86            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              Constant:
+0:86                3 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:88      move second child to first child ( temp highp uint)
+0:88        direct index ( temp highp uint)
+0:88          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:88            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              Constant:
+0:88                3 (const int)
+0:88            Constant:
+0:88              2 (const int)
+0:88          Constant:
+0:88            0 (const int)
+0:88        subgroupQuadSwapDiagonal ( global highp uint)
+0:88          direct index ( temp highp uint)
+0:88            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:88              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                Constant:
+0:88                  0 (const int)
+0:88              Constant:
+0:88                2 (const int)
+0:88            Constant:
+0:88              0 (const int)
+0:89      move second child to first child ( temp highp 2-component vector of uint)
+0:89        vector swizzle ( temp highp 2-component vector of uint)
+0:89          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:89            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              Constant:
+0:89                3 (const int)
+0:89            Constant:
+0:89              2 (const int)
+0:89          Sequence
+0:89            Constant:
+0:89              0 (const int)
+0:89            Constant:
+0:89              1 (const int)
+0:89        subgroupQuadSwapDiagonal ( global highp 2-component vector of uint)
+0:89          vector swizzle ( temp highp 2-component vector of uint)
+0:89            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:89              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                Constant:
+0:89                  1 (const int)
+0:89              Constant:
+0:89                2 (const int)
+0:89            Sequence
+0:89              Constant:
+0:89                0 (const int)
+0:89              Constant:
+0:89                1 (const int)
+0:90      move second child to first child ( temp highp 3-component vector of uint)
+0:90        vector swizzle ( temp highp 3-component vector of uint)
+0:90          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:90            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              Constant:
+0:90                3 (const int)
+0:90            Constant:
+0:90              2 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90            Constant:
+0:90              2 (const int)
+0:90        subgroupQuadSwapDiagonal ( global highp 3-component vector of uint)
+0:90          vector swizzle ( temp highp 3-component vector of uint)
+0:90            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:90              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                Constant:
+0:90                  2 (const int)
+0:90              Constant:
+0:90                2 (const int)
+0:90            Sequence
+0:90              Constant:
+0:90                0 (const int)
+0:90              Constant:
+0:90                1 (const int)
+0:90              Constant:
+0:90                2 (const int)
+0:91      move second child to first child ( temp highp 4-component vector of uint)
+0:91        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:91          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            Constant:
+0:91              3 (const int)
+0:91          Constant:
+0:91            2 (const int)
+0:91        subgroupQuadSwapDiagonal ( global highp 4-component vector of uint)
+0:91          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:91            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91              Constant:
+0:91                3 (const int)
+0:91            Constant:
+0:91              2 (const int)
+0:93      move second child to first child ( temp highp int)
+0:93        direct index ( temp highp int)
+0:93          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              Constant:
+0:93                3 (const int)
+0:93            Constant:
+0:93              1 (const int)
+0:93          Constant:
+0:93            0 (const int)
+0:93        Convert bool to int ( temp highp int)
+0:93          subgroupQuadSwapDiagonal ( global bool)
+0:93            Compare Less Than ( temp bool)
+0:93              direct index ( temp highp int)
+0:93                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                    Constant:
+0:93                      0 (const int)
+0:93                  Constant:
+0:93                    1 (const int)
+0:93                Constant:
+0:93                  0 (const int)
+0:93              Constant:
+0:93                0 (const int)
+0:94      move second child to first child ( temp highp 2-component vector of int)
+0:94        vector swizzle ( temp highp 2-component vector of int)
+0:94          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94          Sequence
+0:94            Constant:
+0:94              0 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94        Convert bool to int ( temp highp 2-component vector of int)
+0:94          subgroupQuadSwapDiagonal ( global 2-component vector of bool)
+0:94            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:94              vector swizzle ( temp highp 2-component vector of int)
+0:94                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                    Constant:
+0:94                      1 (const int)
+0:94                  Constant:
+0:94                    1 (const int)
+0:94                Sequence
+0:94                  Constant:
+0:94                    0 (const int)
+0:94                  Constant:
+0:94                    1 (const int)
+0:94              Constant:
+0:94                0 (const int)
+0:94                0 (const int)
+0:95      move second child to first child ( temp highp 3-component vector of int)
+0:95        vector swizzle ( temp highp 3-component vector of int)
+0:95          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              Constant:
+0:95                3 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95            Constant:
+0:95              2 (const int)
+0:95        Convert bool to int ( temp highp 3-component vector of int)
+0:95          subgroupQuadSwapDiagonal ( global 3-component vector of bool)
+0:95            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:95              vector swizzle ( temp highp 3-component vector of int)
+0:95                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                    Constant:
+0:95                      1 (const int)
+0:95                  Constant:
+0:95                    1 (const int)
+0:95                Sequence
+0:95                  Constant:
+0:95                    0 (const int)
+0:95                  Constant:
+0:95                    1 (const int)
+0:95                  Constant:
+0:95                    2 (const int)
+0:95              Constant:
+0:95                0 (const int)
+0:95                0 (const int)
+0:95                0 (const int)
+0:96      move second child to first child ( temp highp 4-component vector of int)
+0:96        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            Constant:
+0:96              3 (const int)
+0:96          Constant:
+0:96            1 (const int)
+0:96        Convert bool to int ( temp highp 4-component vector of int)
+0:96          subgroupQuadSwapDiagonal ( global 4-component vector of bool)
+0:96            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:96              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96                  Constant:
+0:96                    1 (const int)
+0:96                Constant:
+0:96                  1 (const int)
+0:96              Constant:
+0:96                0 (const int)
+0:96                0 (const int)
+0:96                0 (const int)
+0:96                0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
+
+Linked compute stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_quad
+local_size = (8, 1, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      move second child to first child ( temp highp float)
+0:18        direct index ( temp highp float)
+0:18          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            0 (const int)
+0:18        subgroupQuadBroadcast ( global highp float)
+0:18          direct index ( temp highp float)
+0:18            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                Constant:
+0:18                  0 (const int)
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            1 (const uint)
+0:19      move second child to first child ( temp highp 2-component vector of float)
+0:19        vector swizzle ( temp highp 2-component vector of float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Sequence
+0:19            Constant:
+0:19              0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19        subgroupQuadBroadcast ( global highp 2-component vector of float)
+0:19          vector swizzle ( temp highp 2-component vector of float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                Constant:
+0:19                  1 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Sequence
+0:19              Constant:
+0:19                0 (const int)
+0:19              Constant:
+0:19                1 (const int)
+0:19          Constant:
+0:19            1 (const uint)
+0:20      move second child to first child ( temp highp 3-component vector of float)
+0:20        vector swizzle ( temp highp 3-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20            Constant:
+0:20              2 (const int)
+0:20        subgroupQuadBroadcast ( global highp 3-component vector of float)
+0:20          vector swizzle ( temp highp 3-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  2 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20              Constant:
+0:20                2 (const int)
+0:20          Constant:
+0:20            1 (const uint)
+0:21      move second child to first child ( temp highp 4-component vector of float)
+0:21        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            0 (const int)
+0:21        subgroupQuadBroadcast ( global highp 4-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                3 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            1 (const uint)
+0:23      move second child to first child ( temp highp int)
+0:23        direct index ( temp highp int)
+0:23          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              1 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupQuadBroadcast ( global highp int)
+0:23          direct index ( temp highp int)
+0:23            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          Constant:
+0:23            1 (const uint)
+0:24      move second child to first child ( temp highp 2-component vector of int)
+0:24        vector swizzle ( temp highp 2-component vector of int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              Constant:
+0:24                0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Sequence
+0:24            Constant:
+0:24              0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24        subgroupQuadBroadcast ( global highp 2-component vector of int)
+0:24          vector swizzle ( temp highp 2-component vector of int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                Constant:
+0:24                  1 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Sequence
+0:24              Constant:
+0:24                0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24          Constant:
+0:24            1 (const uint)
+0:25      move second child to first child ( temp highp 3-component vector of int)
+0:25        vector swizzle ( temp highp 3-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25        subgroupQuadBroadcast ( global highp 3-component vector of int)
+0:25          vector swizzle ( temp highp 3-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  2 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25          Constant:
+0:25            1 (const uint)
+0:26      move second child to first child ( temp highp 4-component vector of int)
+0:26        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              0 (const int)
+0:26          Constant:
+0:26            1 (const int)
+0:26        subgroupQuadBroadcast ( global highp 4-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                3 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26          Constant:
+0:26            1 (const uint)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupQuadBroadcast ( global highp uint)
+0:28          direct index ( temp highp uint)
+0:28            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28          Constant:
+0:28            1 (const uint)
+0:29      move second child to first child ( temp highp 2-component vector of uint)
+0:29        vector swizzle ( temp highp 2-component vector of uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                0 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupQuadBroadcast ( global highp 2-component vector of uint)
+0:29          vector swizzle ( temp highp 2-component vector of uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29          Constant:
+0:29            1 (const uint)
+0:30      move second child to first child ( temp highp 3-component vector of uint)
+0:30        vector swizzle ( temp highp 3-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              Constant:
+0:30                0 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30        subgroupQuadBroadcast ( global highp 3-component vector of uint)
+0:30          vector swizzle ( temp highp 3-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  2 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30          Constant:
+0:30            1 (const uint)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              0 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupQuadBroadcast ( global highp 4-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31          Constant:
+0:31            1 (const uint)
+0:33      move second child to first child ( temp highp int)
+0:33        direct index ( temp highp int)
+0:33          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                1 (const int)
+0:33            Constant:
+0:33              1 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        Convert bool to int ( temp highp int)
+0:33          subgroupQuadBroadcast ( global bool)
+0:33            Compare Less Than ( temp bool)
+0:33              direct index ( temp highp int)
+0:33                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                  Constant:
+0:33                    1 (const int)
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            Constant:
+0:33              1 (const uint)
+0:34      move second child to first child ( temp highp 2-component vector of int)
+0:34        vector swizzle ( temp highp 2-component vector of int)
+0:34          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              Constant:
+0:34                1 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        Convert bool to int ( temp highp 2-component vector of int)
+0:34          subgroupQuadBroadcast ( global 2-component vector of bool)
+0:34            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:34              vector swizzle ( temp highp 2-component vector of int)
+0:34                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    Constant:
+0:34                      1 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34                Sequence
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34                0 (const int)
+0:34            Constant:
+0:34              1 (const uint)
+0:35      move second child to first child ( temp highp 3-component vector of int)
+0:35        vector swizzle ( temp highp 3-component vector of int)
+0:35          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              Constant:
+0:35                1 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35            Constant:
+0:35              2 (const int)
+0:35        Convert bool to int ( temp highp 3-component vector of int)
+0:35          subgroupQuadBroadcast ( global 3-component vector of bool)
+0:35            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:35              vector swizzle ( temp highp 3-component vector of int)
+0:35                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    Constant:
+0:35                      1 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                Sequence
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                  Constant:
+0:35                    2 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35                0 (const int)
+0:35                0 (const int)
+0:35            Constant:
+0:35              1 (const uint)
+0:36      move second child to first child ( temp highp 4-component vector of int)
+0:36        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              1 (const int)
+0:36          Constant:
+0:36            1 (const int)
+0:36        Convert bool to int ( temp highp 4-component vector of int)
+0:36          subgroupQuadBroadcast ( global 4-component vector of bool)
+0:36            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:36              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  Constant:
+0:36                    1 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36            Constant:
+0:36              1 (const uint)
+0:38      move second child to first child ( temp highp float)
+0:38        direct index ( temp highp float)
+0:38          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              Constant:
+0:38                1 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          Constant:
+0:38            0 (const int)
+0:38        subgroupQuadSwapHorizontal ( global highp float)
+0:38          direct index ( temp highp float)
+0:38            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                0 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:39      move second child to first child ( temp highp 2-component vector of float)
+0:39        vector swizzle ( temp highp 2-component vector of float)
+0:39          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              Constant:
+0:39                1 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Sequence
+0:39            Constant:
+0:39              0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39        subgroupQuadSwapHorizontal ( global highp 2-component vector of float)
+0:39          vector swizzle ( temp highp 2-component vector of float)
+0:39            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Sequence
+0:39              Constant:
+0:39                0 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:40      move second child to first child ( temp highp 3-component vector of float)
+0:40        vector swizzle ( temp highp 3-component vector of float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40            Constant:
+0:40              2 (const int)
+0:40        subgroupQuadSwapHorizontal ( global highp 3-component vector of float)
+0:40          vector swizzle ( temp highp 3-component vector of float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  2 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40              Constant:
+0:40                2 (const int)
+0:41      move second child to first child ( temp highp 4-component vector of float)
+0:41        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            Constant:
+0:41              1 (const int)
+0:41          Constant:
+0:41            0 (const int)
+0:41        subgroupQuadSwapHorizontal ( global highp 4-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                3 (const int)
+0:41            Constant:
+0:41              0 (const int)
+0:43      move second child to first child ( temp highp int)
+0:43        direct index ( temp highp int)
+0:43          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              1 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        subgroupQuadSwapHorizontal ( global highp int)
+0:43          direct index ( temp highp int)
+0:43            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:44      move second child to first child ( temp highp 2-component vector of int)
+0:44        vector swizzle ( temp highp 2-component vector of int)
+0:44          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              Constant:
+0:44                1 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44          Sequence
+0:44            Constant:
+0:44              0 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44        subgroupQuadSwapHorizontal ( global highp 2-component vector of int)
+0:44          vector swizzle ( temp highp 2-component vector of int)
+0:44            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                Constant:
+0:44                  1 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44            Sequence
+0:44              Constant:
+0:44                0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:45      move second child to first child ( temp highp 3-component vector of int)
+0:45        vector swizzle ( temp highp 3-component vector of int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                1 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45        subgroupQuadSwapHorizontal ( global highp 3-component vector of int)
+0:45          vector swizzle ( temp highp 3-component vector of int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:46      move second child to first child ( temp highp 4-component vector of int)
+0:46        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            Constant:
+0:46              1 (const int)
+0:46          Constant:
+0:46            1 (const int)
+0:46        subgroupQuadSwapHorizontal ( global highp 4-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                3 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:48      move second child to first child ( temp highp uint)
+0:48        direct index ( temp highp uint)
+0:48          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                1 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48          Constant:
+0:48            0 (const int)
+0:48        subgroupQuadSwapHorizontal ( global highp uint)
+0:48          direct index ( temp highp uint)
+0:48            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                Constant:
+0:48                  0 (const int)
+0:48              Constant:
+0:48                2 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:49      move second child to first child ( temp highp 2-component vector of uint)
+0:49        vector swizzle ( temp highp 2-component vector of uint)
+0:49          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              Constant:
+0:49                1 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49          Sequence
+0:49            Constant:
+0:49              0 (const int)
+0:49            Constant:
+0:49              1 (const int)
+0:49        subgroupQuadSwapHorizontal ( global highp 2-component vector of uint)
+0:49          vector swizzle ( temp highp 2-component vector of uint)
+0:49            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Constant:
+0:49                2 (const int)
+0:49            Sequence
+0:49              Constant:
+0:49                0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:50      move second child to first child ( temp highp 3-component vector of uint)
+0:50        vector swizzle ( temp highp 3-component vector of uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50        subgroupQuadSwapHorizontal ( global highp 3-component vector of uint)
+0:50          vector swizzle ( temp highp 3-component vector of uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  2 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:51      move second child to first child ( temp highp 4-component vector of uint)
+0:51        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            Constant:
+0:51              1 (const int)
+0:51          Constant:
+0:51            2 (const int)
+0:51        subgroupQuadSwapHorizontal ( global highp 4-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                3 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:53      move second child to first child ( temp highp int)
+0:53        direct index ( temp highp int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                2 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            0 (const int)
+0:53        Convert bool to int ( temp highp int)
+0:53          subgroupQuadSwapHorizontal ( global bool)
+0:53            Compare Less Than ( temp bool)
+0:53              direct index ( temp highp int)
+0:53                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    Constant:
+0:53                      0 (const int)
+0:53                  Constant:
+0:53                    1 (const int)
+0:53                Constant:
+0:53                  0 (const int)
+0:53              Constant:
+0:53                0 (const int)
+0:54      move second child to first child ( temp highp 2-component vector of int)
+0:54        vector swizzle ( temp highp 2-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              Constant:
+0:54                2 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          Sequence
+0:54            Constant:
+0:54              0 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54        Convert bool to int ( temp highp 2-component vector of int)
+0:54          subgroupQuadSwapHorizontal ( global 2-component vector of bool)
+0:54            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:54              vector swizzle ( temp highp 2-component vector of int)
+0:54                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    Constant:
+0:54                      1 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54                Sequence
+0:54                  Constant:
+0:54                    0 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54              Constant:
+0:54                0 (const int)
+0:54                0 (const int)
+0:55      move second child to first child ( temp highp 3-component vector of int)
+0:55        vector swizzle ( temp highp 3-component vector of int)
+0:55          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                2 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55            Constant:
+0:55              2 (const int)
+0:55        Convert bool to int ( temp highp 3-component vector of int)
+0:55          subgroupQuadSwapHorizontal ( global 3-component vector of bool)
+0:55            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:55              vector swizzle ( temp highp 3-component vector of int)
+0:55                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    Constant:
+0:55                      1 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                Sequence
+0:55                  Constant:
+0:55                    0 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                  Constant:
+0:55                    2 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55                0 (const int)
+0:55                0 (const int)
+0:56      move second child to first child ( temp highp 4-component vector of int)
+0:56        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            Constant:
+0:56              2 (const int)
+0:56          Constant:
+0:56            1 (const int)
+0:56        Convert bool to int ( temp highp 4-component vector of int)
+0:56          subgroupQuadSwapHorizontal ( global 4-component vector of bool)
+0:56            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:56              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  Constant:
+0:56                    1 (const int)
+0:56                Constant:
+0:56                  1 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:58      move second child to first child ( temp highp float)
+0:58        direct index ( temp highp float)
+0:58          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58              Constant:
+0:58                2 (const int)
+0:58            Constant:
+0:58              0 (const int)
+0:58          Constant:
+0:58            0 (const int)
+0:58        subgroupQuadSwapVertical ( global highp float)
+0:58          direct index ( temp highp float)
+0:58            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:58              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:58                Constant:
+0:58                  0 (const int)
+0:58              Constant:
+0:58                0 (const int)
+0:58            Constant:
+0:58              0 (const int)
+0:59      move second child to first child ( temp highp 2-component vector of float)
+0:59        vector swizzle ( temp highp 2-component vector of float)
+0:59          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:59            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59              Constant:
+0:59                2 (const int)
+0:59            Constant:
+0:59              0 (const int)
+0:59          Sequence
+0:59            Constant:
+0:59              0 (const int)
+0:59            Constant:
+0:59              1 (const int)
+0:59        subgroupQuadSwapVertical ( global highp 2-component vector of float)
+0:59          vector swizzle ( temp highp 2-component vector of float)
+0:59            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:59                Constant:
+0:59                  1 (const int)
+0:59              Constant:
+0:59                0 (const int)
+0:59            Sequence
+0:59              Constant:
+0:59                0 (const int)
+0:59              Constant:
+0:59                1 (const int)
+0:60      move second child to first child ( temp highp 3-component vector of float)
+0:60        vector swizzle ( temp highp 3-component vector of float)
+0:60          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:60            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60              Constant:
+0:60                2 (const int)
+0:60            Constant:
+0:60              0 (const int)
+0:60          Sequence
+0:60            Constant:
+0:60              0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60            Constant:
+0:60              2 (const int)
+0:60        subgroupQuadSwapVertical ( global highp 3-component vector of float)
+0:60          vector swizzle ( temp highp 3-component vector of float)
+0:60            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:60                Constant:
+0:60                  2 (const int)
+0:60              Constant:
+0:60                0 (const int)
+0:60            Sequence
+0:60              Constant:
+0:60                0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60              Constant:
+0:60                2 (const int)
+0:61      move second child to first child ( temp highp 4-component vector of float)
+0:61        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:61          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61            Constant:
+0:61              2 (const int)
+0:61          Constant:
+0:61            0 (const int)
+0:61        subgroupQuadSwapVertical ( global highp 4-component vector of float)
+0:61          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:61            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:61              Constant:
+0:61                3 (const int)
+0:61            Constant:
+0:61              0 (const int)
+0:63      move second child to first child ( temp highp int)
+0:63        direct index ( temp highp int)
+0:63          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63              Constant:
+0:63                2 (const int)
+0:63            Constant:
+0:63              1 (const int)
+0:63          Constant:
+0:63            0 (const int)
+0:63        subgroupQuadSwapVertical ( global highp int)
+0:63          direct index ( temp highp int)
+0:63            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:63              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:63                Constant:
+0:63                  0 (const int)
+0:63              Constant:
+0:63                1 (const int)
+0:63            Constant:
+0:63              0 (const int)
+0:64      move second child to first child ( temp highp 2-component vector of int)
+0:64        vector swizzle ( temp highp 2-component vector of int)
+0:64          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:64            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64              Constant:
+0:64                2 (const int)
+0:64            Constant:
+0:64              1 (const int)
+0:64          Sequence
+0:64            Constant:
+0:64              0 (const int)
+0:64            Constant:
+0:64              1 (const int)
+0:64        subgroupQuadSwapVertical ( global highp 2-component vector of int)
+0:64          vector swizzle ( temp highp 2-component vector of int)
+0:64            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:64                Constant:
+0:64                  1 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:64            Sequence
+0:64              Constant:
+0:64                0 (const int)
+0:64              Constant:
+0:64                1 (const int)
+0:65      move second child to first child ( temp highp 3-component vector of int)
+0:65        vector swizzle ( temp highp 3-component vector of int)
+0:65          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:65            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65              Constant:
+0:65                2 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65          Sequence
+0:65            Constant:
+0:65              0 (const int)
+0:65            Constant:
+0:65              1 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65        subgroupQuadSwapVertical ( global highp 3-component vector of int)
+0:65          vector swizzle ( temp highp 3-component vector of int)
+0:65            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:65                Constant:
+0:65                  2 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65            Sequence
+0:65              Constant:
+0:65                0 (const int)
+0:65              Constant:
+0:65                1 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:66      move second child to first child ( temp highp 4-component vector of int)
+0:66        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:66          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66            Constant:
+0:66              2 (const int)
+0:66          Constant:
+0:66            1 (const int)
+0:66        subgroupQuadSwapVertical ( global highp 4-component vector of int)
+0:66          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:66            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:66              Constant:
+0:66                3 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:68      move second child to first child ( temp highp uint)
+0:68        direct index ( temp highp uint)
+0:68          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68              Constant:
+0:68                2 (const int)
+0:68            Constant:
+0:68              2 (const int)
+0:68          Constant:
+0:68            0 (const int)
+0:68        subgroupQuadSwapVertical ( global highp uint)
+0:68          direct index ( temp highp uint)
+0:68            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:68              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:68                Constant:
+0:68                  0 (const int)
+0:68              Constant:
+0:68                2 (const int)
+0:68            Constant:
+0:68              0 (const int)
+0:69      move second child to first child ( temp highp 2-component vector of uint)
+0:69        vector swizzle ( temp highp 2-component vector of uint)
+0:69          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:69            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69              Constant:
+0:69                2 (const int)
+0:69            Constant:
+0:69              2 (const int)
+0:69          Sequence
+0:69            Constant:
+0:69              0 (const int)
+0:69            Constant:
+0:69              1 (const int)
+0:69        subgroupQuadSwapVertical ( global highp 2-component vector of uint)
+0:69          vector swizzle ( temp highp 2-component vector of uint)
+0:69            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:69              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:69                Constant:
+0:69                  1 (const int)
+0:69              Constant:
+0:69                2 (const int)
+0:69            Sequence
+0:69              Constant:
+0:69                0 (const int)
+0:69              Constant:
+0:69                1 (const int)
+0:70      move second child to first child ( temp highp 3-component vector of uint)
+0:70        vector swizzle ( temp highp 3-component vector of uint)
+0:70          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:70            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70              Constant:
+0:70                2 (const int)
+0:70            Constant:
+0:70              2 (const int)
+0:70          Sequence
+0:70            Constant:
+0:70              0 (const int)
+0:70            Constant:
+0:70              1 (const int)
+0:70            Constant:
+0:70              2 (const int)
+0:70        subgroupQuadSwapVertical ( global highp 3-component vector of uint)
+0:70          vector swizzle ( temp highp 3-component vector of uint)
+0:70            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:70                Constant:
+0:70                  2 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:70            Sequence
+0:70              Constant:
+0:70                0 (const int)
+0:70              Constant:
+0:70                1 (const int)
+0:70              Constant:
+0:70                2 (const int)
+0:71      move second child to first child ( temp highp 4-component vector of uint)
+0:71        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:71          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71            Constant:
+0:71              2 (const int)
+0:71          Constant:
+0:71            2 (const int)
+0:71        subgroupQuadSwapVertical ( global highp 4-component vector of uint)
+0:71          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:71            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:71              Constant:
+0:71                3 (const int)
+0:71            Constant:
+0:71              2 (const int)
+0:73      move second child to first child ( temp highp int)
+0:73        direct index ( temp highp int)
+0:73          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:73            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73              Constant:
+0:73                3 (const int)
+0:73            Constant:
+0:73              1 (const int)
+0:73          Constant:
+0:73            0 (const int)
+0:73        Convert bool to int ( temp highp int)
+0:73          subgroupQuadSwapVertical ( global bool)
+0:73            Compare Less Than ( temp bool)
+0:73              direct index ( temp highp int)
+0:73                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:73                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:73                    Constant:
+0:73                      0 (const int)
+0:73                  Constant:
+0:73                    1 (const int)
+0:73                Constant:
+0:73                  0 (const int)
+0:73              Constant:
+0:73                0 (const int)
+0:74      move second child to first child ( temp highp 2-component vector of int)
+0:74        vector swizzle ( temp highp 2-component vector of int)
+0:74          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:74            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74              Constant:
+0:74                3 (const int)
+0:74            Constant:
+0:74              1 (const int)
+0:74          Sequence
+0:74            Constant:
+0:74              0 (const int)
+0:74            Constant:
+0:74              1 (const int)
+0:74        Convert bool to int ( temp highp 2-component vector of int)
+0:74          subgroupQuadSwapVertical ( global 2-component vector of bool)
+0:74            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:74              vector swizzle ( temp highp 2-component vector of int)
+0:74                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:74                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:74                    Constant:
+0:74                      1 (const int)
+0:74                  Constant:
+0:74                    1 (const int)
+0:74                Sequence
+0:74                  Constant:
+0:74                    0 (const int)
+0:74                  Constant:
+0:74                    1 (const int)
+0:74              Constant:
+0:74                0 (const int)
+0:74                0 (const int)
+0:75      move second child to first child ( temp highp 3-component vector of int)
+0:75        vector swizzle ( temp highp 3-component vector of int)
+0:75          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:75            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75              Constant:
+0:75                3 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75          Sequence
+0:75            Constant:
+0:75              0 (const int)
+0:75            Constant:
+0:75              1 (const int)
+0:75            Constant:
+0:75              2 (const int)
+0:75        Convert bool to int ( temp highp 3-component vector of int)
+0:75          subgroupQuadSwapVertical ( global 3-component vector of bool)
+0:75            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:75              vector swizzle ( temp highp 3-component vector of int)
+0:75                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:75                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:75                    Constant:
+0:75                      1 (const int)
+0:75                  Constant:
+0:75                    1 (const int)
+0:75                Sequence
+0:75                  Constant:
+0:75                    0 (const int)
+0:75                  Constant:
+0:75                    1 (const int)
+0:75                  Constant:
+0:75                    2 (const int)
+0:75              Constant:
+0:75                0 (const int)
+0:75                0 (const int)
+0:75                0 (const int)
+0:76      move second child to first child ( temp highp 4-component vector of int)
+0:76        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:76          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76            Constant:
+0:76              3 (const int)
+0:76          Constant:
+0:76            1 (const int)
+0:76        Convert bool to int ( temp highp 4-component vector of int)
+0:76          subgroupQuadSwapVertical ( global 4-component vector of bool)
+0:76            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:76              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:76                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:76                  Constant:
+0:76                    1 (const int)
+0:76                Constant:
+0:76                  1 (const int)
+0:76              Constant:
+0:76                0 (const int)
+0:76                0 (const int)
+0:76                0 (const int)
+0:76                0 (const int)
+0:78      move second child to first child ( temp highp float)
+0:78        direct index ( temp highp float)
+0:78          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:78            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78              Constant:
+0:78                3 (const int)
+0:78            Constant:
+0:78              0 (const int)
+0:78          Constant:
+0:78            0 (const int)
+0:78        subgroupQuadSwapDiagonal ( global highp float)
+0:78          direct index ( temp highp float)
+0:78            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:78              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:78                Constant:
+0:78                  0 (const int)
+0:78              Constant:
+0:78                0 (const int)
+0:78            Constant:
+0:78              0 (const int)
+0:79      move second child to first child ( temp highp 2-component vector of float)
+0:79        vector swizzle ( temp highp 2-component vector of float)
+0:79          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:79            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79              Constant:
+0:79                3 (const int)
+0:79            Constant:
+0:79              0 (const int)
+0:79          Sequence
+0:79            Constant:
+0:79              0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79        subgroupQuadSwapDiagonal ( global highp 2-component vector of float)
+0:79          vector swizzle ( temp highp 2-component vector of float)
+0:79            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:79              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:79                Constant:
+0:79                  1 (const int)
+0:79              Constant:
+0:79                0 (const int)
+0:79            Sequence
+0:79              Constant:
+0:79                0 (const int)
+0:79              Constant:
+0:79                1 (const int)
+0:80      move second child to first child ( temp highp 3-component vector of float)
+0:80        vector swizzle ( temp highp 3-component vector of float)
+0:80          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:80            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80              Constant:
+0:80                3 (const int)
+0:80            Constant:
+0:80              0 (const int)
+0:80          Sequence
+0:80            Constant:
+0:80              0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80            Constant:
+0:80              2 (const int)
+0:80        subgroupQuadSwapDiagonal ( global highp 3-component vector of float)
+0:80          vector swizzle ( temp highp 3-component vector of float)
+0:80            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:80                Constant:
+0:80                  2 (const int)
+0:80              Constant:
+0:80                0 (const int)
+0:80            Sequence
+0:80              Constant:
+0:80                0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80              Constant:
+0:80                2 (const int)
+0:81      move second child to first child ( temp highp 4-component vector of float)
+0:81        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:81          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81            Constant:
+0:81              3 (const int)
+0:81          Constant:
+0:81            0 (const int)
+0:81        subgroupQuadSwapDiagonal ( global highp 4-component vector of float)
+0:81          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:81            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:81              Constant:
+0:81                3 (const int)
+0:81            Constant:
+0:81              0 (const int)
+0:83      move second child to first child ( temp highp int)
+0:83        direct index ( temp highp int)
+0:83          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:83            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83              Constant:
+0:83                3 (const int)
+0:83            Constant:
+0:83              1 (const int)
+0:83          Constant:
+0:83            0 (const int)
+0:83        subgroupQuadSwapDiagonal ( global highp int)
+0:83          direct index ( temp highp int)
+0:83            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:83              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:83                Constant:
+0:83                  0 (const int)
+0:83              Constant:
+0:83                1 (const int)
+0:83            Constant:
+0:83              0 (const int)
+0:84      move second child to first child ( temp highp 2-component vector of int)
+0:84        vector swizzle ( temp highp 2-component vector of int)
+0:84          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:84            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84              Constant:
+0:84                3 (const int)
+0:84            Constant:
+0:84              1 (const int)
+0:84          Sequence
+0:84            Constant:
+0:84              0 (const int)
+0:84            Constant:
+0:84              1 (const int)
+0:84        subgroupQuadSwapDiagonal ( global highp 2-component vector of int)
+0:84          vector swizzle ( temp highp 2-component vector of int)
+0:84            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:84              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:84                Constant:
+0:84                  1 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:84            Sequence
+0:84              Constant:
+0:84                0 (const int)
+0:84              Constant:
+0:84                1 (const int)
+0:85      move second child to first child ( temp highp 3-component vector of int)
+0:85        vector swizzle ( temp highp 3-component vector of int)
+0:85          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:85            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85              Constant:
+0:85                3 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85          Sequence
+0:85            Constant:
+0:85              0 (const int)
+0:85            Constant:
+0:85              1 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85        subgroupQuadSwapDiagonal ( global highp 3-component vector of int)
+0:85          vector swizzle ( temp highp 3-component vector of int)
+0:85            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:85                Constant:
+0:85                  2 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85            Sequence
+0:85              Constant:
+0:85                0 (const int)
+0:85              Constant:
+0:85                1 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:86      move second child to first child ( temp highp 4-component vector of int)
+0:86        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:86          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86            Constant:
+0:86              3 (const int)
+0:86          Constant:
+0:86            1 (const int)
+0:86        subgroupQuadSwapDiagonal ( global highp 4-component vector of int)
+0:86          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:86            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:86              Constant:
+0:86                3 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:88      move second child to first child ( temp highp uint)
+0:88        direct index ( temp highp uint)
+0:88          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:88            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88              Constant:
+0:88                3 (const int)
+0:88            Constant:
+0:88              2 (const int)
+0:88          Constant:
+0:88            0 (const int)
+0:88        subgroupQuadSwapDiagonal ( global highp uint)
+0:88          direct index ( temp highp uint)
+0:88            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:88              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:88                Constant:
+0:88                  0 (const int)
+0:88              Constant:
+0:88                2 (const int)
+0:88            Constant:
+0:88              0 (const int)
+0:89      move second child to first child ( temp highp 2-component vector of uint)
+0:89        vector swizzle ( temp highp 2-component vector of uint)
+0:89          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:89            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89              Constant:
+0:89                3 (const int)
+0:89            Constant:
+0:89              2 (const int)
+0:89          Sequence
+0:89            Constant:
+0:89              0 (const int)
+0:89            Constant:
+0:89              1 (const int)
+0:89        subgroupQuadSwapDiagonal ( global highp 2-component vector of uint)
+0:89          vector swizzle ( temp highp 2-component vector of uint)
+0:89            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:89              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:89                Constant:
+0:89                  1 (const int)
+0:89              Constant:
+0:89                2 (const int)
+0:89            Sequence
+0:89              Constant:
+0:89                0 (const int)
+0:89              Constant:
+0:89                1 (const int)
+0:90      move second child to first child ( temp highp 3-component vector of uint)
+0:90        vector swizzle ( temp highp 3-component vector of uint)
+0:90          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:90            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90              Constant:
+0:90                3 (const int)
+0:90            Constant:
+0:90              2 (const int)
+0:90          Sequence
+0:90            Constant:
+0:90              0 (const int)
+0:90            Constant:
+0:90              1 (const int)
+0:90            Constant:
+0:90              2 (const int)
+0:90        subgroupQuadSwapDiagonal ( global highp 3-component vector of uint)
+0:90          vector swizzle ( temp highp 3-component vector of uint)
+0:90            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:90              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:90                Constant:
+0:90                  2 (const int)
+0:90              Constant:
+0:90                2 (const int)
+0:90            Sequence
+0:90              Constant:
+0:90                0 (const int)
+0:90              Constant:
+0:90                1 (const int)
+0:90              Constant:
+0:90                2 (const int)
+0:91      move second child to first child ( temp highp 4-component vector of uint)
+0:91        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:91          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91            Constant:
+0:91              3 (const int)
+0:91          Constant:
+0:91            2 (const int)
+0:91        subgroupQuadSwapDiagonal ( global highp 4-component vector of uint)
+0:91          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:91            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:91              Constant:
+0:91                3 (const int)
+0:91            Constant:
+0:91              2 (const int)
+0:93      move second child to first child ( temp highp int)
+0:93        direct index ( temp highp int)
+0:93          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93              Constant:
+0:93                3 (const int)
+0:93            Constant:
+0:93              1 (const int)
+0:93          Constant:
+0:93            0 (const int)
+0:93        Convert bool to int ( temp highp int)
+0:93          subgroupQuadSwapDiagonal ( global bool)
+0:93            Compare Less Than ( temp bool)
+0:93              direct index ( temp highp int)
+0:93                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:93                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:93                    Constant:
+0:93                      0 (const int)
+0:93                  Constant:
+0:93                    1 (const int)
+0:93                Constant:
+0:93                  0 (const int)
+0:93              Constant:
+0:93                0 (const int)
+0:94      move second child to first child ( temp highp 2-component vector of int)
+0:94        vector swizzle ( temp highp 2-component vector of int)
+0:94          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94              Constant:
+0:94                3 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94          Sequence
+0:94            Constant:
+0:94              0 (const int)
+0:94            Constant:
+0:94              1 (const int)
+0:94        Convert bool to int ( temp highp 2-component vector of int)
+0:94          subgroupQuadSwapDiagonal ( global 2-component vector of bool)
+0:94            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:94              vector swizzle ( temp highp 2-component vector of int)
+0:94                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:94                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:94                    Constant:
+0:94                      1 (const int)
+0:94                  Constant:
+0:94                    1 (const int)
+0:94                Sequence
+0:94                  Constant:
+0:94                    0 (const int)
+0:94                  Constant:
+0:94                    1 (const int)
+0:94              Constant:
+0:94                0 (const int)
+0:94                0 (const int)
+0:95      move second child to first child ( temp highp 3-component vector of int)
+0:95        vector swizzle ( temp highp 3-component vector of int)
+0:95          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95              Constant:
+0:95                3 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95          Sequence
+0:95            Constant:
+0:95              0 (const int)
+0:95            Constant:
+0:95              1 (const int)
+0:95            Constant:
+0:95              2 (const int)
+0:95        Convert bool to int ( temp highp 3-component vector of int)
+0:95          subgroupQuadSwapDiagonal ( global 3-component vector of bool)
+0:95            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:95              vector swizzle ( temp highp 3-component vector of int)
+0:95                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:95                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:95                    Constant:
+0:95                      1 (const int)
+0:95                  Constant:
+0:95                    1 (const int)
+0:95                Sequence
+0:95                  Constant:
+0:95                    0 (const int)
+0:95                  Constant:
+0:95                    1 (const int)
+0:95                  Constant:
+0:95                    2 (const int)
+0:95              Constant:
+0:95                0 (const int)
+0:95                0 (const int)
+0:95                0 (const int)
+0:96      move second child to first child ( temp highp 4-component vector of int)
+0:96        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96            Constant:
+0:96              3 (const int)
+0:96          Constant:
+0:96            1 (const int)
+0:96        Convert bool to int ( temp highp 4-component vector of int)
+0:96          subgroupQuadSwapDiagonal ( global 4-component vector of bool)
+0:96            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:96              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:96                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:96                  Constant:
+0:96                    1 (const int)
+0:96                Constant:
+0:96                  1 (const int)
+0:96              Constant:
+0:96                0 (const int)
+0:96                0 (const int)
+0:96                0 (const int)
+0:96                0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
diff --git a/Test/baseResults/glsl.es320.subgroupShuffle.comp.out b/Test/baseResults/glsl.es320.subgroupShuffle.comp.out
new file mode 100644
index 0000000..e40ae40
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupShuffle.comp.out
@@ -0,0 +1,1773 @@
+glsl.es320.subgroupShuffle.comp
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_shuffle
+local_size = (8, 8, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      move second child to first child ( temp highp float)
+0:18        direct index ( temp highp float)
+0:18          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            0 (const int)
+0:18        subgroupShuffle ( global highp float)
+0:18          direct index ( temp highp float)
+0:18            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                Constant:
+0:18                  0 (const int)
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          'invocation' ( temp highp uint)
+0:19      move second child to first child ( temp highp 2-component vector of float)
+0:19        vector swizzle ( temp highp 2-component vector of float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Sequence
+0:19            Constant:
+0:19              0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19        subgroupShuffle ( global highp 2-component vector of float)
+0:19          vector swizzle ( temp highp 2-component vector of float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                Constant:
+0:19                  1 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Sequence
+0:19              Constant:
+0:19                0 (const int)
+0:19              Constant:
+0:19                1 (const int)
+0:19          'invocation' ( temp highp uint)
+0:20      move second child to first child ( temp highp 3-component vector of float)
+0:20        vector swizzle ( temp highp 3-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20            Constant:
+0:20              2 (const int)
+0:20        subgroupShuffle ( global highp 3-component vector of float)
+0:20          vector swizzle ( temp highp 3-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  2 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20              Constant:
+0:20                2 (const int)
+0:20          'invocation' ( temp highp uint)
+0:21      move second child to first child ( temp highp 4-component vector of float)
+0:21        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            0 (const int)
+0:21        subgroupShuffle ( global highp 4-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                3 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:21          'invocation' ( temp highp uint)
+0:23      move second child to first child ( temp highp int)
+0:23        direct index ( temp highp int)
+0:23          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              1 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupShuffle ( global highp int)
+0:23          direct index ( temp highp int)
+0:23            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          'invocation' ( temp highp uint)
+0:24      move second child to first child ( temp highp 2-component vector of int)
+0:24        vector swizzle ( temp highp 2-component vector of int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              Constant:
+0:24                0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Sequence
+0:24            Constant:
+0:24              0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24        subgroupShuffle ( global highp 2-component vector of int)
+0:24          vector swizzle ( temp highp 2-component vector of int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                Constant:
+0:24                  1 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Sequence
+0:24              Constant:
+0:24                0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24          'invocation' ( temp highp uint)
+0:25      move second child to first child ( temp highp 3-component vector of int)
+0:25        vector swizzle ( temp highp 3-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25        subgroupShuffle ( global highp 3-component vector of int)
+0:25          vector swizzle ( temp highp 3-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  2 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25          'invocation' ( temp highp uint)
+0:26      move second child to first child ( temp highp 4-component vector of int)
+0:26        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              0 (const int)
+0:26          Constant:
+0:26            1 (const int)
+0:26        subgroupShuffle ( global highp 4-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                3 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26          'invocation' ( temp highp uint)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                1 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupShuffle ( global highp uint)
+0:28          direct index ( temp highp uint)
+0:28            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28          'invocation' ( temp highp uint)
+0:29      move second child to first child ( temp highp 2-component vector of uint)
+0:29        vector swizzle ( temp highp 2-component vector of uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                1 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupShuffle ( global highp 2-component vector of uint)
+0:29          vector swizzle ( temp highp 2-component vector of uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29          'invocation' ( temp highp uint)
+0:30      move second child to first child ( temp highp 3-component vector of uint)
+0:30        vector swizzle ( temp highp 3-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              Constant:
+0:30                1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30        subgroupShuffle ( global highp 3-component vector of uint)
+0:30          vector swizzle ( temp highp 3-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  2 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30          'invocation' ( temp highp uint)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              1 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupShuffle ( global highp 4-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31          'invocation' ( temp highp uint)
+0:33      move second child to first child ( temp highp int)
+0:33        direct index ( temp highp int)
+0:33          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                1 (const int)
+0:33            Constant:
+0:33              1 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        Convert bool to int ( temp highp int)
+0:33          subgroupShuffle ( global bool, operation at highp)
+0:33            Compare Less Than ( temp bool)
+0:33              direct index ( temp highp int)
+0:33                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                  Constant:
+0:33                    1 (const int)
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            'invocation' ( temp highp uint)
+0:34      move second child to first child ( temp highp 2-component vector of int)
+0:34        vector swizzle ( temp highp 2-component vector of int)
+0:34          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              Constant:
+0:34                1 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        Convert bool to int ( temp highp 2-component vector of int)
+0:34          subgroupShuffle ( global 2-component vector of bool, operation at highp)
+0:34            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:34              vector swizzle ( temp highp 2-component vector of int)
+0:34                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    Constant:
+0:34                      1 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34                Sequence
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34                0 (const int)
+0:34            'invocation' ( temp highp uint)
+0:35      move second child to first child ( temp highp 3-component vector of int)
+0:35        vector swizzle ( temp highp 3-component vector of int)
+0:35          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              Constant:
+0:35                1 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35            Constant:
+0:35              2 (const int)
+0:35        Convert bool to int ( temp highp 3-component vector of int)
+0:35          subgroupShuffle ( global 3-component vector of bool, operation at highp)
+0:35            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:35              vector swizzle ( temp highp 3-component vector of int)
+0:35                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    Constant:
+0:35                      1 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                Sequence
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                  Constant:
+0:35                    2 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35                0 (const int)
+0:35                0 (const int)
+0:35            'invocation' ( temp highp uint)
+0:36      move second child to first child ( temp highp 4-component vector of int)
+0:36        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              1 (const int)
+0:36          Constant:
+0:36            1 (const int)
+0:36        Convert bool to int ( temp highp 4-component vector of int)
+0:36          subgroupShuffle ( global 4-component vector of bool, operation at highp)
+0:36            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:36              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  Constant:
+0:36                    1 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36            'invocation' ( temp highp uint)
+0:38      move second child to first child ( temp highp float)
+0:38        direct index ( temp highp float)
+0:38          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              Constant:
+0:38                2 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          Constant:
+0:38            0 (const int)
+0:38        subgroupShuffleXor ( global highp float)
+0:38          direct index ( temp highp float)
+0:38            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                0 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          'invocation' ( temp highp uint)
+0:39      move second child to first child ( temp highp 2-component vector of float)
+0:39        vector swizzle ( temp highp 2-component vector of float)
+0:39          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              Constant:
+0:39                2 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Sequence
+0:39            Constant:
+0:39              0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39        subgroupShuffleXor ( global highp 2-component vector of float)
+0:39          vector swizzle ( temp highp 2-component vector of float)
+0:39            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Sequence
+0:39              Constant:
+0:39                0 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:39          'invocation' ( temp highp uint)
+0:40      move second child to first child ( temp highp 3-component vector of float)
+0:40        vector swizzle ( temp highp 3-component vector of float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                2 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40            Constant:
+0:40              2 (const int)
+0:40        subgroupShuffleXor ( global highp 3-component vector of float)
+0:40          vector swizzle ( temp highp 3-component vector of float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  2 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40              Constant:
+0:40                2 (const int)
+0:40          'invocation' ( temp highp uint)
+0:41      move second child to first child ( temp highp 4-component vector of float)
+0:41        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            Constant:
+0:41              2 (const int)
+0:41          Constant:
+0:41            0 (const int)
+0:41        subgroupShuffleXor ( global highp 4-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                3 (const int)
+0:41            Constant:
+0:41              0 (const int)
+0:41          'invocation' ( temp highp uint)
+0:43      move second child to first child ( temp highp int)
+0:43        direct index ( temp highp int)
+0:43          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                2 (const int)
+0:43            Constant:
+0:43              1 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        subgroupShuffleXor ( global highp int)
+0:43          direct index ( temp highp int)
+0:43            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:43          'invocation' ( temp highp uint)
+0:44      move second child to first child ( temp highp 2-component vector of int)
+0:44        vector swizzle ( temp highp 2-component vector of int)
+0:44          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              Constant:
+0:44                2 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44          Sequence
+0:44            Constant:
+0:44              0 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44        subgroupShuffleXor ( global highp 2-component vector of int)
+0:44          vector swizzle ( temp highp 2-component vector of int)
+0:44            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                Constant:
+0:44                  1 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44            Sequence
+0:44              Constant:
+0:44                0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44          'invocation' ( temp highp uint)
+0:45      move second child to first child ( temp highp 3-component vector of int)
+0:45        vector swizzle ( temp highp 3-component vector of int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45        subgroupShuffleXor ( global highp 3-component vector of int)
+0:45          vector swizzle ( temp highp 3-component vector of int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45          'invocation' ( temp highp uint)
+0:46      move second child to first child ( temp highp 4-component vector of int)
+0:46        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            Constant:
+0:46              2 (const int)
+0:46          Constant:
+0:46            1 (const int)
+0:46        subgroupShuffleXor ( global highp 4-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                3 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46          'invocation' ( temp highp uint)
+0:48      move second child to first child ( temp highp uint)
+0:48        direct index ( temp highp uint)
+0:48          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48          Constant:
+0:48            0 (const int)
+0:48        subgroupShuffleXor ( global highp uint)
+0:48          direct index ( temp highp uint)
+0:48            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                Constant:
+0:48                  0 (const int)
+0:48              Constant:
+0:48                2 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:48          'invocation' ( temp highp uint)
+0:49      move second child to first child ( temp highp 2-component vector of uint)
+0:49        vector swizzle ( temp highp 2-component vector of uint)
+0:49          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              Constant:
+0:49                3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49          Sequence
+0:49            Constant:
+0:49              0 (const int)
+0:49            Constant:
+0:49              1 (const int)
+0:49        subgroupShuffleXor ( global highp 2-component vector of uint)
+0:49          vector swizzle ( temp highp 2-component vector of uint)
+0:49            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Constant:
+0:49                2 (const int)
+0:49            Sequence
+0:49              Constant:
+0:49                0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49          'invocation' ( temp highp uint)
+0:50      move second child to first child ( temp highp 3-component vector of uint)
+0:50        vector swizzle ( temp highp 3-component vector of uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50        subgroupShuffleXor ( global highp 3-component vector of uint)
+0:50          vector swizzle ( temp highp 3-component vector of uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  2 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50          'invocation' ( temp highp uint)
+0:51      move second child to first child ( temp highp 4-component vector of uint)
+0:51        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            Constant:
+0:51              3 (const int)
+0:51          Constant:
+0:51            2 (const int)
+0:51        subgroupShuffleXor ( global highp 4-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                3 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51          'invocation' ( temp highp uint)
+0:53      move second child to first child ( temp highp int)
+0:53        direct index ( temp highp int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                3 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            0 (const int)
+0:53        Convert bool to int ( temp highp int)
+0:53          subgroupShuffleXor ( global bool, operation at highp)
+0:53            Compare Less Than ( temp bool)
+0:53              direct index ( temp highp int)
+0:53                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    Constant:
+0:53                      0 (const int)
+0:53                  Constant:
+0:53                    1 (const int)
+0:53                Constant:
+0:53                  0 (const int)
+0:53              Constant:
+0:53                0 (const int)
+0:53            'invocation' ( temp highp uint)
+0:54      move second child to first child ( temp highp 2-component vector of int)
+0:54        vector swizzle ( temp highp 2-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          Sequence
+0:54            Constant:
+0:54              0 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54        Convert bool to int ( temp highp 2-component vector of int)
+0:54          subgroupShuffleXor ( global 2-component vector of bool, operation at highp)
+0:54            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:54              vector swizzle ( temp highp 2-component vector of int)
+0:54                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    Constant:
+0:54                      1 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54                Sequence
+0:54                  Constant:
+0:54                    0 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54              Constant:
+0:54                0 (const int)
+0:54                0 (const int)
+0:54            'invocation' ( temp highp uint)
+0:55      move second child to first child ( temp highp 3-component vector of int)
+0:55        vector swizzle ( temp highp 3-component vector of int)
+0:55          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                3 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55            Constant:
+0:55              2 (const int)
+0:55        Convert bool to int ( temp highp 3-component vector of int)
+0:55          subgroupShuffleXor ( global 3-component vector of bool, operation at highp)
+0:55            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:55              vector swizzle ( temp highp 3-component vector of int)
+0:55                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    Constant:
+0:55                      1 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                Sequence
+0:55                  Constant:
+0:55                    0 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                  Constant:
+0:55                    2 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55                0 (const int)
+0:55                0 (const int)
+0:55            'invocation' ( temp highp uint)
+0:56      move second child to first child ( temp highp 4-component vector of int)
+0:56        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            Constant:
+0:56              3 (const int)
+0:56          Constant:
+0:56            1 (const int)
+0:56        Convert bool to int ( temp highp 4-component vector of int)
+0:56          subgroupShuffleXor ( global 4-component vector of bool, operation at highp)
+0:56            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:56              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  Constant:
+0:56                    1 (const int)
+0:56                Constant:
+0:56                  1 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:56            'invocation' ( temp highp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
+
+Linked compute stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_shuffle
+local_size = (8, 8, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      move second child to first child ( temp highp float)
+0:18        direct index ( temp highp float)
+0:18          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            0 (const int)
+0:18        subgroupShuffle ( global highp float)
+0:18          direct index ( temp highp float)
+0:18            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                Constant:
+0:18                  0 (const int)
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          'invocation' ( temp highp uint)
+0:19      move second child to first child ( temp highp 2-component vector of float)
+0:19        vector swizzle ( temp highp 2-component vector of float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Sequence
+0:19            Constant:
+0:19              0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19        subgroupShuffle ( global highp 2-component vector of float)
+0:19          vector swizzle ( temp highp 2-component vector of float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                Constant:
+0:19                  1 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Sequence
+0:19              Constant:
+0:19                0 (const int)
+0:19              Constant:
+0:19                1 (const int)
+0:19          'invocation' ( temp highp uint)
+0:20      move second child to first child ( temp highp 3-component vector of float)
+0:20        vector swizzle ( temp highp 3-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20            Constant:
+0:20              2 (const int)
+0:20        subgroupShuffle ( global highp 3-component vector of float)
+0:20          vector swizzle ( temp highp 3-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  2 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20              Constant:
+0:20                2 (const int)
+0:20          'invocation' ( temp highp uint)
+0:21      move second child to first child ( temp highp 4-component vector of float)
+0:21        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            0 (const int)
+0:21        subgroupShuffle ( global highp 4-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                3 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:21          'invocation' ( temp highp uint)
+0:23      move second child to first child ( temp highp int)
+0:23        direct index ( temp highp int)
+0:23          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              1 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupShuffle ( global highp int)
+0:23          direct index ( temp highp int)
+0:23            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          'invocation' ( temp highp uint)
+0:24      move second child to first child ( temp highp 2-component vector of int)
+0:24        vector swizzle ( temp highp 2-component vector of int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              Constant:
+0:24                0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Sequence
+0:24            Constant:
+0:24              0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24        subgroupShuffle ( global highp 2-component vector of int)
+0:24          vector swizzle ( temp highp 2-component vector of int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                Constant:
+0:24                  1 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Sequence
+0:24              Constant:
+0:24                0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24          'invocation' ( temp highp uint)
+0:25      move second child to first child ( temp highp 3-component vector of int)
+0:25        vector swizzle ( temp highp 3-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25        subgroupShuffle ( global highp 3-component vector of int)
+0:25          vector swizzle ( temp highp 3-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  2 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25          'invocation' ( temp highp uint)
+0:26      move second child to first child ( temp highp 4-component vector of int)
+0:26        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              0 (const int)
+0:26          Constant:
+0:26            1 (const int)
+0:26        subgroupShuffle ( global highp 4-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                3 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26          'invocation' ( temp highp uint)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                1 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupShuffle ( global highp uint)
+0:28          direct index ( temp highp uint)
+0:28            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28          'invocation' ( temp highp uint)
+0:29      move second child to first child ( temp highp 2-component vector of uint)
+0:29        vector swizzle ( temp highp 2-component vector of uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                1 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupShuffle ( global highp 2-component vector of uint)
+0:29          vector swizzle ( temp highp 2-component vector of uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29          'invocation' ( temp highp uint)
+0:30      move second child to first child ( temp highp 3-component vector of uint)
+0:30        vector swizzle ( temp highp 3-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              Constant:
+0:30                1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30        subgroupShuffle ( global highp 3-component vector of uint)
+0:30          vector swizzle ( temp highp 3-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  2 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30          'invocation' ( temp highp uint)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              1 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupShuffle ( global highp 4-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31          'invocation' ( temp highp uint)
+0:33      move second child to first child ( temp highp int)
+0:33        direct index ( temp highp int)
+0:33          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                1 (const int)
+0:33            Constant:
+0:33              1 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        Convert bool to int ( temp highp int)
+0:33          subgroupShuffle ( global bool, operation at highp)
+0:33            Compare Less Than ( temp bool)
+0:33              direct index ( temp highp int)
+0:33                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                  Constant:
+0:33                    1 (const int)
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            'invocation' ( temp highp uint)
+0:34      move second child to first child ( temp highp 2-component vector of int)
+0:34        vector swizzle ( temp highp 2-component vector of int)
+0:34          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              Constant:
+0:34                1 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        Convert bool to int ( temp highp 2-component vector of int)
+0:34          subgroupShuffle ( global 2-component vector of bool, operation at highp)
+0:34            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:34              vector swizzle ( temp highp 2-component vector of int)
+0:34                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    Constant:
+0:34                      1 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34                Sequence
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34                0 (const int)
+0:34            'invocation' ( temp highp uint)
+0:35      move second child to first child ( temp highp 3-component vector of int)
+0:35        vector swizzle ( temp highp 3-component vector of int)
+0:35          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              Constant:
+0:35                1 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35            Constant:
+0:35              2 (const int)
+0:35        Convert bool to int ( temp highp 3-component vector of int)
+0:35          subgroupShuffle ( global 3-component vector of bool, operation at highp)
+0:35            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:35              vector swizzle ( temp highp 3-component vector of int)
+0:35                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    Constant:
+0:35                      1 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                Sequence
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                  Constant:
+0:35                    2 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35                0 (const int)
+0:35                0 (const int)
+0:35            'invocation' ( temp highp uint)
+0:36      move second child to first child ( temp highp 4-component vector of int)
+0:36        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              1 (const int)
+0:36          Constant:
+0:36            1 (const int)
+0:36        Convert bool to int ( temp highp 4-component vector of int)
+0:36          subgroupShuffle ( global 4-component vector of bool, operation at highp)
+0:36            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:36              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  Constant:
+0:36                    1 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36            'invocation' ( temp highp uint)
+0:38      move second child to first child ( temp highp float)
+0:38        direct index ( temp highp float)
+0:38          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              Constant:
+0:38                2 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          Constant:
+0:38            0 (const int)
+0:38        subgroupShuffleXor ( global highp float)
+0:38          direct index ( temp highp float)
+0:38            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                0 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          'invocation' ( temp highp uint)
+0:39      move second child to first child ( temp highp 2-component vector of float)
+0:39        vector swizzle ( temp highp 2-component vector of float)
+0:39          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              Constant:
+0:39                2 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Sequence
+0:39            Constant:
+0:39              0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39        subgroupShuffleXor ( global highp 2-component vector of float)
+0:39          vector swizzle ( temp highp 2-component vector of float)
+0:39            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Sequence
+0:39              Constant:
+0:39                0 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:39          'invocation' ( temp highp uint)
+0:40      move second child to first child ( temp highp 3-component vector of float)
+0:40        vector swizzle ( temp highp 3-component vector of float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                2 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40            Constant:
+0:40              2 (const int)
+0:40        subgroupShuffleXor ( global highp 3-component vector of float)
+0:40          vector swizzle ( temp highp 3-component vector of float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  2 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40              Constant:
+0:40                2 (const int)
+0:40          'invocation' ( temp highp uint)
+0:41      move second child to first child ( temp highp 4-component vector of float)
+0:41        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            Constant:
+0:41              2 (const int)
+0:41          Constant:
+0:41            0 (const int)
+0:41        subgroupShuffleXor ( global highp 4-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                3 (const int)
+0:41            Constant:
+0:41              0 (const int)
+0:41          'invocation' ( temp highp uint)
+0:43      move second child to first child ( temp highp int)
+0:43        direct index ( temp highp int)
+0:43          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                2 (const int)
+0:43            Constant:
+0:43              1 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        subgroupShuffleXor ( global highp int)
+0:43          direct index ( temp highp int)
+0:43            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:43          'invocation' ( temp highp uint)
+0:44      move second child to first child ( temp highp 2-component vector of int)
+0:44        vector swizzle ( temp highp 2-component vector of int)
+0:44          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              Constant:
+0:44                2 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44          Sequence
+0:44            Constant:
+0:44              0 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44        subgroupShuffleXor ( global highp 2-component vector of int)
+0:44          vector swizzle ( temp highp 2-component vector of int)
+0:44            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                Constant:
+0:44                  1 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44            Sequence
+0:44              Constant:
+0:44                0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44          'invocation' ( temp highp uint)
+0:45      move second child to first child ( temp highp 3-component vector of int)
+0:45        vector swizzle ( temp highp 3-component vector of int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45        subgroupShuffleXor ( global highp 3-component vector of int)
+0:45          vector swizzle ( temp highp 3-component vector of int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45          'invocation' ( temp highp uint)
+0:46      move second child to first child ( temp highp 4-component vector of int)
+0:46        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            Constant:
+0:46              2 (const int)
+0:46          Constant:
+0:46            1 (const int)
+0:46        subgroupShuffleXor ( global highp 4-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                3 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46          'invocation' ( temp highp uint)
+0:48      move second child to first child ( temp highp uint)
+0:48        direct index ( temp highp uint)
+0:48          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48          Constant:
+0:48            0 (const int)
+0:48        subgroupShuffleXor ( global highp uint)
+0:48          direct index ( temp highp uint)
+0:48            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                Constant:
+0:48                  0 (const int)
+0:48              Constant:
+0:48                2 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:48          'invocation' ( temp highp uint)
+0:49      move second child to first child ( temp highp 2-component vector of uint)
+0:49        vector swizzle ( temp highp 2-component vector of uint)
+0:49          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              Constant:
+0:49                3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49          Sequence
+0:49            Constant:
+0:49              0 (const int)
+0:49            Constant:
+0:49              1 (const int)
+0:49        subgroupShuffleXor ( global highp 2-component vector of uint)
+0:49          vector swizzle ( temp highp 2-component vector of uint)
+0:49            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Constant:
+0:49                2 (const int)
+0:49            Sequence
+0:49              Constant:
+0:49                0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49          'invocation' ( temp highp uint)
+0:50      move second child to first child ( temp highp 3-component vector of uint)
+0:50        vector swizzle ( temp highp 3-component vector of uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50        subgroupShuffleXor ( global highp 3-component vector of uint)
+0:50          vector swizzle ( temp highp 3-component vector of uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  2 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50          'invocation' ( temp highp uint)
+0:51      move second child to first child ( temp highp 4-component vector of uint)
+0:51        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            Constant:
+0:51              3 (const int)
+0:51          Constant:
+0:51            2 (const int)
+0:51        subgroupShuffleXor ( global highp 4-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                3 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51          'invocation' ( temp highp uint)
+0:53      move second child to first child ( temp highp int)
+0:53        direct index ( temp highp int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                3 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            0 (const int)
+0:53        Convert bool to int ( temp highp int)
+0:53          subgroupShuffleXor ( global bool, operation at highp)
+0:53            Compare Less Than ( temp bool)
+0:53              direct index ( temp highp int)
+0:53                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    Constant:
+0:53                      0 (const int)
+0:53                  Constant:
+0:53                    1 (const int)
+0:53                Constant:
+0:53                  0 (const int)
+0:53              Constant:
+0:53                0 (const int)
+0:53            'invocation' ( temp highp uint)
+0:54      move second child to first child ( temp highp 2-component vector of int)
+0:54        vector swizzle ( temp highp 2-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          Sequence
+0:54            Constant:
+0:54              0 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54        Convert bool to int ( temp highp 2-component vector of int)
+0:54          subgroupShuffleXor ( global 2-component vector of bool, operation at highp)
+0:54            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:54              vector swizzle ( temp highp 2-component vector of int)
+0:54                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    Constant:
+0:54                      1 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54                Sequence
+0:54                  Constant:
+0:54                    0 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54              Constant:
+0:54                0 (const int)
+0:54                0 (const int)
+0:54            'invocation' ( temp highp uint)
+0:55      move second child to first child ( temp highp 3-component vector of int)
+0:55        vector swizzle ( temp highp 3-component vector of int)
+0:55          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                3 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55            Constant:
+0:55              2 (const int)
+0:55        Convert bool to int ( temp highp 3-component vector of int)
+0:55          subgroupShuffleXor ( global 3-component vector of bool, operation at highp)
+0:55            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:55              vector swizzle ( temp highp 3-component vector of int)
+0:55                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    Constant:
+0:55                      1 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                Sequence
+0:55                  Constant:
+0:55                    0 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                  Constant:
+0:55                    2 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55                0 (const int)
+0:55                0 (const int)
+0:55            'invocation' ( temp highp uint)
+0:56      move second child to first child ( temp highp 4-component vector of int)
+0:56        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            Constant:
+0:56              3 (const int)
+0:56          Constant:
+0:56            1 (const int)
+0:56        Convert bool to int ( temp highp 4-component vector of int)
+0:56          subgroupShuffleXor ( global 4-component vector of bool, operation at highp)
+0:56            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:56              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  Constant:
+0:56                    1 (const int)
+0:56                Constant:
+0:56                  1 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:56            'invocation' ( temp highp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
diff --git a/Test/baseResults/glsl.es320.subgroupShuffleRelative.comp.out b/Test/baseResults/glsl.es320.subgroupShuffleRelative.comp.out
new file mode 100644
index 0000000..e0f2591
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupShuffleRelative.comp.out
@@ -0,0 +1,1773 @@
+glsl.es320.subgroupShuffleRelative.comp
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_shuffle_relative
+local_size = (8, 8, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      move second child to first child ( temp highp float)
+0:18        direct index ( temp highp float)
+0:18          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            0 (const int)
+0:18        subgroupShuffleUp ( global highp float)
+0:18          direct index ( temp highp float)
+0:18            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                Constant:
+0:18                  0 (const int)
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          'invocation' ( temp highp uint)
+0:19      move second child to first child ( temp highp 2-component vector of float)
+0:19        vector swizzle ( temp highp 2-component vector of float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Sequence
+0:19            Constant:
+0:19              0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19        subgroupShuffleUp ( global highp 2-component vector of float)
+0:19          vector swizzle ( temp highp 2-component vector of float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                Constant:
+0:19                  1 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Sequence
+0:19              Constant:
+0:19                0 (const int)
+0:19              Constant:
+0:19                1 (const int)
+0:19          'invocation' ( temp highp uint)
+0:20      move second child to first child ( temp highp 3-component vector of float)
+0:20        vector swizzle ( temp highp 3-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20            Constant:
+0:20              2 (const int)
+0:20        subgroupShuffleUp ( global highp 3-component vector of float)
+0:20          vector swizzle ( temp highp 3-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  2 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20              Constant:
+0:20                2 (const int)
+0:20          'invocation' ( temp highp uint)
+0:21      move second child to first child ( temp highp 4-component vector of float)
+0:21        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            0 (const int)
+0:21        subgroupShuffleUp ( global highp 4-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                3 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:21          'invocation' ( temp highp uint)
+0:23      move second child to first child ( temp highp int)
+0:23        direct index ( temp highp int)
+0:23          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              1 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupShuffleUp ( global highp int)
+0:23          direct index ( temp highp int)
+0:23            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          'invocation' ( temp highp uint)
+0:24      move second child to first child ( temp highp 2-component vector of int)
+0:24        vector swizzle ( temp highp 2-component vector of int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              Constant:
+0:24                0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Sequence
+0:24            Constant:
+0:24              0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24        subgroupShuffleUp ( global highp 2-component vector of int)
+0:24          vector swizzle ( temp highp 2-component vector of int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                Constant:
+0:24                  1 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Sequence
+0:24              Constant:
+0:24                0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24          'invocation' ( temp highp uint)
+0:25      move second child to first child ( temp highp 3-component vector of int)
+0:25        vector swizzle ( temp highp 3-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25        subgroupShuffleUp ( global highp 3-component vector of int)
+0:25          vector swizzle ( temp highp 3-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  2 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25          'invocation' ( temp highp uint)
+0:26      move second child to first child ( temp highp 4-component vector of int)
+0:26        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              0 (const int)
+0:26          Constant:
+0:26            1 (const int)
+0:26        subgroupShuffleUp ( global highp 4-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                3 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26          'invocation' ( temp highp uint)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                1 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupShuffleUp ( global highp uint)
+0:28          direct index ( temp highp uint)
+0:28            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28          'invocation' ( temp highp uint)
+0:29      move second child to first child ( temp highp 2-component vector of uint)
+0:29        vector swizzle ( temp highp 2-component vector of uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                1 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupShuffleUp ( global highp 2-component vector of uint)
+0:29          vector swizzle ( temp highp 2-component vector of uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29          'invocation' ( temp highp uint)
+0:30      move second child to first child ( temp highp 3-component vector of uint)
+0:30        vector swizzle ( temp highp 3-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              Constant:
+0:30                1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30        subgroupShuffleUp ( global highp 3-component vector of uint)
+0:30          vector swizzle ( temp highp 3-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  2 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30          'invocation' ( temp highp uint)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              1 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupShuffleUp ( global highp 4-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31          'invocation' ( temp highp uint)
+0:33      move second child to first child ( temp highp int)
+0:33        direct index ( temp highp int)
+0:33          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                1 (const int)
+0:33            Constant:
+0:33              1 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        Convert bool to int ( temp highp int)
+0:33          subgroupShuffleUp ( global bool, operation at highp)
+0:33            Compare Less Than ( temp bool)
+0:33              direct index ( temp highp int)
+0:33                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                  Constant:
+0:33                    1 (const int)
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            'invocation' ( temp highp uint)
+0:34      move second child to first child ( temp highp 2-component vector of int)
+0:34        vector swizzle ( temp highp 2-component vector of int)
+0:34          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              Constant:
+0:34                1 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        Convert bool to int ( temp highp 2-component vector of int)
+0:34          subgroupShuffleUp ( global 2-component vector of bool, operation at highp)
+0:34            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:34              vector swizzle ( temp highp 2-component vector of int)
+0:34                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    Constant:
+0:34                      1 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34                Sequence
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34                0 (const int)
+0:34            'invocation' ( temp highp uint)
+0:35      move second child to first child ( temp highp 3-component vector of int)
+0:35        vector swizzle ( temp highp 3-component vector of int)
+0:35          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              Constant:
+0:35                1 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35            Constant:
+0:35              2 (const int)
+0:35        Convert bool to int ( temp highp 3-component vector of int)
+0:35          subgroupShuffleUp ( global 3-component vector of bool, operation at highp)
+0:35            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:35              vector swizzle ( temp highp 3-component vector of int)
+0:35                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    Constant:
+0:35                      1 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                Sequence
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                  Constant:
+0:35                    2 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35                0 (const int)
+0:35                0 (const int)
+0:35            'invocation' ( temp highp uint)
+0:36      move second child to first child ( temp highp 4-component vector of int)
+0:36        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              1 (const int)
+0:36          Constant:
+0:36            1 (const int)
+0:36        Convert bool to int ( temp highp 4-component vector of int)
+0:36          subgroupShuffleUp ( global 4-component vector of bool, operation at highp)
+0:36            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:36              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  Constant:
+0:36                    1 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36            'invocation' ( temp highp uint)
+0:38      move second child to first child ( temp highp float)
+0:38        direct index ( temp highp float)
+0:38          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              Constant:
+0:38                2 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          Constant:
+0:38            0 (const int)
+0:38        subgroupShuffleDown ( global highp float)
+0:38          direct index ( temp highp float)
+0:38            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                0 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          'invocation' ( temp highp uint)
+0:39      move second child to first child ( temp highp 2-component vector of float)
+0:39        vector swizzle ( temp highp 2-component vector of float)
+0:39          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              Constant:
+0:39                2 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Sequence
+0:39            Constant:
+0:39              0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39        subgroupShuffleDown ( global highp 2-component vector of float)
+0:39          vector swizzle ( temp highp 2-component vector of float)
+0:39            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Sequence
+0:39              Constant:
+0:39                0 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:39          'invocation' ( temp highp uint)
+0:40      move second child to first child ( temp highp 3-component vector of float)
+0:40        vector swizzle ( temp highp 3-component vector of float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                2 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40            Constant:
+0:40              2 (const int)
+0:40        subgroupShuffleDown ( global highp 3-component vector of float)
+0:40          vector swizzle ( temp highp 3-component vector of float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  2 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40              Constant:
+0:40                2 (const int)
+0:40          'invocation' ( temp highp uint)
+0:41      move second child to first child ( temp highp 4-component vector of float)
+0:41        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            Constant:
+0:41              2 (const int)
+0:41          Constant:
+0:41            0 (const int)
+0:41        subgroupShuffleDown ( global highp 4-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                3 (const int)
+0:41            Constant:
+0:41              0 (const int)
+0:41          'invocation' ( temp highp uint)
+0:43      move second child to first child ( temp highp int)
+0:43        direct index ( temp highp int)
+0:43          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                2 (const int)
+0:43            Constant:
+0:43              1 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        subgroupShuffleDown ( global highp int)
+0:43          direct index ( temp highp int)
+0:43            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:43          'invocation' ( temp highp uint)
+0:44      move second child to first child ( temp highp 2-component vector of int)
+0:44        vector swizzle ( temp highp 2-component vector of int)
+0:44          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              Constant:
+0:44                2 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44          Sequence
+0:44            Constant:
+0:44              0 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44        subgroupShuffleDown ( global highp 2-component vector of int)
+0:44          vector swizzle ( temp highp 2-component vector of int)
+0:44            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                Constant:
+0:44                  1 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44            Sequence
+0:44              Constant:
+0:44                0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44          'invocation' ( temp highp uint)
+0:45      move second child to first child ( temp highp 3-component vector of int)
+0:45        vector swizzle ( temp highp 3-component vector of int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45        subgroupShuffleDown ( global highp 3-component vector of int)
+0:45          vector swizzle ( temp highp 3-component vector of int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45          'invocation' ( temp highp uint)
+0:46      move second child to first child ( temp highp 4-component vector of int)
+0:46        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            Constant:
+0:46              2 (const int)
+0:46          Constant:
+0:46            1 (const int)
+0:46        subgroupShuffleDown ( global highp 4-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                3 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46          'invocation' ( temp highp uint)
+0:48      move second child to first child ( temp highp uint)
+0:48        direct index ( temp highp uint)
+0:48          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48          Constant:
+0:48            0 (const int)
+0:48        subgroupShuffleDown ( global highp uint)
+0:48          direct index ( temp highp uint)
+0:48            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                Constant:
+0:48                  0 (const int)
+0:48              Constant:
+0:48                2 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:48          'invocation' ( temp highp uint)
+0:49      move second child to first child ( temp highp 2-component vector of uint)
+0:49        vector swizzle ( temp highp 2-component vector of uint)
+0:49          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              Constant:
+0:49                3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49          Sequence
+0:49            Constant:
+0:49              0 (const int)
+0:49            Constant:
+0:49              1 (const int)
+0:49        subgroupShuffleDown ( global highp 2-component vector of uint)
+0:49          vector swizzle ( temp highp 2-component vector of uint)
+0:49            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Constant:
+0:49                2 (const int)
+0:49            Sequence
+0:49              Constant:
+0:49                0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49          'invocation' ( temp highp uint)
+0:50      move second child to first child ( temp highp 3-component vector of uint)
+0:50        vector swizzle ( temp highp 3-component vector of uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50        subgroupShuffleDown ( global highp 3-component vector of uint)
+0:50          vector swizzle ( temp highp 3-component vector of uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  2 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50          'invocation' ( temp highp uint)
+0:51      move second child to first child ( temp highp 4-component vector of uint)
+0:51        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            Constant:
+0:51              3 (const int)
+0:51          Constant:
+0:51            2 (const int)
+0:51        subgroupShuffleDown ( global highp 4-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                3 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51          'invocation' ( temp highp uint)
+0:53      move second child to first child ( temp highp int)
+0:53        direct index ( temp highp int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                3 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            0 (const int)
+0:53        Convert bool to int ( temp highp int)
+0:53          subgroupShuffleDown ( global bool, operation at highp)
+0:53            Compare Less Than ( temp bool)
+0:53              direct index ( temp highp int)
+0:53                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    Constant:
+0:53                      0 (const int)
+0:53                  Constant:
+0:53                    1 (const int)
+0:53                Constant:
+0:53                  0 (const int)
+0:53              Constant:
+0:53                0 (const int)
+0:53            'invocation' ( temp highp uint)
+0:54      move second child to first child ( temp highp 2-component vector of int)
+0:54        vector swizzle ( temp highp 2-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          Sequence
+0:54            Constant:
+0:54              0 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54        Convert bool to int ( temp highp 2-component vector of int)
+0:54          subgroupShuffleDown ( global 2-component vector of bool, operation at highp)
+0:54            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:54              vector swizzle ( temp highp 2-component vector of int)
+0:54                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    Constant:
+0:54                      1 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54                Sequence
+0:54                  Constant:
+0:54                    0 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54              Constant:
+0:54                0 (const int)
+0:54                0 (const int)
+0:54            'invocation' ( temp highp uint)
+0:55      move second child to first child ( temp highp 3-component vector of int)
+0:55        vector swizzle ( temp highp 3-component vector of int)
+0:55          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                3 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55            Constant:
+0:55              2 (const int)
+0:55        Convert bool to int ( temp highp 3-component vector of int)
+0:55          subgroupShuffleDown ( global 3-component vector of bool, operation at highp)
+0:55            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:55              vector swizzle ( temp highp 3-component vector of int)
+0:55                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    Constant:
+0:55                      1 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                Sequence
+0:55                  Constant:
+0:55                    0 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                  Constant:
+0:55                    2 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55                0 (const int)
+0:55                0 (const int)
+0:55            'invocation' ( temp highp uint)
+0:56      move second child to first child ( temp highp 4-component vector of int)
+0:56        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            Constant:
+0:56              3 (const int)
+0:56          Constant:
+0:56            1 (const int)
+0:56        Convert bool to int ( temp highp 4-component vector of int)
+0:56          subgroupShuffleDown ( global 4-component vector of bool, operation at highp)
+0:56            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:56              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  Constant:
+0:56                    1 (const int)
+0:56                Constant:
+0:56                  1 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:56            'invocation' ( temp highp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
+
+Linked compute stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_shuffle_relative
+local_size = (8, 8, 1)
+0:? Sequence
+0:14  Function Definition: main( ( global void)
+0:14    Function Parameters: 
+0:16    Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp highp uint)
+0:16          'invocation' ( temp highp uint)
+0:16          mod ( temp mediump uint)
+0:16            add ( temp mediump uint)
+0:16              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:16              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:16            Constant:
+0:16              4 (const uint)
+0:18      move second child to first child ( temp highp float)
+0:18        direct index ( temp highp float)
+0:18          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          Constant:
+0:18            0 (const int)
+0:18        subgroupShuffleUp ( global highp float)
+0:18          direct index ( temp highp float)
+0:18            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:18              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:18                Constant:
+0:18                  0 (const int)
+0:18              Constant:
+0:18                0 (const int)
+0:18            Constant:
+0:18              0 (const int)
+0:18          'invocation' ( temp highp uint)
+0:19      move second child to first child ( temp highp 2-component vector of float)
+0:19        vector swizzle ( temp highp 2-component vector of float)
+0:19          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19              Constant:
+0:19                0 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19          Sequence
+0:19            Constant:
+0:19              0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19        subgroupShuffleUp ( global highp 2-component vector of float)
+0:19          vector swizzle ( temp highp 2-component vector of float)
+0:19            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:19                Constant:
+0:19                  1 (const int)
+0:19              Constant:
+0:19                0 (const int)
+0:19            Sequence
+0:19              Constant:
+0:19                0 (const int)
+0:19              Constant:
+0:19                1 (const int)
+0:19          'invocation' ( temp highp uint)
+0:20      move second child to first child ( temp highp 3-component vector of float)
+0:20        vector swizzle ( temp highp 3-component vector of float)
+0:20          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20              Constant:
+0:20                0 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Sequence
+0:20            Constant:
+0:20              0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20            Constant:
+0:20              2 (const int)
+0:20        subgroupShuffleUp ( global highp 3-component vector of float)
+0:20          vector swizzle ( temp highp 3-component vector of float)
+0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:20                Constant:
+0:20                  2 (const int)
+0:20              Constant:
+0:20                0 (const int)
+0:20            Sequence
+0:20              Constant:
+0:20                0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20              Constant:
+0:20                2 (const int)
+0:20          'invocation' ( temp highp uint)
+0:21      move second child to first child ( temp highp 4-component vector of float)
+0:21        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21            Constant:
+0:21              0 (const int)
+0:21          Constant:
+0:21            0 (const int)
+0:21        subgroupShuffleUp ( global highp 4-component vector of float)
+0:21          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:21              Constant:
+0:21                3 (const int)
+0:21            Constant:
+0:21              0 (const int)
+0:21          'invocation' ( temp highp uint)
+0:23      move second child to first child ( temp highp int)
+0:23        direct index ( temp highp int)
+0:23          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23              Constant:
+0:23                0 (const int)
+0:23            Constant:
+0:23              1 (const int)
+0:23          Constant:
+0:23            0 (const int)
+0:23        subgroupShuffleUp ( global highp int)
+0:23          direct index ( temp highp int)
+0:23            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                1 (const int)
+0:23            Constant:
+0:23              0 (const int)
+0:23          'invocation' ( temp highp uint)
+0:24      move second child to first child ( temp highp 2-component vector of int)
+0:24        vector swizzle ( temp highp 2-component vector of int)
+0:24          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24              Constant:
+0:24                0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24          Sequence
+0:24            Constant:
+0:24              0 (const int)
+0:24            Constant:
+0:24              1 (const int)
+0:24        subgroupShuffleUp ( global highp 2-component vector of int)
+0:24          vector swizzle ( temp highp 2-component vector of int)
+0:24            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:24                Constant:
+0:24                  1 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24            Sequence
+0:24              Constant:
+0:24                0 (const int)
+0:24              Constant:
+0:24                1 (const int)
+0:24          'invocation' ( temp highp uint)
+0:25      move second child to first child ( temp highp 3-component vector of int)
+0:25        vector swizzle ( temp highp 3-component vector of int)
+0:25          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25              Constant:
+0:25                0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25          Sequence
+0:25            Constant:
+0:25              0 (const int)
+0:25            Constant:
+0:25              1 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25        subgroupShuffleUp ( global highp 3-component vector of int)
+0:25          vector swizzle ( temp highp 3-component vector of int)
+0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:25                Constant:
+0:25                  2 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25            Sequence
+0:25              Constant:
+0:25                0 (const int)
+0:25              Constant:
+0:25                1 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25          'invocation' ( temp highp uint)
+0:26      move second child to first child ( temp highp 4-component vector of int)
+0:26        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26            Constant:
+0:26              0 (const int)
+0:26          Constant:
+0:26            1 (const int)
+0:26        subgroupShuffleUp ( global highp 4-component vector of int)
+0:26          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:26              Constant:
+0:26                3 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26          'invocation' ( temp highp uint)
+0:28      move second child to first child ( temp highp uint)
+0:28        direct index ( temp highp uint)
+0:28          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28              Constant:
+0:28                1 (const int)
+0:28            Constant:
+0:28              2 (const int)
+0:28          Constant:
+0:28            0 (const int)
+0:28        subgroupShuffleUp ( global highp uint)
+0:28          direct index ( temp highp uint)
+0:28            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                2 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28          'invocation' ( temp highp uint)
+0:29      move second child to first child ( temp highp 2-component vector of uint)
+0:29        vector swizzle ( temp highp 2-component vector of uint)
+0:29          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29              Constant:
+0:29                1 (const int)
+0:29            Constant:
+0:29              2 (const int)
+0:29          Sequence
+0:29            Constant:
+0:29              0 (const int)
+0:29            Constant:
+0:29              1 (const int)
+0:29        subgroupShuffleUp ( global highp 2-component vector of uint)
+0:29          vector swizzle ( temp highp 2-component vector of uint)
+0:29            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:29                Constant:
+0:29                  1 (const int)
+0:29              Constant:
+0:29                2 (const int)
+0:29            Sequence
+0:29              Constant:
+0:29                0 (const int)
+0:29              Constant:
+0:29                1 (const int)
+0:29          'invocation' ( temp highp uint)
+0:30      move second child to first child ( temp highp 3-component vector of uint)
+0:30        vector swizzle ( temp highp 3-component vector of uint)
+0:30          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30              Constant:
+0:30                1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30          Sequence
+0:30            Constant:
+0:30              0 (const int)
+0:30            Constant:
+0:30              1 (const int)
+0:30            Constant:
+0:30              2 (const int)
+0:30        subgroupShuffleUp ( global highp 3-component vector of uint)
+0:30          vector swizzle ( temp highp 3-component vector of uint)
+0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:30                Constant:
+0:30                  2 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30            Sequence
+0:30              Constant:
+0:30                0 (const int)
+0:30              Constant:
+0:30                1 (const int)
+0:30              Constant:
+0:30                2 (const int)
+0:30          'invocation' ( temp highp uint)
+0:31      move second child to first child ( temp highp 4-component vector of uint)
+0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31            Constant:
+0:31              1 (const int)
+0:31          Constant:
+0:31            2 (const int)
+0:31        subgroupShuffleUp ( global highp 4-component vector of uint)
+0:31          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:31              Constant:
+0:31                3 (const int)
+0:31            Constant:
+0:31              2 (const int)
+0:31          'invocation' ( temp highp uint)
+0:33      move second child to first child ( temp highp int)
+0:33        direct index ( temp highp int)
+0:33          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33              Constant:
+0:33                1 (const int)
+0:33            Constant:
+0:33              1 (const int)
+0:33          Constant:
+0:33            0 (const int)
+0:33        Convert bool to int ( temp highp int)
+0:33          subgroupShuffleUp ( global bool, operation at highp)
+0:33            Compare Less Than ( temp bool)
+0:33              direct index ( temp highp int)
+0:33                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:33                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                  Constant:
+0:33                    1 (const int)
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                0 (const int)
+0:33            'invocation' ( temp highp uint)
+0:34      move second child to first child ( temp highp 2-component vector of int)
+0:34        vector swizzle ( temp highp 2-component vector of int)
+0:34          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34              Constant:
+0:34                1 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34          Sequence
+0:34            Constant:
+0:34              0 (const int)
+0:34            Constant:
+0:34              1 (const int)
+0:34        Convert bool to int ( temp highp 2-component vector of int)
+0:34          subgroupShuffleUp ( global 2-component vector of bool, operation at highp)
+0:34            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:34              vector swizzle ( temp highp 2-component vector of int)
+0:34                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:34                    Constant:
+0:34                      1 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34                Sequence
+0:34                  Constant:
+0:34                    0 (const int)
+0:34                  Constant:
+0:34                    1 (const int)
+0:34              Constant:
+0:34                0 (const int)
+0:34                0 (const int)
+0:34            'invocation' ( temp highp uint)
+0:35      move second child to first child ( temp highp 3-component vector of int)
+0:35        vector swizzle ( temp highp 3-component vector of int)
+0:35          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35              Constant:
+0:35                1 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35          Sequence
+0:35            Constant:
+0:35              0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35            Constant:
+0:35              2 (const int)
+0:35        Convert bool to int ( temp highp 3-component vector of int)
+0:35          subgroupShuffleUp ( global 3-component vector of bool, operation at highp)
+0:35            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:35              vector swizzle ( temp highp 3-component vector of int)
+0:35                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:35                    Constant:
+0:35                      1 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                Sequence
+0:35                  Constant:
+0:35                    0 (const int)
+0:35                  Constant:
+0:35                    1 (const int)
+0:35                  Constant:
+0:35                    2 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35                0 (const int)
+0:35                0 (const int)
+0:35            'invocation' ( temp highp uint)
+0:36      move second child to first child ( temp highp 4-component vector of int)
+0:36        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36            Constant:
+0:36              1 (const int)
+0:36          Constant:
+0:36            1 (const int)
+0:36        Convert bool to int ( temp highp 4-component vector of int)
+0:36          subgroupShuffleUp ( global 4-component vector of bool, operation at highp)
+0:36            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:36              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:36                  Constant:
+0:36                    1 (const int)
+0:36                Constant:
+0:36                  1 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36                0 (const int)
+0:36            'invocation' ( temp highp uint)
+0:38      move second child to first child ( temp highp float)
+0:38        direct index ( temp highp float)
+0:38          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38              Constant:
+0:38                2 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          Constant:
+0:38            0 (const int)
+0:38        subgroupShuffleDown ( global highp float)
+0:38          direct index ( temp highp float)
+0:38            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:38                Constant:
+0:38                  0 (const int)
+0:38              Constant:
+0:38                0 (const int)
+0:38            Constant:
+0:38              0 (const int)
+0:38          'invocation' ( temp highp uint)
+0:39      move second child to first child ( temp highp 2-component vector of float)
+0:39        vector swizzle ( temp highp 2-component vector of float)
+0:39          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39              Constant:
+0:39                2 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          Sequence
+0:39            Constant:
+0:39              0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39        subgroupShuffleDown ( global highp 2-component vector of float)
+0:39          vector swizzle ( temp highp 2-component vector of float)
+0:39            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:39                Constant:
+0:39                  1 (const int)
+0:39              Constant:
+0:39                0 (const int)
+0:39            Sequence
+0:39              Constant:
+0:39                0 (const int)
+0:39              Constant:
+0:39                1 (const int)
+0:39          'invocation' ( temp highp uint)
+0:40      move second child to first child ( temp highp 3-component vector of float)
+0:40        vector swizzle ( temp highp 3-component vector of float)
+0:40          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40              Constant:
+0:40                2 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Sequence
+0:40            Constant:
+0:40              0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40            Constant:
+0:40              2 (const int)
+0:40        subgroupShuffleDown ( global highp 3-component vector of float)
+0:40          vector swizzle ( temp highp 3-component vector of float)
+0:40            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:40                Constant:
+0:40                  2 (const int)
+0:40              Constant:
+0:40                0 (const int)
+0:40            Sequence
+0:40              Constant:
+0:40                0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40              Constant:
+0:40                2 (const int)
+0:40          'invocation' ( temp highp uint)
+0:41      move second child to first child ( temp highp 4-component vector of float)
+0:41        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41            Constant:
+0:41              2 (const int)
+0:41          Constant:
+0:41            0 (const int)
+0:41        subgroupShuffleDown ( global highp 4-component vector of float)
+0:41          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:41              Constant:
+0:41                3 (const int)
+0:41            Constant:
+0:41              0 (const int)
+0:41          'invocation' ( temp highp uint)
+0:43      move second child to first child ( temp highp int)
+0:43        direct index ( temp highp int)
+0:43          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43              Constant:
+0:43                2 (const int)
+0:43            Constant:
+0:43              1 (const int)
+0:43          Constant:
+0:43            0 (const int)
+0:43        subgroupShuffleDown ( global highp int)
+0:43          direct index ( temp highp int)
+0:43            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:43              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:43                Constant:
+0:43                  0 (const int)
+0:43              Constant:
+0:43                1 (const int)
+0:43            Constant:
+0:43              0 (const int)
+0:43          'invocation' ( temp highp uint)
+0:44      move second child to first child ( temp highp 2-component vector of int)
+0:44        vector swizzle ( temp highp 2-component vector of int)
+0:44          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44              Constant:
+0:44                2 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44          Sequence
+0:44            Constant:
+0:44              0 (const int)
+0:44            Constant:
+0:44              1 (const int)
+0:44        subgroupShuffleDown ( global highp 2-component vector of int)
+0:44          vector swizzle ( temp highp 2-component vector of int)
+0:44            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:44              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:44                Constant:
+0:44                  1 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44            Sequence
+0:44              Constant:
+0:44                0 (const int)
+0:44              Constant:
+0:44                1 (const int)
+0:44          'invocation' ( temp highp uint)
+0:45      move second child to first child ( temp highp 3-component vector of int)
+0:45        vector swizzle ( temp highp 3-component vector of int)
+0:45          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45          Sequence
+0:45            Constant:
+0:45              0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45        subgroupShuffleDown ( global highp 3-component vector of int)
+0:45          vector swizzle ( temp highp 3-component vector of int)
+0:45            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:45                Constant:
+0:45                  2 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45            Sequence
+0:45              Constant:
+0:45                0 (const int)
+0:45              Constant:
+0:45                1 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45          'invocation' ( temp highp uint)
+0:46      move second child to first child ( temp highp 4-component vector of int)
+0:46        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46            Constant:
+0:46              2 (const int)
+0:46          Constant:
+0:46            1 (const int)
+0:46        subgroupShuffleDown ( global highp 4-component vector of int)
+0:46          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:46              Constant:
+0:46                3 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46          'invocation' ( temp highp uint)
+0:48      move second child to first child ( temp highp uint)
+0:48        direct index ( temp highp uint)
+0:48          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48              Constant:
+0:48                3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48          Constant:
+0:48            0 (const int)
+0:48        subgroupShuffleDown ( global highp uint)
+0:48          direct index ( temp highp uint)
+0:48            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:48              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:48                Constant:
+0:48                  0 (const int)
+0:48              Constant:
+0:48                2 (const int)
+0:48            Constant:
+0:48              0 (const int)
+0:48          'invocation' ( temp highp uint)
+0:49      move second child to first child ( temp highp 2-component vector of uint)
+0:49        vector swizzle ( temp highp 2-component vector of uint)
+0:49          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49              Constant:
+0:49                3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49          Sequence
+0:49            Constant:
+0:49              0 (const int)
+0:49            Constant:
+0:49              1 (const int)
+0:49        subgroupShuffleDown ( global highp 2-component vector of uint)
+0:49          vector swizzle ( temp highp 2-component vector of uint)
+0:49            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:49                Constant:
+0:49                  1 (const int)
+0:49              Constant:
+0:49                2 (const int)
+0:49            Sequence
+0:49              Constant:
+0:49                0 (const int)
+0:49              Constant:
+0:49                1 (const int)
+0:49          'invocation' ( temp highp uint)
+0:50      move second child to first child ( temp highp 3-component vector of uint)
+0:50        vector swizzle ( temp highp 3-component vector of uint)
+0:50          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50          Sequence
+0:50            Constant:
+0:50              0 (const int)
+0:50            Constant:
+0:50              1 (const int)
+0:50            Constant:
+0:50              2 (const int)
+0:50        subgroupShuffleDown ( global highp 3-component vector of uint)
+0:50          vector swizzle ( temp highp 3-component vector of uint)
+0:50            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:50                Constant:
+0:50                  2 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50            Sequence
+0:50              Constant:
+0:50                0 (const int)
+0:50              Constant:
+0:50                1 (const int)
+0:50              Constant:
+0:50                2 (const int)
+0:50          'invocation' ( temp highp uint)
+0:51      move second child to first child ( temp highp 4-component vector of uint)
+0:51        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51            Constant:
+0:51              3 (const int)
+0:51          Constant:
+0:51            2 (const int)
+0:51        subgroupShuffleDown ( global highp 4-component vector of uint)
+0:51          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:51              Constant:
+0:51                3 (const int)
+0:51            Constant:
+0:51              2 (const int)
+0:51          'invocation' ( temp highp uint)
+0:53      move second child to first child ( temp highp int)
+0:53        direct index ( temp highp int)
+0:53          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53              Constant:
+0:53                3 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53          Constant:
+0:53            0 (const int)
+0:53        Convert bool to int ( temp highp int)
+0:53          subgroupShuffleDown ( global bool, operation at highp)
+0:53            Compare Less Than ( temp bool)
+0:53              direct index ( temp highp int)
+0:53                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:53                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:53                    Constant:
+0:53                      0 (const int)
+0:53                  Constant:
+0:53                    1 (const int)
+0:53                Constant:
+0:53                  0 (const int)
+0:53              Constant:
+0:53                0 (const int)
+0:53            'invocation' ( temp highp uint)
+0:54      move second child to first child ( temp highp 2-component vector of int)
+0:54        vector swizzle ( temp highp 2-component vector of int)
+0:54          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54              Constant:
+0:54                3 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54          Sequence
+0:54            Constant:
+0:54              0 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54        Convert bool to int ( temp highp 2-component vector of int)
+0:54          subgroupShuffleDown ( global 2-component vector of bool, operation at highp)
+0:54            Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:54              vector swizzle ( temp highp 2-component vector of int)
+0:54                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:54                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:54                    Constant:
+0:54                      1 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54                Sequence
+0:54                  Constant:
+0:54                    0 (const int)
+0:54                  Constant:
+0:54                    1 (const int)
+0:54              Constant:
+0:54                0 (const int)
+0:54                0 (const int)
+0:54            'invocation' ( temp highp uint)
+0:55      move second child to first child ( temp highp 3-component vector of int)
+0:55        vector swizzle ( temp highp 3-component vector of int)
+0:55          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55              Constant:
+0:55                3 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55          Sequence
+0:55            Constant:
+0:55              0 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55            Constant:
+0:55              2 (const int)
+0:55        Convert bool to int ( temp highp 3-component vector of int)
+0:55          subgroupShuffleDown ( global 3-component vector of bool, operation at highp)
+0:55            Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:55              vector swizzle ( temp highp 3-component vector of int)
+0:55                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:55                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:55                    Constant:
+0:55                      1 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                Sequence
+0:55                  Constant:
+0:55                    0 (const int)
+0:55                  Constant:
+0:55                    1 (const int)
+0:55                  Constant:
+0:55                    2 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55                0 (const int)
+0:55                0 (const int)
+0:55            'invocation' ( temp highp uint)
+0:56      move second child to first child ( temp highp 4-component vector of int)
+0:56        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56            Constant:
+0:56              3 (const int)
+0:56          Constant:
+0:56            1 (const int)
+0:56        Convert bool to int ( temp highp 4-component vector of int)
+0:56          subgroupShuffleDown ( global 4-component vector of bool, operation at highp)
+0:56            Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:56              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:56                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+0:56                  Constant:
+0:56                    1 (const int)
+0:56                Constant:
+0:56                  1 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:56                0 (const int)
+0:56            'invocation' ( temp highp uint)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
+
diff --git a/Test/baseResults/glsl.es320.subgroupVote.comp.out b/Test/baseResults/glsl.es320.subgroupVote.comp.out
new file mode 100644
index 0000000..68c8ea7
--- /dev/null
+++ b/Test/baseResults/glsl.es320.subgroupVote.comp.out
@@ -0,0 +1,845 @@
+glsl.es320.subgroupVote.comp
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_vote
+local_size = (8, 8, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp highp uint)
+0:17          'invocation' ( temp highp uint)
+0:17          mod ( temp mediump uint)
+0:17            add ( temp mediump uint)
+0:17              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      Test condition and select ( temp void)
+0:19        Condition
+0:19        subgroupAll ( global bool)
+0:19          Compare Less Than ( temp bool)
+0:19            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                3 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19        true case
+0:21        Sequence
+0:21          move second child to first child ( temp highp int)
+0:21            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:21                Constant:
+0:21                  0 (const int)
+0:21              Constant:
+0:21                3 (const int)
+0:21            Convert bool to int ( temp highp int)
+0:21              subgroupAllEqual ( global bool, operation at highp)
+0:21                direct index ( temp highp float)
+0:21                  f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:21                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:21                      Constant:
+0:21                        0 (const int)
+0:21                    Constant:
+0:21                      0 (const int)
+0:21                  Constant:
+0:21                    0 (const int)
+0:22          move second child to first child ( temp highp int)
+0:22            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:22              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:22                Constant:
+0:22                  0 (const int)
+0:22              Constant:
+0:22                3 (const int)
+0:22            Convert bool to int ( temp highp int)
+0:22              subgroupAllEqual ( global bool, operation at highp)
+0:22                vector swizzle ( temp highp 2-component vector of float)
+0:22                  f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:22                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:22                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:22                      Constant:
+0:22                        1 (const int)
+0:22                    Constant:
+0:22                      0 (const int)
+0:22                  Sequence
+0:22                    Constant:
+0:22                      0 (const int)
+0:22                    Constant:
+0:22                      1 (const int)
+0:23          move second child to first child ( temp highp int)
+0:23            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                3 (const int)
+0:23            Convert bool to int ( temp highp int)
+0:23              subgroupAllEqual ( global bool, operation at highp)
+0:23                vector swizzle ( temp highp 3-component vector of float)
+0:23                  f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:23                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:23                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:23                      Constant:
+0:23                        2 (const int)
+0:23                    Constant:
+0:23                      0 (const int)
+0:23                  Sequence
+0:23                    Constant:
+0:23                      0 (const int)
+0:23                    Constant:
+0:23                      1 (const int)
+0:23                    Constant:
+0:23                      2 (const int)
+0:24          move second child to first child ( temp highp int)
+0:24            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                3 (const int)
+0:24            Convert bool to int ( temp highp int)
+0:24              subgroupAllEqual ( global bool, operation at highp)
+0:24                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:24                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:24                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:24                    Constant:
+0:24                      3 (const int)
+0:24                  Constant:
+0:24                    0 (const int)
+0:26          move second child to first child ( temp highp int)
+0:26            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:26                Constant:
+0:26                  0 (const int)
+0:26              Constant:
+0:26                3 (const int)
+0:26            Convert bool to int ( temp highp int)
+0:26              subgroupAllEqual ( global bool, operation at highp)
+0:26                direct index ( temp highp int)
+0:26                  i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:26                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:26                      Constant:
+0:26                        0 (const int)
+0:26                    Constant:
+0:26                      1 (const int)
+0:26                  Constant:
+0:26                    0 (const int)
+0:27          move second child to first child ( temp highp int)
+0:27            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:27              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:27                Constant:
+0:27                  0 (const int)
+0:27              Constant:
+0:27                3 (const int)
+0:27            Convert bool to int ( temp highp int)
+0:27              subgroupAllEqual ( global bool, operation at highp)
+0:27                vector swizzle ( temp highp 2-component vector of int)
+0:27                  i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:27                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:27                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:27                      Constant:
+0:27                        1 (const int)
+0:27                    Constant:
+0:27                      1 (const int)
+0:27                  Sequence
+0:27                    Constant:
+0:27                      0 (const int)
+0:27                    Constant:
+0:27                      1 (const int)
+0:28          move second child to first child ( temp highp int)
+0:28            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                3 (const int)
+0:28            Convert bool to int ( temp highp int)
+0:28              subgroupAllEqual ( global bool, operation at highp)
+0:28                vector swizzle ( temp highp 3-component vector of int)
+0:28                  i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:28                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:28                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:28                      Constant:
+0:28                        2 (const int)
+0:28                    Constant:
+0:28                      1 (const int)
+0:28                  Sequence
+0:28                    Constant:
+0:28                      0 (const int)
+0:28                    Constant:
+0:28                      1 (const int)
+0:28                    Constant:
+0:28                      2 (const int)
+0:29          move second child to first child ( temp highp int)
+0:29            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                3 (const int)
+0:29            Convert bool to int ( temp highp int)
+0:29              subgroupAllEqual ( global bool, operation at highp)
+0:29                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:29                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:29                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:29                    Constant:
+0:29                      3 (const int)
+0:29                  Constant:
+0:29                    1 (const int)
+0:31          move second child to first child ( temp highp int)
+0:31            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                3 (const int)
+0:31            Convert bool to int ( temp highp int)
+0:31              subgroupAllEqual ( global bool, operation at highp)
+0:31                direct index ( temp highp uint)
+0:31                  u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:31                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:31                      Constant:
+0:31                        0 (const int)
+0:31                    Constant:
+0:31                      2 (const int)
+0:31                  Constant:
+0:31                    0 (const int)
+0:32          move second child to first child ( temp highp int)
+0:32            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:32                Constant:
+0:32                  0 (const int)
+0:32              Constant:
+0:32                3 (const int)
+0:32            Convert bool to int ( temp highp int)
+0:32              subgroupAllEqual ( global bool, operation at highp)
+0:32                vector swizzle ( temp highp 2-component vector of uint)
+0:32                  u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:32                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:32                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:32                      Constant:
+0:32                        1 (const int)
+0:32                    Constant:
+0:32                      2 (const int)
+0:32                  Sequence
+0:32                    Constant:
+0:32                      0 (const int)
+0:32                    Constant:
+0:32                      1 (const int)
+0:33          move second child to first child ( temp highp int)
+0:33            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                3 (const int)
+0:33            Convert bool to int ( temp highp int)
+0:33              subgroupAllEqual ( global bool, operation at highp)
+0:33                vector swizzle ( temp highp 3-component vector of uint)
+0:33                  u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:33                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:33                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:33                      Constant:
+0:33                        2 (const int)
+0:33                    Constant:
+0:33                      2 (const int)
+0:33                  Sequence
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                    Constant:
+0:33                      1 (const int)
+0:33                    Constant:
+0:33                      2 (const int)
+0:34          move second child to first child ( temp highp int)
+0:34            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Convert bool to int ( temp highp int)
+0:34              subgroupAllEqual ( global bool, operation at highp)
+0:34                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:34                    Constant:
+0:34                      3 (const int)
+0:34                  Constant:
+0:34                    2 (const int)
+0:19        false case
+0:36        Test condition and select ( temp void)
+0:36          Condition
+0:36          subgroupAny ( global bool)
+0:36            Compare Less Than ( temp bool)
+0:36              r: direct index for structure (layout( column_major shared) buffer highp int)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:36                  Constant:
+0:36                    1 (const int)
+0:36                Constant:
+0:36                  3 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36          true case
+0:38          Sequence
+0:38            move second child to first child ( temp highp int)
+0:38              r: direct index for structure (layout( column_major shared) buffer highp int)
+0:38                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:38                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:38                  Constant:
+0:38                    1 (const int)
+0:38                Constant:
+0:38                  3 (const int)
+0:38              Construct int ( temp highp int)
+0:38                Convert bool to int ( temp highp int)
+0:38                  subgroupAllEqual ( global bool)
+0:38                    Compare Less Than ( temp bool)
+0:38                      direct index ( temp highp int)
+0:38                        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:38                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:38                            Constant:
+0:38                              0 (const int)
+0:38                          Constant:
+0:38                            1 (const int)
+0:38                        Constant:
+0:38                          0 (const int)
+0:38                      Constant:
+0:38                        0 (const int)
+0:39            move second child to first child ( temp highp int)
+0:39              r: direct index for structure (layout( column_major shared) buffer highp int)
+0:39                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:39                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Constant:
+0:39                  3 (const int)
+0:39              Construct int ( temp highp int)
+0:39                Construct ivec2 ( temp highp 2-component vector of int)
+0:39                  Convert bool to int ( temp highp int)
+0:39                    subgroupAllEqual ( global bool)
+0:39                      Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:39                        vector swizzle ( temp highp 2-component vector of int)
+0:39                          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:39                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:39                              Constant:
+0:39                                1 (const int)
+0:39                            Constant:
+0:39                              1 (const int)
+0:39                          Sequence
+0:39                            Constant:
+0:39                              0 (const int)
+0:39                            Constant:
+0:39                              1 (const int)
+0:39                        Constant:
+0:39                          0 (const int)
+0:39                          0 (const int)
+0:40            move second child to first child ( temp highp int)
+0:40              r: direct index for structure (layout( column_major shared) buffer highp int)
+0:40                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:40                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Constant:
+0:40                  3 (const int)
+0:40              Construct int ( temp highp int)
+0:40                Construct ivec3 ( temp highp 3-component vector of int)
+0:40                  Convert bool to int ( temp highp int)
+0:40                    subgroupAllEqual ( global bool)
+0:40                      Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:40                        vector swizzle ( temp highp 3-component vector of int)
+0:40                          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:40                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:40                              Constant:
+0:40                                1 (const int)
+0:40                            Constant:
+0:40                              1 (const int)
+0:40                          Sequence
+0:40                            Constant:
+0:40                              0 (const int)
+0:40                            Constant:
+0:40                              1 (const int)
+0:40                            Constant:
+0:40                              2 (const int)
+0:40                        Constant:
+0:40                          0 (const int)
+0:40                          0 (const int)
+0:40                          0 (const int)
+0:41            move second child to first child ( temp highp int)
+0:41              r: direct index for structure (layout( column_major shared) buffer highp int)
+0:41                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                Constant:
+0:41                  3 (const int)
+0:41              Construct int ( temp highp int)
+0:41                Construct ivec4 ( temp highp 4-component vector of int)
+0:41                  Convert bool to int ( temp highp int)
+0:41                    subgroupAllEqual ( global bool)
+0:41                      Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:41                        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:41                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:41                            Constant:
+0:41                              1 (const int)
+0:41                          Constant:
+0:41                            1 (const int)
+0:41                        Constant:
+0:41                          0 (const int)
+0:41                          0 (const int)
+0:41                          0 (const int)
+0:41                          0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+
+
+Linked compute stage:
+
+
+Shader version: 320
+Requested GL_KHR_shader_subgroup_basic
+Requested GL_KHR_shader_subgroup_vote
+local_size = (8, 8, 1)
+0:? Sequence
+0:15  Function Definition: main( ( global void)
+0:15    Function Parameters: 
+0:17    Sequence
+0:17      Sequence
+0:17        move second child to first child ( temp highp uint)
+0:17          'invocation' ( temp highp uint)
+0:17          mod ( temp mediump uint)
+0:17            add ( temp mediump uint)
+0:17              'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
+0:17              'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
+0:17            Constant:
+0:17              4 (const uint)
+0:19      Test condition and select ( temp void)
+0:19        Condition
+0:19        subgroupAll ( global bool)
+0:19          Compare Less Than ( temp bool)
+0:19            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:19              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:19                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:19                Constant:
+0:19                  0 (const int)
+0:19              Constant:
+0:19                3 (const int)
+0:19            Constant:
+0:19              0 (const int)
+0:19        true case
+0:21        Sequence
+0:21          move second child to first child ( temp highp int)
+0:21            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:21                Constant:
+0:21                  0 (const int)
+0:21              Constant:
+0:21                3 (const int)
+0:21            Convert bool to int ( temp highp int)
+0:21              subgroupAllEqual ( global bool, operation at highp)
+0:21                direct index ( temp highp float)
+0:21                  f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:21                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:21                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:21                      Constant:
+0:21                        0 (const int)
+0:21                    Constant:
+0:21                      0 (const int)
+0:21                  Constant:
+0:21                    0 (const int)
+0:22          move second child to first child ( temp highp int)
+0:22            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:22              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:22                Constant:
+0:22                  0 (const int)
+0:22              Constant:
+0:22                3 (const int)
+0:22            Convert bool to int ( temp highp int)
+0:22              subgroupAllEqual ( global bool, operation at highp)
+0:22                vector swizzle ( temp highp 2-component vector of float)
+0:22                  f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:22                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:22                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:22                      Constant:
+0:22                        1 (const int)
+0:22                    Constant:
+0:22                      0 (const int)
+0:22                  Sequence
+0:22                    Constant:
+0:22                      0 (const int)
+0:22                    Constant:
+0:22                      1 (const int)
+0:23          move second child to first child ( temp highp int)
+0:23            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:23              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:23                Constant:
+0:23                  0 (const int)
+0:23              Constant:
+0:23                3 (const int)
+0:23            Convert bool to int ( temp highp int)
+0:23              subgroupAllEqual ( global bool, operation at highp)
+0:23                vector swizzle ( temp highp 3-component vector of float)
+0:23                  f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:23                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:23                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:23                      Constant:
+0:23                        2 (const int)
+0:23                    Constant:
+0:23                      0 (const int)
+0:23                  Sequence
+0:23                    Constant:
+0:23                      0 (const int)
+0:23                    Constant:
+0:23                      1 (const int)
+0:23                    Constant:
+0:23                      2 (const int)
+0:24          move second child to first child ( temp highp int)
+0:24            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:24                Constant:
+0:24                  0 (const int)
+0:24              Constant:
+0:24                3 (const int)
+0:24            Convert bool to int ( temp highp int)
+0:24              subgroupAllEqual ( global bool, operation at highp)
+0:24                f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
+0:24                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:24                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:24                    Constant:
+0:24                      3 (const int)
+0:24                  Constant:
+0:24                    0 (const int)
+0:26          move second child to first child ( temp highp int)
+0:26            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:26                Constant:
+0:26                  0 (const int)
+0:26              Constant:
+0:26                3 (const int)
+0:26            Convert bool to int ( temp highp int)
+0:26              subgroupAllEqual ( global bool, operation at highp)
+0:26                direct index ( temp highp int)
+0:26                  i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:26                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:26                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:26                      Constant:
+0:26                        0 (const int)
+0:26                    Constant:
+0:26                      1 (const int)
+0:26                  Constant:
+0:26                    0 (const int)
+0:27          move second child to first child ( temp highp int)
+0:27            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:27              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:27                Constant:
+0:27                  0 (const int)
+0:27              Constant:
+0:27                3 (const int)
+0:27            Convert bool to int ( temp highp int)
+0:27              subgroupAllEqual ( global bool, operation at highp)
+0:27                vector swizzle ( temp highp 2-component vector of int)
+0:27                  i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:27                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:27                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:27                      Constant:
+0:27                        1 (const int)
+0:27                    Constant:
+0:27                      1 (const int)
+0:27                  Sequence
+0:27                    Constant:
+0:27                      0 (const int)
+0:27                    Constant:
+0:27                      1 (const int)
+0:28          move second child to first child ( temp highp int)
+0:28            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:28              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                3 (const int)
+0:28            Convert bool to int ( temp highp int)
+0:28              subgroupAllEqual ( global bool, operation at highp)
+0:28                vector swizzle ( temp highp 3-component vector of int)
+0:28                  i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:28                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:28                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:28                      Constant:
+0:28                        2 (const int)
+0:28                    Constant:
+0:28                      1 (const int)
+0:28                  Sequence
+0:28                    Constant:
+0:28                      0 (const int)
+0:28                    Constant:
+0:28                      1 (const int)
+0:28                    Constant:
+0:28                      2 (const int)
+0:29          move second child to first child ( temp highp int)
+0:29            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:29                Constant:
+0:29                  0 (const int)
+0:29              Constant:
+0:29                3 (const int)
+0:29            Convert bool to int ( temp highp int)
+0:29              subgroupAllEqual ( global bool, operation at highp)
+0:29                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:29                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:29                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:29                    Constant:
+0:29                      3 (const int)
+0:29                  Constant:
+0:29                    1 (const int)
+0:31          move second child to first child ( temp highp int)
+0:31            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:31                Constant:
+0:31                  0 (const int)
+0:31              Constant:
+0:31                3 (const int)
+0:31            Convert bool to int ( temp highp int)
+0:31              subgroupAllEqual ( global bool, operation at highp)
+0:31                direct index ( temp highp uint)
+0:31                  u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:31                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:31                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:31                      Constant:
+0:31                        0 (const int)
+0:31                    Constant:
+0:31                      2 (const int)
+0:31                  Constant:
+0:31                    0 (const int)
+0:32          move second child to first child ( temp highp int)
+0:32            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:32                Constant:
+0:32                  0 (const int)
+0:32              Constant:
+0:32                3 (const int)
+0:32            Convert bool to int ( temp highp int)
+0:32              subgroupAllEqual ( global bool, operation at highp)
+0:32                vector swizzle ( temp highp 2-component vector of uint)
+0:32                  u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:32                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:32                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:32                      Constant:
+0:32                        1 (const int)
+0:32                    Constant:
+0:32                      2 (const int)
+0:32                  Sequence
+0:32                    Constant:
+0:32                      0 (const int)
+0:32                    Constant:
+0:32                      1 (const int)
+0:33          move second child to first child ( temp highp int)
+0:33            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:33              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:33                Constant:
+0:33                  0 (const int)
+0:33              Constant:
+0:33                3 (const int)
+0:33            Convert bool to int ( temp highp int)
+0:33              subgroupAllEqual ( global bool, operation at highp)
+0:33                vector swizzle ( temp highp 3-component vector of uint)
+0:33                  u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:33                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:33                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:33                      Constant:
+0:33                        2 (const int)
+0:33                    Constant:
+0:33                      2 (const int)
+0:33                  Sequence
+0:33                    Constant:
+0:33                      0 (const int)
+0:33                    Constant:
+0:33                      1 (const int)
+0:33                    Constant:
+0:33                      2 (const int)
+0:34          move second child to first child ( temp highp int)
+0:34            r: direct index for structure (layout( column_major shared) buffer highp int)
+0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:34                Constant:
+0:34                  0 (const int)
+0:34              Constant:
+0:34                3 (const int)
+0:34            Convert bool to int ( temp highp int)
+0:34              subgroupAllEqual ( global bool, operation at highp)
+0:34                u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
+0:34                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:34                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:34                    Constant:
+0:34                      3 (const int)
+0:34                  Constant:
+0:34                    2 (const int)
+0:19        false case
+0:36        Test condition and select ( temp void)
+0:36          Condition
+0:36          subgroupAny ( global bool)
+0:36            Compare Less Than ( temp bool)
+0:36              r: direct index for structure (layout( column_major shared) buffer highp int)
+0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:36                  Constant:
+0:36                    1 (const int)
+0:36                Constant:
+0:36                  3 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36          true case
+0:38          Sequence
+0:38            move second child to first child ( temp highp int)
+0:38              r: direct index for structure (layout( column_major shared) buffer highp int)
+0:38                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:38                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:38                  Constant:
+0:38                    1 (const int)
+0:38                Constant:
+0:38                  3 (const int)
+0:38              Construct int ( temp highp int)
+0:38                Convert bool to int ( temp highp int)
+0:38                  subgroupAllEqual ( global bool)
+0:38                    Compare Less Than ( temp bool)
+0:38                      direct index ( temp highp int)
+0:38                        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:38                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:38                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:38                            Constant:
+0:38                              0 (const int)
+0:38                          Constant:
+0:38                            1 (const int)
+0:38                        Constant:
+0:38                          0 (const int)
+0:38                      Constant:
+0:38                        0 (const int)
+0:39            move second child to first child ( temp highp int)
+0:39              r: direct index for structure (layout( column_major shared) buffer highp int)
+0:39                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:39                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:39                  Constant:
+0:39                    1 (const int)
+0:39                Constant:
+0:39                  3 (const int)
+0:39              Construct int ( temp highp int)
+0:39                Construct ivec2 ( temp highp 2-component vector of int)
+0:39                  Convert bool to int ( temp highp int)
+0:39                    subgroupAllEqual ( global bool)
+0:39                      Compare Less Than ( global 2-component vector of bool, operation at highp)
+0:39                        vector swizzle ( temp highp 2-component vector of int)
+0:39                          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:39                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:39                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:39                              Constant:
+0:39                                1 (const int)
+0:39                            Constant:
+0:39                              1 (const int)
+0:39                          Sequence
+0:39                            Constant:
+0:39                              0 (const int)
+0:39                            Constant:
+0:39                              1 (const int)
+0:39                        Constant:
+0:39                          0 (const int)
+0:39                          0 (const int)
+0:40            move second child to first child ( temp highp int)
+0:40              r: direct index for structure (layout( column_major shared) buffer highp int)
+0:40                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:40                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:40                  Constant:
+0:40                    1 (const int)
+0:40                Constant:
+0:40                  3 (const int)
+0:40              Construct int ( temp highp int)
+0:40                Construct ivec3 ( temp highp 3-component vector of int)
+0:40                  Convert bool to int ( temp highp int)
+0:40                    subgroupAllEqual ( global bool)
+0:40                      Compare Less Than ( global 3-component vector of bool, operation at highp)
+0:40                        vector swizzle ( temp highp 3-component vector of int)
+0:40                          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:40                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:40                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:40                              Constant:
+0:40                                1 (const int)
+0:40                            Constant:
+0:40                              1 (const int)
+0:40                          Sequence
+0:40                            Constant:
+0:40                              0 (const int)
+0:40                            Constant:
+0:40                              1 (const int)
+0:40                            Constant:
+0:40                              2 (const int)
+0:40                        Constant:
+0:40                          0 (const int)
+0:40                          0 (const int)
+0:40                          0 (const int)
+0:41            move second child to first child ( temp highp int)
+0:41              r: direct index for structure (layout( column_major shared) buffer highp int)
+0:41                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:41                  Constant:
+0:41                    1 (const int)
+0:41                Constant:
+0:41                  3 (const int)
+0:41              Construct int ( temp highp int)
+0:41                Construct ivec4 ( temp highp 4-component vector of int)
+0:41                  Convert bool to int ( temp highp int)
+0:41                    subgroupAllEqual ( global bool)
+0:41                      Compare Less Than ( global 4-component vector of bool, operation at highp)
+0:41                        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
+0:41                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:41                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+0:41                            Constant:
+0:41                              1 (const int)
+0:41                          Constant:
+0:41                            1 (const int)
+0:41                        Constant:
+0:41                          0 (const int)
+0:41                          0 (const int)
+0:41                          0 (const int)
+0:41                          0 (const int)
+0:?   Linker Objects
+0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:?       8 (const uint)
+0:?       8 (const uint)
+0:?       1 (const uint)
+0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4, layout( column_major shared) buffer highp int r})
+
diff --git a/Test/baseResults/hlsl.automap.frag.out b/Test/baseResults/hlsl.automap.frag.out
index b9ab49c..7691b89 100644
--- a/Test/baseResults/hlsl.automap.frag.out
+++ b/Test/baseResults/hlsl.automap.frag.out
@@ -3,8 +3,8 @@
 t1: offset -1, type 8b5d, size 1, index -1, binding 11, stages 16
 t2: offset -1, type 8b5e, size 1, index -1, binding 12, stages 16
 t3: offset -1, type 8b5f, size 1, index -1, binding 13, stages 16
-t4.@data: offset 0, type 8b52, size 1, index 0, binding -1, stages 16
-t5.@data: offset 0, type 1405, size 0, index 1, binding -1, stages 16
+t4.@data: offset 0, type 8b52, size 1, index 0, binding -1, stages 16, arrayStride 16, topLevelArrayStride 16
+t5.@data: offset 0, type 1405, size 0, index 1, binding -1, stages 16, arrayStride 4, topLevelArrayStride 4
 t6: offset -1, type 8dc2, size 1, index -1, binding 16, stages 16
 s1: offset -1, type 0, size 1, index -1, binding 31, stages 16
 s2: offset -1, type 0, size 1, index -1, binding 32, stages 16
@@ -12,18 +12,25 @@
 u2: offset -1, type 904d, size 1, index -1, binding 42, stages 16
 u3: offset -1, type 904e, size 1, index -1, binding 43, stages 16
 u4: offset -1, type 9051, size 1, index -1, binding 44, stages 16
-u5.@data: offset 0, type 1405, size 0, index 2, binding -1, stages 16
-u6.@data: offset 0, type 1406, size 1, index 3, binding -1, stages 16
+u5.@data: offset 0, type 1405, size 0, index 2, binding -1, stages 16, arrayStride 4, topLevelArrayStride 4
+u6.@data: offset 0, type 1406, size 1, index 3, binding -1, stages 16, arrayStride 4, topLevelArrayStride 4
 cb1: offset 0, type 1404, size 1, index 4, binding -1, stages 16
 tb1: offset 0, type 1404, size 1, index 5, binding -1, stages 16
 
 Uniform block reflection:
-t4: offset -1, type ffffffff, size 0, index -1, binding 14, stages 0
-t5: offset -1, type ffffffff, size 0, index -1, binding 15, stages 0
-u5: offset -1, type ffffffff, size 0, index -1, binding 45, stages 0
-u6: offset -1, type ffffffff, size 0, index -1, binding 46, stages 0
-cb: offset -1, type ffffffff, size 4, index -1, binding 51, stages 0
-tb: offset -1, type ffffffff, size 4, index -1, binding 17, stages 0
+t4: offset -1, type ffffffff, size 0, index -1, binding 14, stages 16, numMembers 1
+t5: offset -1, type ffffffff, size 0, index -1, binding 15, stages 16, numMembers 1
+u5: offset -1, type ffffffff, size 0, index -1, binding 45, stages 16, numMembers 1
+u6: offset -1, type ffffffff, size 0, index -1, binding 46, stages 16, numMembers 1
+cb: offset -1, type ffffffff, size 4, index -1, binding 51, stages 16, numMembers 1
+tb: offset -1, type ffffffff, size 4, index -1, binding 17, stages 16, numMembers 1
 
-Vertex attribute reflection:
+Buffer variable reflection:
+
+Buffer block reflection:
+
+Pipeline input reflection:
+
+Pipeline output reflection:
+@entryPointOutput: offset 0, type 8b52, size 1, index 0, binding -1, stages 16
 
diff --git a/Test/baseResults/hlsl.earlydepthstencil.frag.out b/Test/baseResults/hlsl.earlydepthstencil.frag.out
new file mode 100755
index 0000000..e598a51
--- /dev/null
+++ b/Test/baseResults/hlsl.earlydepthstencil.frag.out
@@ -0,0 +1,189 @@
+hlsl.earlydepthstencil.frag
+Shader version: 500
+gl_FragCoord origin is upper left
+using early_fragment_tests
+0:? Sequence
+0:8  Function Definition: @main(struct-InputStruct-vf41; ( temp uint)
+0:8    Function Parameters: 
+0:8      'input' ( in structure{ temp 4-component vector of float Position})
+0:?     Sequence
+0:10      move second child to first child ( temp uint)
+0:10        'oldVal' ( temp uint)
+0:10        imageAtomicExchange ( temp uint)
+0:10          'Values' (layout( r32ui) uniform uimage2D)
+0:?           Construct uvec2 ( temp 2-component vector of uint)
+0:10            Convert float to uint ( temp uint)
+0:10              direct index ( temp float)
+0:10                Position: direct index for structure ( temp 4-component vector of float)
+0:10                  'input' ( in structure{ temp 4-component vector of float Position})
+0:10                  Constant:
+0:10                    0 (const int)
+0:10                Constant:
+0:10                  0 (const int)
+0:10            Convert float to uint ( temp uint)
+0:10              direct index ( temp float)
+0:10                Position: direct index for structure ( temp 4-component vector of float)
+0:10                  'input' ( in structure{ temp 4-component vector of float Position})
+0:10                  Constant:
+0:10                    0 (const int)
+0:10                Constant:
+0:10                  1 (const int)
+0:10          Constant:
+0:10            1 (const uint)
+0:11      Branch: Return with expression
+0:11        'oldVal' ( temp uint)
+0:8  Function Definition: main( ( temp void)
+0:8    Function Parameters: 
+0:?     Sequence
+0:8      Sequence
+0:8        move second child to first child ( temp 4-component vector of float)
+0:8          Position: direct index for structure ( temp 4-component vector of float)
+0:?             'input' ( temp structure{ temp 4-component vector of float Position})
+0:8            Constant:
+0:8              0 (const int)
+0:?           'input.Position' ( in 4-component vector of float FragCoord)
+0:8      move second child to first child ( temp uint)
+0:?         '@entryPointOutput' (layout( location=0) out uint)
+0:8        Function Call: @main(struct-InputStruct-vf41; ( temp uint)
+0:?           'input' ( temp structure{ temp 4-component vector of float Position})
+0:?   Linker Objects
+0:?     'Values' (layout( r32ui) uniform uimage2D)
+0:?     '@entryPointOutput' (layout( location=0) out uint)
+0:?     'input.Position' ( in 4-component vector of float FragCoord)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+using early_fragment_tests
+0:? Sequence
+0:8  Function Definition: @main(struct-InputStruct-vf41; ( temp uint)
+0:8    Function Parameters: 
+0:8      'input' ( in structure{ temp 4-component vector of float Position})
+0:?     Sequence
+0:10      move second child to first child ( temp uint)
+0:10        'oldVal' ( temp uint)
+0:10        imageAtomicExchange ( temp uint)
+0:10          'Values' (layout( r32ui) uniform uimage2D)
+0:?           Construct uvec2 ( temp 2-component vector of uint)
+0:10            Convert float to uint ( temp uint)
+0:10              direct index ( temp float)
+0:10                Position: direct index for structure ( temp 4-component vector of float)
+0:10                  'input' ( in structure{ temp 4-component vector of float Position})
+0:10                  Constant:
+0:10                    0 (const int)
+0:10                Constant:
+0:10                  0 (const int)
+0:10            Convert float to uint ( temp uint)
+0:10              direct index ( temp float)
+0:10                Position: direct index for structure ( temp 4-component vector of float)
+0:10                  'input' ( in structure{ temp 4-component vector of float Position})
+0:10                  Constant:
+0:10                    0 (const int)
+0:10                Constant:
+0:10                  1 (const int)
+0:10          Constant:
+0:10            1 (const uint)
+0:11      Branch: Return with expression
+0:11        'oldVal' ( temp uint)
+0:8  Function Definition: main( ( temp void)
+0:8    Function Parameters: 
+0:?     Sequence
+0:8      Sequence
+0:8        move second child to first child ( temp 4-component vector of float)
+0:8          Position: direct index for structure ( temp 4-component vector of float)
+0:?             'input' ( temp structure{ temp 4-component vector of float Position})
+0:8            Constant:
+0:8              0 (const int)
+0:?           'input.Position' ( in 4-component vector of float FragCoord)
+0:8      move second child to first child ( temp uint)
+0:?         '@entryPointOutput' (layout( location=0) out uint)
+0:8        Function Call: @main(struct-InputStruct-vf41; ( temp uint)
+0:?           'input' ( temp structure{ temp 4-component vector of float Position})
+0:?   Linker Objects
+0:?     'Values' (layout( r32ui) uniform uimage2D)
+0:?     '@entryPointOutput' (layout( location=0) out uint)
+0:?     'input.Position' ( in 4-component vector of float FragCoord)
+
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 50
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 41 46
+                              ExecutionMode 4 OriginUpperLeft
+                              ExecutionMode 4 EarlyFragmentTests
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 8  "InputStruct"
+                              MemberName 8(InputStruct) 0  "Position"
+                              Name 13  "@main(struct-InputStruct-vf41;"
+                              Name 12  "input"
+                              Name 16  "oldVal"
+                              Name 19  "Values"
+                              Name 39  "input"
+                              Name 41  "input.Position"
+                              Name 46  "@entryPointOutput"
+                              Name 47  "param"
+                              Decorate 19(Values) DescriptorSet 0
+                              Decorate 19(Values) Binding 0
+                              Decorate 41(input.Position) BuiltIn FragCoord
+                              Decorate 46(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+  8(InputStruct):             TypeStruct 7(fvec4)
+               9:             TypePointer Function 8(InputStruct)
+              10:             TypeInt 32 0
+              11:             TypeFunction 10(int) 9(ptr)
+              15:             TypePointer Function 10(int)
+              17:             TypeImage 10(int) 2D nonsampled format:R32ui
+              18:             TypePointer UniformConstant 17
+      19(Values):     18(ptr) Variable UniformConstant
+              20:             TypeInt 32 1
+              21:     20(int) Constant 0
+              22:     10(int) Constant 0
+              23:             TypePointer Function 6(float)
+              27:     10(int) Constant 1
+              31:             TypeVector 10(int) 2
+              33:             TypePointer Image 10(int)
+              40:             TypePointer Input 7(fvec4)
+41(input.Position):     40(ptr) Variable Input
+              43:             TypePointer Function 7(fvec4)
+              45:             TypePointer Output 10(int)
+46(@entryPointOutput):     45(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+       39(input):      9(ptr) Variable Function
+       47(param):      9(ptr) Variable Function
+              42:    7(fvec4) Load 41(input.Position)
+              44:     43(ptr) AccessChain 39(input) 21
+                              Store 44 42
+              48:8(InputStruct) Load 39(input)
+                              Store 47(param) 48
+              49:     10(int) FunctionCall 13(@main(struct-InputStruct-vf41;) 47(param)
+                              Store 46(@entryPointOutput) 49
+                              Return
+                              FunctionEnd
+13(@main(struct-InputStruct-vf41;):     10(int) Function None 11
+       12(input):      9(ptr) FunctionParameter
+              14:             Label
+      16(oldVal):     15(ptr) Variable Function
+              24:     23(ptr) AccessChain 12(input) 21 22
+              25:    6(float) Load 24
+              26:     10(int) ConvertFToU 25
+              28:     23(ptr) AccessChain 12(input) 21 27
+              29:    6(float) Load 28
+              30:     10(int) ConvertFToU 29
+              32:   31(ivec2) CompositeConstruct 26 30
+              34:     33(ptr) ImageTexelPointer 19(Values) 32 22
+              35:     10(int) AtomicExchange 34 27 22 27
+                              Store 16(oldVal) 35
+              36:     10(int) Load 16(oldVal)
+                              ReturnValue 36
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.reflection.binding.frag.out b/Test/baseResults/hlsl.reflection.binding.frag.out
index 464ce0f..a13e575 100644
--- a/Test/baseResults/hlsl.reflection.binding.frag.out
+++ b/Test/baseResults/hlsl.reflection.binding.frag.out
@@ -2,8 +2,8 @@
 Uniform reflection:
 t1: offset -1, type 8b5d, size 1, index -1, binding 15, stages 16
 s1: offset -1, type 0, size 1, index -1, binding 5, stages 16
-t1a: offset -1, type 8b5d, size 1, index -1, binding 16, stages 16
-s1a: offset -1, type 0, size 1, index -1, binding 6, stages 16
+t1a: offset -1, type 8b5d, size 1, index -1, binding 16, stages 16, arrayStride 4, topLevelArrayStride 4
+s1a: offset -1, type 0, size 1, index -1, binding 6, stages 16, arrayStride 4, topLevelArrayStride 4
 c1_a: offset 0, type 8b52, size 1, index 0, binding -1, stages 16
 c1_b: offset 16, type 1404, size 1, index 0, binding -1, stages 16
 c1_c: offset 20, type 1406, size 1, index 0, binding -1, stages 16
@@ -12,8 +12,15 @@
 c2_c: offset 20, type 1406, size 1, index 1, binding -1, stages 16
 
 Uniform block reflection:
-cbuff1: offset -1, type ffffffff, size 24, index -1, binding 2, stages 0
-cbuff2: offset -1, type ffffffff, size 24, index -1, binding 3, stages 0
+cbuff1: offset -1, type ffffffff, size 24, index -1, binding 2, stages 16, numMembers 3
+cbuff2: offset -1, type ffffffff, size 24, index -1, binding 3, stages 16, numMembers 3
 
-Vertex attribute reflection:
+Buffer variable reflection:
+
+Buffer block reflection:
+
+Pipeline input reflection:
+
+Pipeline output reflection:
+psout.Color: offset 0, type 8b52, size 1, index 0, binding -1, stages 16
 
diff --git a/Test/baseResults/hlsl.reflection.vert.out b/Test/baseResults/hlsl.reflection.vert.out
index ea8d869..535c7fb 100644
--- a/Test/baseResults/hlsl.reflection.vert.out
+++ b/Test/baseResults/hlsl.reflection.vert.out
@@ -7,70 +7,76 @@
 c_m23: offset 16, type 8b67, size 1, index 2, binding -1, stages 1
 c_scalarAfterm23: offset 48, type 1404, size 1, index 2, binding -1, stages 1
 scalarBeforeArray: offset 96, type 1404, size 1, index 0, binding -1, stages 1
-floatArray: offset 112, type 1406, size 5, index 0, binding -1, stages 1
+floatArray: offset 112, type 1406, size 5, index 0, binding -1, stages 1, arrayStride 16, topLevelArrayStride 16
 scalarAfterArray: offset 192, type 1404, size 1, index 0, binding -1, stages 1
-m22: offset 208, type 8b5a, size 9, index 0, binding -1, stages 1
-dm22: offset 32, type 8b5a, size 4, index 1, binding -1, stages 1
+m22: offset 208, type 8b5a, size 9, index 0, binding -1, stages 1, arrayStride 32, topLevelArrayStride 32
+dm22: offset 32, type 8b5a, size 4, index 1, binding -1, stages 1, arrayStride 32, topLevelArrayStride 32
 foo.n1.a: offset 0, type 1406, size 1, index 3, binding -1, stages 1
 foo.n2.b: offset 16, type 1406, size 1, index 3, binding -1, stages 1
 foo.n2.c: offset 20, type 1406, size 1, index 3, binding -1, stages 1
 foo.n2.d: offset 24, type 1406, size 1, index 3, binding -1, stages 1
-deepA.d2.d1[2].va: offset 376, type 8b50, size 2, index 1, binding -1, stages 1
-deepB.d2.d1.va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1
-deepB.d2.d1[0].va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1
-deepB.d2.d1[1].va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1
-deepB.d2.d1[2].va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1
-deepB.d2.d1[3].va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1
-deepC.iv4: offset 1568, type 8b52, size 1, index 1, binding -1, stages 1
-deepC.d2.i: offset 1568, type 1404, size 1, index 1, binding -1, stages 1
-deepC.d2.d1[0].va: offset 1568, type 8b50, size 3, index 1, binding -1, stages 1
-deepC.d2.d1[0].b: offset 1568, type 8b56, size 1, index 1, binding -1, stages 1
-deepC.d2.d1[1].va: offset 1568, type 8b50, size 3, index 1, binding -1, stages 1
-deepC.d2.d1[1].b: offset 1568, type 8b56, size 1, index 1, binding -1, stages 1
-deepC.d2.d1[2].va: offset 1568, type 8b50, size 3, index 1, binding -1, stages 1
-deepC.d2.d1[2].b: offset 1568, type 8b56, size 1, index 1, binding -1, stages 1
-deepC.d2.d1[3].va: offset 1568, type 8b50, size 3, index 1, binding -1, stages 1
-deepC.d2.d1[3].b: offset 1568, type 8b56, size 1, index 1, binding -1, stages 1
-deepC.v3: offset 1568, type 8b54, size 1, index 1, binding -1, stages 1
-deepD[0].iv4: offset 2480, type 8b52, size 1, index 1, binding -1, stages 1
-deepD[0].d2.i: offset 2480, type 1404, size 1, index 1, binding -1, stages 1
-deepD[0].d2.d1[0].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
-deepD[0].d2.d1[0].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
-deepD[0].d2.d1[1].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
-deepD[0].d2.d1[1].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
-deepD[0].d2.d1[2].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
-deepD[0].d2.d1[2].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
-deepD[0].d2.d1[3].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
-deepD[0].d2.d1[3].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
-deepD[0].v3: offset 2480, type 8b54, size 1, index 1, binding -1, stages 1
-deepD[1].iv4: offset 2480, type 8b52, size 1, index 1, binding -1, stages 1
-deepD[1].d2.i: offset 2480, type 1404, size 1, index 1, binding -1, stages 1
-deepD[1].d2.d1[0].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
-deepD[1].d2.d1[0].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
-deepD[1].d2.d1[1].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
-deepD[1].d2.d1[1].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
-deepD[1].d2.d1[2].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
-deepD[1].d2.d1[2].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
-deepD[1].d2.d1[3].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
-deepD[1].d2.d1[3].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
-deepD[1].v3: offset 2480, type 8b54, size 1, index 1, binding -1, stages 1
+deepA.d2.d1[2].va: offset 440, type 8b50, size 2, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepB.d2.d1.va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepB.d2.d1[0].va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepB.d2.d1[1].va: offset 1016, type 8b50, size 2, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepB.d2.d1[2].va: offset 1048, type 8b50, size 2, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepB.d2.d1[3].va: offset 1080, type 8b50, size 2, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepC.iv4: offset 1568, type 8b52, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepC.d2.i: offset 1584, type 1404, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepC.d2.d1[0].va: offset 1592, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepC.d2.d1[0].b: offset 1616, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepC.d2.d1[1].va: offset 1624, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepC.d2.d1[1].b: offset 1648, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepC.d2.d1[2].va: offset 1656, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepC.d2.d1[2].b: offset 1680, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepC.d2.d1[3].va: offset 1688, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepC.d2.d1[3].b: offset 1712, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepC.v3: offset 1728, type 8b54, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[0].iv4: offset 2480, type 8b52, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[0].d2.i: offset 2496, type 1404, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[0].d2.d1[0].va: offset 2504, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepD[0].d2.d1[0].b: offset 2528, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[0].d2.d1[1].va: offset 2536, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepD[0].d2.d1[1].b: offset 2560, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[0].d2.d1[2].va: offset 2568, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepD[0].d2.d1[2].b: offset 2592, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[0].d2.d1[3].va: offset 2600, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepD[0].d2.d1[3].b: offset 2624, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[0].v3: offset 2640, type 8b54, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[1].iv4: offset 2784, type 8b52, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[1].d2.i: offset 2800, type 1404, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[1].d2.d1[0].va: offset 2808, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepD[1].d2.d1[0].b: offset 2832, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[1].d2.d1[1].va: offset 2840, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepD[1].d2.d1[1].b: offset 2864, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[1].d2.d1[2].va: offset 2872, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepD[1].d2.d1[2].b: offset 2896, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[1].d2.d1[3].va: offset 2904, type 8b50, size 3, index 1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 304
+deepD[1].d2.d1[3].b: offset 2928, type 8b56, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
+deepD[1].v3: offset 2944, type 8b54, size 1, index 1, binding -1, stages 1, topLevelArrayStride 304
 foo1: offset 0, type 1406, size 1, index 4, binding -1, stages 1
 foo2: offset 0, type 1406, size 1, index 5, binding -1, stages 1
 anonMember1: offset 0, type 8b51, size 1, index 0, binding -1, stages 1
 uf1: offset 16, type 1406, size 1, index 1, binding -1, stages 1
 
 Uniform block reflection:
-nameless: offset -1, type ffffffff, size 496, index -1, binding -1, stages 0
-$Global: offset -1, type ffffffff, size 3088, index -1, binding -1, stages 0
-c_nameless: offset -1, type ffffffff, size 96, index -1, binding -1, stages 0
-nested: offset -1, type ffffffff, size 32, index -1, binding -1, stages 0
-abl: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-abl2: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
+nameless: offset -1, type ffffffff, size 496, index -1, binding -1, stages 1, numMembers 9
+$Global: offset -1, type ffffffff, size 3088, index -1, binding -1, stages 1, numMembers 106
+c_nameless: offset -1, type ffffffff, size 96, index -1, binding -1, stages 1, numMembers 5
+nested: offset -1, type ffffffff, size 32, index -1, binding -1, stages 1, numMembers 4
+abl: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 1
+abl2: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 1
 
-Vertex attribute reflection:
-attributeFloat: offset 0, type 1406, size 0, index 0, binding -1, stages 0
-attributeFloat2: offset 0, type 8b50, size 0, index 0, binding -1, stages 0
-attributeFloat3: offset 0, type 8b51, size 0, index 0, binding -1, stages 0
-attributeFloat4: offset 0, type 8b52, size 0, index 0, binding -1, stages 0
-attributeMat4: offset 0, type 8b5c, size 0, index 0, binding -1, stages 0
+Buffer variable reflection:
+
+Buffer block reflection:
+
+Pipeline input reflection:
+attributeFloat: offset 0, type 1406, size 1, index 0, binding -1, stages 1
+attributeFloat2: offset 0, type 8b50, size 1, index 0, binding -1, stages 1
+attributeFloat3: offset 0, type 8b51, size 1, index 0, binding -1, stages 1
+attributeFloat4: offset 0, type 8b52, size 1, index 0, binding -1, stages 1
+attributeMat4: offset 0, type 8b5c, size 1, index 0, binding -1, stages 1
+
+Pipeline output reflection:
 
diff --git a/Test/baseResults/hlsl.shift.per-set.frag.out b/Test/baseResults/hlsl.shift.per-set.frag.out
index 7c7d383..60e2ecc 100644
--- a/Test/baseResults/hlsl.shift.per-set.frag.out
+++ b/Test/baseResults/hlsl.shift.per-set.frag.out
@@ -203,8 +203,8 @@
 t1: offset -1, type 8b5d, size 1, index -1, binding 21, stages 16
 t2: offset -1, type 8b5e, size 1, index -1, binding 22, stages 16
 t3: offset -1, type 8b5f, size 1, index -1, binding 26, stages 16
-t4.@data: offset 0, type 8b52, size 1, index 0, binding -1, stages 16
-t5.@data: offset 0, type 1405, size 0, index 1, binding -1, stages 16
+t4.@data: offset 0, type 8b52, size 1, index 0, binding -1, stages 16, arrayStride 16, topLevelArrayStride 16
+t5.@data: offset 0, type 1405, size 0, index 1, binding -1, stages 16, arrayStride 4, topLevelArrayStride 4
 t6: offset -1, type 8dc2, size 1, index -1, binding 23, stages 16
 s1: offset -1, type 0, size 1, index -1, binding 11, stages 16
 s2: offset -1, type 0, size 1, index -1, binding 17, stages 16
@@ -212,19 +212,26 @@
 u2: offset -1, type 904d, size 1, index -1, binding 42, stages 16
 u3: offset -1, type 904e, size 1, index -1, binding 43, stages 16
 u4: offset -1, type 9051, size 1, index -1, binding 34, stages 16
-u5.@data: offset 0, type 1405, size 0, index 2, binding -1, stages 16
-u6.@data: offset 0, type 1406, size 1, index 3, binding -1, stages 16
+u5.@data: offset 0, type 1405, size 0, index 2, binding -1, stages 16, arrayStride 4, topLevelArrayStride 4
+u6.@data: offset 0, type 1406, size 1, index 3, binding -1, stages 16, arrayStride 4, topLevelArrayStride 4
 cb1: offset 0, type 1404, size 1, index 4, binding -1, stages 16
 tb1: offset 0, type 1404, size 1, index 5, binding -1, stages 16
 ts6: offset -1, type 8b5f, size 1, index -1, binding 71, stages 16
 
 Uniform block reflection:
-t4: offset -1, type ffffffff, size 0, index -1, binding 21, stages 0
-t5: offset -1, type ffffffff, size 0, index -1, binding 22, stages 0
-u5: offset -1, type ffffffff, size 0, index -1, binding 44, stages 0
-u6: offset -1, type ffffffff, size 0, index -1, binding 34, stages 0
-cb: offset -1, type ffffffff, size 4, index -1, binding 51, stages 0
-tb: offset -1, type ffffffff, size 4, index -1, binding 27, stages 0
+t4: offset -1, type ffffffff, size 0, index -1, binding 21, stages 16, numMembers 1
+t5: offset -1, type ffffffff, size 0, index -1, binding 22, stages 16, numMembers 1
+u5: offset -1, type ffffffff, size 0, index -1, binding 44, stages 16, numMembers 1
+u6: offset -1, type ffffffff, size 0, index -1, binding 34, stages 16, numMembers 1
+cb: offset -1, type ffffffff, size 4, index -1, binding 51, stages 16, numMembers 1
+tb: offset -1, type ffffffff, size 4, index -1, binding 27, stages 16, numMembers 1
 
-Vertex attribute reflection:
+Buffer variable reflection:
+
+Buffer block reflection:
+
+Pipeline input reflection:
+
+Pipeline output reflection:
+@entryPointOutput: offset 0, type 8b52, size 1, index 0, binding -1, stages 16
 
diff --git a/Test/baseResults/hlsl.structbuffer.fn2.comp.out b/Test/baseResults/hlsl.structbuffer.fn2.comp.out
index 517b48c..c9633cd 100644
--- a/Test/baseResults/hlsl.structbuffer.fn2.comp.out
+++ b/Test/baseResults/hlsl.structbuffer.fn2.comp.out
@@ -135,6 +135,7 @@
 0:?     'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
 0:?     'dispatchId' ( in 3-component vector of uint GlobalInvocationID)
 
+Validation failed
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 63
diff --git a/Test/baseResults/negativeArraySize.comp.out b/Test/baseResults/negativeArraySize.comp.out
index 0a5ba31..5ae83dc 100644
--- a/Test/baseResults/negativeArraySize.comp.out
+++ b/Test/baseResults/negativeArraySize.comp.out
@@ -1,5 +1,5 @@
 negativeArraySize.comp
-ERROR: 0:9: '' : array size must be a positive integer 
+ERROR: 0:9: '' : array size must be a positive integer
 ERROR: 1 compilation errors.  No code generated.
 
 
diff --git a/Test/baseResults/reflection.frag.out b/Test/baseResults/reflection.frag.out
new file mode 100644
index 0000000..65a8786
--- /dev/null
+++ b/Test/baseResults/reflection.frag.out
@@ -0,0 +1,13 @@
+reflection.frag
+Uniform reflection:
+
+Uniform block reflection:
+
+Buffer variable reflection:
+
+Buffer block reflection:
+
+Pipeline input reflection:
+
+Pipeline output reflection:
+
diff --git a/Test/baseResults/reflection.linked.options.out b/Test/baseResults/reflection.linked.options.out
new file mode 100644
index 0000000..af07bbd
--- /dev/null
+++ b/Test/baseResults/reflection.linked.options.out
@@ -0,0 +1,21 @@
+reflection.linked.vert
+reflection.linked.frag
+Uniform reflection:
+ubo_block.unused_uniform: offset 0, type 1406, size 1, index 0, binding -1, stages 0
+ubo_block.shared_uniform: offset 4, type 1406, size 1, index 0, binding -1, stages 17
+ubo_block.vsonly_uniform: offset 8, type 1406, size 1, index 0, binding -1, stages 1
+ubo_block.fsonly_uniform: offset 12, type 1406, size 1, index 0, binding -1, stages 16
+
+Uniform block reflection:
+ubo_block: offset -1, type ffffffff, size 16, index -1, binding 0, stages 17, numMembers 4
+
+Buffer variable reflection:
+
+Buffer block reflection:
+
+Pipeline input reflection:
+vertin: offset 0, type 1406, size 1, index 0, binding -1, stages 1
+
+Pipeline output reflection:
+fragout: offset 0, type 1406, size 1, index 0, binding -1, stages 16
+
diff --git a/Test/baseResults/reflection.linked.out b/Test/baseResults/reflection.linked.out
new file mode 100644
index 0000000..b1b2b3c
--- /dev/null
+++ b/Test/baseResults/reflection.linked.out
@@ -0,0 +1,20 @@
+reflection.linked.vert
+reflection.linked.frag
+Uniform reflection:
+ubo_block.shared_uniform: offset 4, type 1406, size 1, index 0, binding -1, stages 17
+ubo_block.vsonly_uniform: offset 8, type 1406, size 1, index 0, binding -1, stages 17
+ubo_block.fsonly_uniform: offset 12, type 1406, size 1, index 0, binding -1, stages 16
+
+Uniform block reflection:
+ubo_block: offset -1, type ffffffff, size 16, index -1, binding 0, stages 17, numMembers 4
+
+Buffer variable reflection:
+
+Buffer block reflection:
+
+Pipeline input reflection:
+vertin: offset 0, type 1406, size 1, index 0, binding -1, stages 1
+
+Pipeline output reflection:
+fragout: offset 0, type 1406, size 1, index 0, binding -1, stages 16
+
diff --git a/Test/baseResults/reflection.options.frag.out b/Test/baseResults/reflection.options.frag.out
new file mode 100644
index 0000000..ec12392
--- /dev/null
+++ b/Test/baseResults/reflection.options.frag.out
@@ -0,0 +1,14 @@
+reflection.frag
+Uniform reflection:
+
+Uniform block reflection:
+
+Buffer variable reflection:
+
+Buffer block reflection:
+
+Pipeline input reflection:
+inval: offset 0, type 1406, size 1, index 0, binding -1, stages 16
+
+Pipeline output reflection:
+
diff --git a/Test/baseResults/reflection.options.geom.out b/Test/baseResults/reflection.options.geom.out
new file mode 100644
index 0000000..7ffe82d
--- /dev/null
+++ b/Test/baseResults/reflection.options.geom.out
@@ -0,0 +1,25 @@
+reflection.options.geom
+Uniform reflection:
+
+Uniform block reflection:
+
+Buffer variable reflection:
+
+Buffer block reflection:
+
+Pipeline input reflection:
+gl_PerVertex.gl_Position: offset 0, type 8b52, size 1, index 0, binding -1, stages 8
+gl_PerVertex.gl_PointSize: offset 0, type 1406, size 1, index 0, binding -1, stages 8
+gl_PerVertex.gl_ClipDistance[0]: offset 0, type 1406, size 1, index 0, binding -1, stages 8
+block.Color: offset 0, type 8b50, size 1, index 0, binding -1, stages 8
+block.Texcoord: offset 0, type 8b50, size 1, index 0, binding -1, stages 8
+block.in_a: offset 0, type 8b54, size 1, index 0, binding -1, stages 8
+
+Pipeline output reflection:
+gl_Position: offset 0, type 8b52, size 1, index 0, binding -1, stages 8
+gl_PointSize: offset 0, type 1406, size 1, index 0, binding -1, stages 8
+gl_ClipDistance[0]: offset 0, type 1406, size 1, index 0, binding -1, stages 8
+block.Color: offset 0, type 8b52, size 1, index 0, binding -1, stages 8
+block.a: offset 0, type 8b52, size 1, index 0, binding -1, stages 8
+block.b[0]: offset 0, type 8b50, size 3, index 0, binding -1, stages 8
+
diff --git a/Test/baseResults/reflection.options.vert.out b/Test/baseResults/reflection.options.vert.out
new file mode 100644
index 0000000..9e3df0c
--- /dev/null
+++ b/Test/baseResults/reflection.options.vert.out
@@ -0,0 +1,68 @@
+reflection.options.vert
+Uniform reflection:
+UBO.verts[0].position[0]: offset 0, type 1406, size 3, index 0, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+UBO.verts[0].normal[0]: offset 12, type 1406, size 3, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.verts[1].position[0]: offset 24, type 1406, size 3, index 0, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+UBO.verts[1].normal[0]: offset 36, type 1406, size 3, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.flt[0]: offset 48, type 1406, size 8, index 0, binding -1, stages 1, arrayStride 4, topLevelArrayStride 4
+UBO.unused: offset 80, type 8dc8, size 1, index 0, binding -1, stages 0
+UBO.uniform_multi[0][0][0]: offset 96, type 1406, size 2, index 0, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[0][1][0]: offset 104, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[0][2][0]: offset 112, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[1][0][0]: offset 120, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[1][1][0]: offset 128, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[1][2][0]: offset 136, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[2][0][0]: offset 144, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[2][1][0]: offset 152, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[2][2][0]: offset 160, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[3][0][0]: offset 168, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[3][1][0]: offset 176, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+UBO.uniform_multi[3][2][0]: offset 184, type 1406, size 2, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+uniform_multi[0][0][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[0][1][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[0][2][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[1][0][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[1][1][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[1][2][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[2][0][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[2][1][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[2][2][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[3][0][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[3][1][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+uniform_multi[3][2][0]: offset -1, type 1406, size 2, index -1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+
+Uniform block reflection:
+UBO: offset -1, type ffffffff, size 192, index -1, binding -1, stages 1, numMembers 7
+
+Buffer variable reflection:
+t[0].v[0].position[0]: offset 0, type 1406, size 3, index 0, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[0].normal[0]: offset 12, type 1406, size 3, index 0, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[1].position[0]: offset 24, type 1406, size 3, index 0, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[1].normal[0]: offset 36, type 1406, size 3, index 0, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[2].position[0]: offset 48, type 1406, size 3, index 0, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[2].normal[0]: offset 60, type 1406, size 3, index 0, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+padding[0]: offset 360, type 1405, size 10, index 0, binding -1, stages 0, arrayStride 4, topLevelArrayStride 4
+MultipleArrays.tri[0].v[0].position[0]: offset 0, type 1406, size 3, index 1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+MultipleArrays.tri[0].v[0].normal[0]: offset 12, type 1406, size 3, index 1, binding -1, stages 0, arrayStride 4, topLevelArrayStride 72
+MultipleArrays.tri[0].v[1].position[0]: offset 24, type 1406, size 3, index 1, binding -1, stages 0, arrayStride 4, topLevelArrayStride 72
+MultipleArrays.tri[0].v[1].normal[0]: offset 36, type 1406, size 3, index 1, binding -1, stages 0, arrayStride 4, topLevelArrayStride 72
+MultipleArrays.tri[0].v[2].position[0]: offset 48, type 1406, size 3, index 1, binding -1, stages 0, arrayStride 4, topLevelArrayStride 72
+MultipleArrays.tri[0].v[2].normal[0]: offset 60, type 1406, size 3, index 1, binding -1, stages 0, arrayStride 4, topLevelArrayStride 72
+MultipleArrays.vert[0].position[0]: offset 360, type 1406, size 3, index 1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
+MultipleArrays.vert[0].normal[0]: offset 372, type 1406, size 3, index 1, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
+MultipleArrays.f[0]: offset 480, type 1406, size 5, index 1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 4
+
+Buffer block reflection:
+VertexCollection: offset -1, type ffffffff, size 400, index -1, binding -1, stages 1, numMembers 7
+MultipleArrays: offset -1, type ffffffff, size 500, index -1, binding -1, stages 1, numMembers 9
+
+Pipeline input reflection:
+gl_InstanceID: offset 0, type 1404, size 1, index 0, binding -1, stages 1
+
+Pipeline output reflection:
+outval.val: offset 0, type 1406, size 1, index 0, binding -1, stages 1
+outval.a: offset 0, type 8b51, size 1, index 0, binding -1, stages 1
+outval.b[0]: offset 0, type 8b50, size 4, index 0, binding -1, stages 1
+outval.c: offset 0, type 8b5a, size 1, index 0, binding -1, stages 1
+outarr[0]: offset 0, type 1406, size 3, index 0, binding -1, stages 1
+
diff --git a/Test/baseResults/reflection.vert.out b/Test/baseResults/reflection.vert.out
index 52e16e6..330733c 100644
--- a/Test/baseResults/reflection.vert.out
+++ b/Test/baseResults/reflection.vert.out
@@ -11,97 +11,167 @@
 c_m23: offset 16, type 8b67, size 1, index 2, binding -1, stages 1
 c_scalarAfterm23: offset 64, type 1404, size 1, index 2, binding -1, stages 1
 scalarBeforeArray: offset 96, type 1404, size 1, index 0, binding -1, stages 1
-floatArray: offset 112, type 1406, size 5, index 0, binding -1, stages 1
+floatArray: offset 112, type 1406, size 5, index 0, binding -1, stages 1, arrayStride 16, topLevelArrayStride 16
 scalarAfterArray: offset 192, type 1404, size 1, index 0, binding -1, stages 1
 named.memvec2: offset 48, type 8b50, size 1, index 1, binding -1, stages 1
 named.memf1: offset 56, type 1406, size 1, index 1, binding -1, stages 1
 named.memf2: offset 60, type 8b56, size 1, index 1, binding -1, stages 1
 named.memf3: offset 64, type 1404, size 1, index 1, binding -1, stages 1
 named.memvec2a: offset 72, type 8b50, size 1, index 1, binding -1, stages 1
-named.m22: offset 80, type 8b5a, size 7, index 1, binding -1, stages 1
-dm22: offset -1, type 8b5a, size 4, index -1, binding -1, stages 1
-m22: offset 208, type 8b5a, size 3, index 0, binding -1, stages 1
+named.m22: offset 80, type 8b5a, size 7, index 1, binding -1, stages 1, arrayStride 32, topLevelArrayStride 32
+dm22: offset -1, type 8b5a, size 4, index -1, binding -1, stages 1, arrayStride 16, topLevelArrayStride 16
+m22: offset 208, type 8b5a, size 3, index 0, binding -1, stages 1, arrayStride 32, topLevelArrayStride 32
 nested.foo.n1.a: offset 0, type 1406, size 1, index 3, binding -1, stages 1
 nested.foo.n2.b: offset 16, type 1406, size 1, index 3, binding -1, stages 1
 nested.foo.n2.c: offset 20, type 1406, size 1, index 3, binding -1, stages 1
 nested.foo.n2.d: offset 24, type 1406, size 1, index 3, binding -1, stages 1
-deepA[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
-deepA[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
-deepB[1].d2.d1[0].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
-deepB[1].d2.d1[1].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
-deepB[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
-deepB[1].d2.d1[3].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
-deepB[0].d2.d1[0].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
-deepB[0].d2.d1[1].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
-deepB[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
-deepB[0].d2.d1[3].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
-deepC[1].iv4: offset -1, type 8b52, size 1, index -1, binding -1, stages 1
-deepC[1].d2.i: offset -1, type 1404, size 1, index -1, binding -1, stages 1
-deepC[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
-deepC[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
-deepC[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
-deepC[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
-deepC[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
-deepC[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
-deepC[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
-deepC[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
-deepC[1].v3: offset -1, type 8b54, size 1, index -1, binding -1, stages 1
+deepA[0].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepA[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepB[1].d2.d1[0].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepB[1].d2.d1[1].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepB[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepB[1].d2.d1[3].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepB[0].d2.d1[0].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepB[0].d2.d1[1].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepB[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepB[0].d2.d1[3].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepC[1].iv4: offset -1, type 8b52, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepC[1].d2.i: offset -1, type 1404, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepC[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepC[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepC[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepC[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepC[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepC[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepC[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepC[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepC[1].v3: offset -1, type 8b54, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
 deepD[0].iv4: offset -1, type 8b52, size 1, index -1, binding -1, stages 1
 deepD[0].d2.i: offset -1, type 1404, size 1, index -1, binding -1, stages 1
-deepD[0].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
+deepD[0].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 8
 deepD[0].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
-deepD[0].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
+deepD[0].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 8
 deepD[0].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
-deepD[0].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
+deepD[0].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 8
 deepD[0].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
-deepD[0].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
+deepD[0].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 8
 deepD[0].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
 deepD[0].v3: offset -1, type 8b54, size 1, index -1, binding -1, stages 1
 deepD[1].iv4: offset -1, type 8b52, size 1, index -1, binding -1, stages 1
 deepD[1].d2.i: offset -1, type 1404, size 1, index -1, binding -1, stages 1
-deepD[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
+deepD[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 8
 deepD[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
-deepD[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
+deepD[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 8
 deepD[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
-deepD[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
+deepD[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 8
 deepD[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
-deepD[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
+deepD[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 8
 deepD[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
 deepD[1].v3: offset -1, type 8b54, size 1, index -1, binding -1, stages 1
+deepA[0].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepA[0].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepA[0].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepA[0].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepA[0].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepA[0].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepA[0].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepA[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepA[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepA[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepA[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepA[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
+deepA[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1, arrayStride 8, topLevelArrayStride 176
+deepA[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1, topLevelArrayStride 176
 abl.foo: offset 0, type 1406, size 1, index 7, binding -1, stages 1
 abl2.foo: offset 0, type 1406, size 1, index 11, binding -1, stages 1
-buf1.runtimeArray: offset 4, type 1406, size 4, index 12, binding -1, stages 1
-buf2.runtimeArray.c: offset 8, type 1406, size 1, index 13, binding -1, stages 1
-buf3.runtimeArray: offset 4, type 1406, size 0, index 14, binding -1, stages 1
-buf4.runtimeArray.c: offset 8, type 1406, size 1, index 15, binding -1, stages 1
+buf1.runtimeArray: offset 4, type 1406, size 4, index 12, binding -1, stages 1, arrayStride 4, topLevelArrayStride 4
+buf2.runtimeArray.c: offset 8, type 1406, size 1, index 13, binding -1, stages 1, topLevelArrayStride 12
+buf3.runtimeArray: offset 4, type 1406, size 0, index 14, binding -1, stages 1, arrayStride 4, topLevelArrayStride 4
+buf4.runtimeArray.c: offset 8, type 1406, size 1, index 15, binding -1, stages 1, topLevelArrayStride 12
+nested2.a.n1.a: offset 16, type 1406, size 1, index 16, binding -1, stages 1
+nested2.a.n2.b: offset 32, type 1406, size 1, index 16, binding -1, stages 1
+nested2.a.n2.c: offset 36, type 1406, size 1, index 16, binding -1, stages 1
+nested2.a.n2.d: offset 40, type 1406, size 1, index 16, binding -1, stages 1
+nested2.b[0].a: offset 48, type 1406, size 1, index 16, binding -1, stages 1, topLevelArrayStride 16
+nested2.b[1].a: offset 64, type 1406, size 1, index 16, binding -1, stages 1, topLevelArrayStride 16
+nested2.b[2].a: offset 80, type 1406, size 1, index 16, binding -1, stages 1, topLevelArrayStride 16
+nested2.b[3].a: offset 96, type 1406, size 1, index 16, binding -1, stages 1, topLevelArrayStride 16
+nested2.c.a: offset 112, type 1406, size 1, index 16, binding -1, stages 1, topLevelArrayStride 16
+nested2.d.a: offset 144, type 1406, size 1, index 16, binding -1, stages 1, topLevelArrayStride 16
+t.v.position: offset 0, type 1406, size 1, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t.v[0].position: offset 0, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t.v[1].position: offset 24, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t.v[2].position: offset 48, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t.v[0].normal: offset 12, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t.v[1].normal: offset 36, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t.v[2].normal: offset 60, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[0].position: offset 0, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[0].normal: offset 12, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[1].position: offset 24, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[1].normal: offset 36, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[2].position: offset 48, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[0].v[2].normal: offset 60, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[1].v[0].position: offset 72, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[1].v[0].normal: offset 84, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[1].v[1].position: offset 96, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[1].v[1].normal: offset 108, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[1].v[2].position: offset 120, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[1].v[2].normal: offset 132, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[2].v[0].position: offset 144, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[2].v[0].normal: offset 156, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[2].v[1].position: offset 168, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[2].v[1].normal: offset 180, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[2].v[2].position: offset 192, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[2].v[2].normal: offset 204, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[3].v[0].position: offset 216, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[3].v[0].normal: offset 228, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[3].v[1].position: offset 240, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[3].v[1].normal: offset 252, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[3].v[2].position: offset 264, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[3].v[2].normal: offset 276, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[4].v[0].position: offset 288, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[4].v[0].normal: offset 300, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[4].v[1].position: offset 312, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[4].v[1].normal: offset 324, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[4].v[2].position: offset 336, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
+t[4].v[2].normal: offset 348, type 1406, size 3, index 17, binding -1, stages 1, arrayStride 4, topLevelArrayStride 72
 anonMember1: offset 0, type 8b51, size 1, index 0, binding -1, stages 1
 uf1: offset -1, type 1406, size 1, index -1, binding -1, stages 1
 uf2: offset -1, type 1406, size 1, index -1, binding -1, stages 1
 named.member3: offset 32, type 8b52, size 1, index 1, binding -1, stages 1
 
 Uniform block reflection:
-nameless: offset -1, type ffffffff, size 496, index -1, binding -1, stages 0
-named: offset -1, type ffffffff, size 304, index -1, binding -1, stages 0
-c_nameless: offset -1, type ffffffff, size 112, index -1, binding -1, stages 0
-nested: offset -1, type ffffffff, size 32, index -1, binding -1, stages 0
-abl[0]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-abl[1]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-abl[2]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-abl[3]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-abl2[0]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-abl2[1]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-abl2[2]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-abl2[3]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-buf1: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-buf2: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-buf3: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
-buf4: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
+nameless: offset -1, type ffffffff, size 496, index -1, binding -1, stages 1, numMembers 9
+named: offset -1, type ffffffff, size 304, index -1, binding -1, stages 1, numMembers 10
+c_nameless: offset -1, type ffffffff, size 112, index -1, binding -1, stages 1, numMembers 5
+nested: offset -1, type ffffffff, size 32, index -1, binding -1, stages 1, numMembers 4
+abl[0]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 1
+abl[1]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 1
+abl[2]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 1
+abl[3]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 1
+abl2[0]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 1
+abl2[1]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 1
+abl2[2]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 1
+abl2[3]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 1
+buf1: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 2
+buf2: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 4
+buf3: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 2
+buf4: offset -1, type ffffffff, size 4, index -1, binding -1, stages 1, numMembers 4
+nested2: offset -1, type ffffffff, size 208, index -1, binding -1, stages 1, numMembers 15
+VertexCollection: offset -1, type ffffffff, size 400, index -1, binding -1, stages 1, numMembers 31
 
-Vertex attribute reflection:
-attributeFloat: offset 0, type 1406, size 0, index 0, binding -1, stages 0
-attributeFloat2: offset 0, type 8b50, size 0, index 0, binding -1, stages 0
-attributeFloat3: offset 0, type 8b51, size 0, index 0, binding -1, stages 0
-attributeFloat4: offset 0, type 8b52, size 0, index 0, binding -1, stages 0
-attributeMat4: offset 0, type 8b5c, size 0, index 0, binding -1, stages 0
-gl_InstanceID: offset 0, type 1404, size 0, index 0, binding -1, stages 0
+Buffer variable reflection:
+
+Buffer block reflection:
+
+Pipeline input reflection:
+attributeFloat: offset 0, type 1406, size 1, index 0, binding -1, stages 1
+attributeFloat2: offset 0, type 8b50, size 1, index 0, binding -1, stages 1
+attributeFloat3: offset 0, type 8b51, size 1, index 0, binding -1, stages 1
+attributeFloat4: offset 0, type 8b52, size 1, index 0, binding -1, stages 1
+attributeMat4: offset 0, type 8b5c, size 1, index 0, binding -1, stages 1
+attributeFloatArray: offset 0, type 1406, size 3, index 0, binding -1, stages 1
+gl_InstanceID: offset 0, type 1404, size 1, index 0, binding -1, stages 1
+
+Pipeline output reflection:
 
diff --git a/Test/baseResults/spv.1.3.coopmat.comp.out b/Test/baseResults/spv.1.3.coopmat.comp.out
new file mode 100644
index 0000000..aa1b949
--- /dev/null
+++ b/Test/baseResults/spv.1.3.coopmat.comp.out
@@ -0,0 +1,95 @@
+spv.1.3.coopmat.comp
+// Module Version 10300
+// Generated by (magic number): 80007
+// Id's are bound by 52
+
+                              Capability Shader
+                              Capability CapabilityVariablePointers
+                              Capability CapabilityVulkanMemoryModelKHR
+                              Capability CapabilityCooperativeMatrixNV
+                              Extension  "SPV_KHR_vulkan_memory_model"
+                              Extension  "SPV_NV_cooperative_matrix"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical VulkanKHR
+                              EntryPoint GLCompute 4  "main"
+                              ExecutionMode 4 LocalSize 64 1 1
+                              Source GLSL 450
+                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float16"
+                              SourceExtension  "GL_KHR_memory_scope_semantics"
+                              SourceExtension  "GL_NV_cooperative_matrix"
+                              Name 4  "main"
+                              Name 13  "m"
+                              Name 29  "tempArg"
+                              Name 33  "Block"
+                              MemberName 33(Block) 0  "y"
+                              MemberName 33(Block) 1  "x"
+                              Name 35  "block"
+                              Decorate 31 ArrayStride 4
+                              Decorate 32 ArrayStride 4
+                              MemberDecorate 33(Block) 0 Offset 0
+                              MemberDecorate 33(Block) 1 Offset 4194304
+                              Decorate 33(Block) Block
+                              Decorate 35(block) DescriptorSet 0
+                              Decorate 35(block) Binding 0
+                              Decorate 51 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeInt 32 0
+               8:      7(int) Constant 3
+               9:      7(int) Constant 16
+              10:      7(int) Constant 8
+              11:             TypeCooperativeMatrixNV 6(float) 8 9 10
+              12:             TypePointer Function 11
+              14:    6(float) Constant 0
+              15:          11 ConstantComposite 14
+              24:    6(float) Constant 1073741824
+              30:      7(int) Constant 1048576
+              31:             TypeArray 6(float) 30
+              32:             TypeRuntimeArray 6(float)
+       33(Block):             TypeStruct 31 32
+              34:             TypePointer StorageBuffer 33(Block)
+       35(block):     34(ptr) Variable StorageBuffer
+              36:             TypeInt 32 1
+              37:     36(int) Constant 1
+              38:      7(int) Constant 5
+              39:             TypePointer StorageBuffer 6(float)
+              41:      7(int) Constant 128
+              42:             TypeBool
+              43:    42(bool) ConstantFalse
+              48:             TypeVector 7(int) 3
+              49:      7(int) Constant 64
+              50:      7(int) Constant 1
+              51:   48(ivec3) ConstantComposite 49 50 50
+         4(main):           2 Function None 3
+               5:             Label
+           13(m):     12(ptr) Variable Function
+     29(tempArg):     12(ptr) Variable Function
+                              Store 13(m) 15
+              16:          11 Load 13(m)
+              17:          11 Load 13(m)
+              18:          11 FAdd 16 17
+                              Store 13(m) 18
+              19:          11 Load 13(m)
+              20:          11 Load 13(m)
+              21:          11 FSub 19 20
+                              Store 13(m) 21
+              22:          11 Load 13(m)
+              23:          11 FNegate 22
+                              Store 13(m) 23
+              25:          11 Load 13(m)
+              26:          11 MatrixTimesScalar 25 24
+                              Store 13(m) 26
+              27:          11 Load 13(m)
+              28:          11 MatrixTimesScalar 27 24
+                              Store 13(m) 28
+              40:     39(ptr) AccessChain 35(block) 37 9
+              44:          11 CooperativeMatrixLoadNV 40 41 43 MakePointerVisibleKHR NonPrivatePointerKHR 38
+                              Store 29(tempArg) 44
+              45:          11 Load 29(tempArg)
+                              Store 13(m) 45
+              46:          11 Load 13(m)
+              47:     39(ptr) AccessChain 35(block) 37 9
+                              CooperativeMatrixStoreNV 47 46 41 43 MakePointerAvailableKHR NonPrivatePointerKHR 38
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.16bitxfb.vert.out b/Test/baseResults/spv.16bitxfb.vert.out
new file mode 100644
index 0000000..7d989c5
--- /dev/null
+++ b/Test/baseResults/spv.16bitxfb.vert.out
@@ -0,0 +1,120 @@
+spv.16bitxfb.vert
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 59
+
+                              Capability Shader
+                              Capability Float16
+                              Capability Int16
+                              Capability TransformFeedback
+                              Capability StorageInputOutput16
+                              Extension  "SPV_KHR_16bit_storage"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 9 12 18 36 39 46 49
+                              ExecutionMode 4 Xfb
+                              Source GLSL 450
+                              SourceExtension  "GL_AMD_gpu_shader_half_float"
+                              SourceExtension  "GL_AMD_gpu_shader_int16"
+                              Name 4  "main"
+                              Name 9  "of16v3"
+                              Name 12  "if16v4"
+                              Name 16  "F16Out"
+                              MemberName 16(F16Out) 0  "of16"
+                              MemberName 16(F16Out) 1  "of16v2"
+                              Name 18  ""
+                              Name 36  "oi16v3"
+                              Name 39  "ii16v4"
+                              Name 44  "I16Out"
+                              MemberName 44(I16Out) 0  "ou16"
+                              MemberName 44(I16Out) 1  "ou16v2"
+                              Name 46  ""
+                              Name 49  "iu16v4"
+                              Decorate 9(of16v3) Location 0
+                              Decorate 9(of16v3) XfbBuffer 0
+                              Decorate 9(of16v3) XfbStride 6
+                              Decorate 9(of16v3) Offset 0
+                              Decorate 12(if16v4) Location 0
+                              MemberDecorate 16(F16Out) 0 Offset 0
+                              MemberDecorate 16(F16Out) 1 Offset 2
+                              Decorate 16(F16Out) Block
+                              Decorate 18 Location 1
+                              Decorate 18 XfbBuffer 1
+                              Decorate 18 XfbStride 6
+                              Decorate 36(oi16v3) Location 5
+                              Decorate 36(oi16v3) XfbBuffer 2
+                              Decorate 36(oi16v3) XfbStride 6
+                              Decorate 36(oi16v3) Offset 0
+                              Decorate 39(ii16v4) Location 1
+                              MemberDecorate 44(I16Out) 0 Offset 0
+                              MemberDecorate 44(I16Out) 1 Offset 2
+                              Decorate 44(I16Out) Block
+                              Decorate 46 Location 6
+                              Decorate 46 XfbBuffer 3
+                              Decorate 46 XfbStride 6
+                              Decorate 49(iu16v4) Location 2
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 16
+               7:             TypeVector 6(float16_t) 3
+               8:             TypePointer Output 7(f16vec3)
+       9(of16v3):      8(ptr) Variable Output
+              10:             TypeVector 6(float16_t) 4
+              11:             TypePointer Input 10(f16vec4)
+      12(if16v4):     11(ptr) Variable Input
+              15:             TypeVector 6(float16_t) 2
+      16(F16Out):             TypeStruct 6(float16_t) 15(f16vec2)
+              17:             TypePointer Output 16(F16Out)
+              18:     17(ptr) Variable Output
+              19:             TypeInt 32 1
+              20:     19(int) Constant 0
+              21:             TypeInt 32 0
+              22:     21(int) Constant 0
+              23:             TypePointer Input 6(float16_t)
+              26:             TypePointer Output 6(float16_t)
+              28:     19(int) Constant 1
+              31:             TypePointer Output 15(f16vec2)
+              33:             TypeInt 16 1
+              34:             TypeVector 33(int16_t) 3
+              35:             TypePointer Output 34(i16vec3)
+      36(oi16v3):     35(ptr) Variable Output
+              37:             TypeVector 33(int16_t) 4
+              38:             TypePointer Input 37(i16vec4)
+      39(ii16v4):     38(ptr) Variable Input
+              42:             TypeInt 16 0
+              43:             TypeVector 42(int16_t) 2
+      44(I16Out):             TypeStruct 42(int16_t) 43(i16vec2)
+              45:             TypePointer Output 44(I16Out)
+              46:     45(ptr) Variable Output
+              47:             TypeVector 42(int16_t) 4
+              48:             TypePointer Input 47(i16vec4)
+      49(iu16v4):     48(ptr) Variable Input
+              50:             TypePointer Input 42(int16_t)
+              53:             TypePointer Output 42(int16_t)
+              57:             TypePointer Output 43(i16vec2)
+         4(main):           2 Function None 3
+               5:             Label
+              13: 10(f16vec4) Load 12(if16v4)
+              14:  7(f16vec3) VectorShuffle 13 13 0 1 2
+                              Store 9(of16v3) 14
+              24:     23(ptr) AccessChain 12(if16v4) 22
+              25:6(float16_t) Load 24
+              27:     26(ptr) AccessChain 18 20
+                              Store 27 25
+              29: 10(f16vec4) Load 12(if16v4)
+              30: 15(f16vec2) VectorShuffle 29 29 0 1
+              32:     31(ptr) AccessChain 18 28
+                              Store 32 30
+              40: 37(i16vec4) Load 39(ii16v4)
+              41: 34(i16vec3) VectorShuffle 40 40 0 1 2
+                              Store 36(oi16v3) 41
+              51:     50(ptr) AccessChain 49(iu16v4) 22
+              52: 42(int16_t) Load 51
+              54:     53(ptr) AccessChain 46 20
+                              Store 54 52
+              55: 47(i16vec4) Load 49(iu16v4)
+              56: 43(i16vec2) VectorShuffle 55 55 0 1
+              58:     57(ptr) AccessChain 46 28
+                              Store 58 56
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.RayCallable.rcall.out b/Test/baseResults/spv.RayCallable.rcall.out
index 198d686..e399e63 100644
--- a/Test/baseResults/spv.RayCallable.rcall.out
+++ b/Test/baseResults/spv.RayCallable.rcall.out
@@ -1,13 +1,13 @@
 spv.RayCallable.rcall
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 38
+// Id's are bound by 30
 
                               Capability RayTracingNV
                               Extension  "SPV_NV_ray_tracing"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint CallableNV 4  "main" 11 14 19
+                              EntryPoint CallableNV 4  "main" 11 14
                               Source GLSL 460
                               SourceExtension  "GL_NV_ray_tracing"
                               Name 4  "main"
@@ -15,18 +15,15 @@
                               Name 11  "gl_LaunchIDNV"
                               Name 13  "size"
                               Name 14  "gl_LaunchSizeNV"
-                              Name 17  "curFlags"
-                              Name 19  "gl_IncomingRayFlagsNV"
-                              Name 24  "dataBlock"
-                              MemberName 24(dataBlock) 0  "data1"
-                              Name 26  ""
-                              Name 37  "data0"
+                              Name 16  "dataBlock"
+                              MemberName 16(dataBlock) 0  "data1"
+                              Name 18  ""
+                              Name 29  "data0"
                               Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
                               Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
-                              Decorate 19(gl_IncomingRayFlagsNV) BuiltIn IncomingRayFlagsNV
-                              Decorate 24(dataBlock) Block
-                              Decorate 26 Location 1
-                              Decorate 37(data0) Location 0
+                              Decorate 16(dataBlock) Block
+                              Decorate 18 Location 1
+                              Decorate 29(data0) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -35,39 +32,29 @@
               10:             TypePointer Input 7(ivec3)
 11(gl_LaunchIDNV):     10(ptr) Variable Input
 14(gl_LaunchSizeNV):     10(ptr) Variable Input
-              16:             TypePointer Function 6(int)
-              18:             TypePointer Input 6(int)
-19(gl_IncomingRayFlagsNV):     18(ptr) Variable Input
-              22:      6(int) Constant 1
-   24(dataBlock):             TypeStruct 6(int)
-              25:             TypePointer IncomingCallableDataNV 24(dataBlock)
-              26:     25(ptr) Variable IncomingCallableDataNV
-              27:             TypeInt 32 1
-              28:     27(int) Constant 0
-              29:      6(int) Constant 256
-              30:             TypePointer IncomingCallableDataNV 6(int)
-              32:      6(int) Constant 2
-              33:     27(int) Constant 1
-              34:             TypeFloat 32
-              35:             TypeVector 34(float) 4
-              36:             TypePointer CallableDataNV 35(fvec4)
-       37(data0):     36(ptr) Variable CallableDataNV
+   16(dataBlock):             TypeStruct 6(int)
+              17:             TypePointer IncomingCallableDataNV 16(dataBlock)
+              18:     17(ptr) Variable IncomingCallableDataNV
+              19:             TypeInt 32 1
+              20:     19(int) Constant 0
+              21:      6(int) Constant 256
+              22:             TypePointer IncomingCallableDataNV 6(int)
+              24:      6(int) Constant 2
+              25:     19(int) Constant 1
+              26:             TypeFloat 32
+              27:             TypeVector 26(float) 4
+              28:             TypePointer CallableDataNV 27(fvec4)
+       29(data0):     28(ptr) Variable CallableDataNV
          4(main):           2 Function None 3
                5:             Label
            9(id):      8(ptr) Variable Function
         13(size):      8(ptr) Variable Function
-    17(curFlags):     16(ptr) Variable Function
               12:    7(ivec3) Load 11(gl_LaunchIDNV)
                               Store 9(id) 12
               15:    7(ivec3) Load 14(gl_LaunchSizeNV)
                               Store 13(size) 15
-              20:      6(int) Load 19(gl_IncomingRayFlagsNV)
-                              Store 17(curFlags) 20
-              21:      6(int) Load 17(curFlags)
-              23:      6(int) BitwiseAnd 21 22
-                              Store 17(curFlags) 23
-              31:     30(ptr) AccessChain 26 28
-                              Store 31 29
-                              ExecuteCallableNV 32 33
+              23:     22(ptr) AccessChain 18 20
+                              Store 23 21
+                              ExecuteCallableNV 24 25
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.RayCallable_Errors.rcall.out b/Test/baseResults/spv.RayCallable_Errors.rcall.out
index a807a57..e7f45cb 100644
--- a/Test/baseResults/spv.RayCallable_Errors.rcall.out
+++ b/Test/baseResults/spv.RayCallable_Errors.rcall.out
@@ -24,10 +24,12 @@
 ERROR: 0:19: '=' :  cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
 ERROR: 0:20: 'gl_HitTNV' : undeclared identifier 
 ERROR: 0:21: 'gl_HitKindNV' : undeclared identifier 
-ERROR: 0:22: 'reportIntersectionNV' : no matching overloaded function found 
-ERROR: 0:23: 'ignoreIntersectionNV' : no matching overloaded function found 
-ERROR: 0:24: 'terminateRayNV' : no matching overloaded function found 
-ERROR: 28 compilation errors.  No code generated.
+ERROR: 0:22: 'gl_IncomingRayFlagsNV' : undeclared identifier 
+ERROR: 0:22: '=' :  cannot convert from ' temp float' to ' temp highp uint'
+ERROR: 0:23: 'reportIntersectionNV' : no matching overloaded function found 
+ERROR: 0:24: 'ignoreIntersectionNV' : no matching overloaded function found 
+ERROR: 0:25: 'terminateRayNV' : no matching overloaded function found 
+ERROR: 30 compilation errors.  No code generated.
 
 
 SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.RayGenShader.rgen.out b/Test/baseResults/spv.RayGenShader.rgen.out
index 7e15f26..91f37e5 100644
--- a/Test/baseResults/spv.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.RayGenShader.rgen.out
@@ -1,7 +1,7 @@
 spv.RayGenShader.rgen
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 61
+// Id's are bound by 54
 
                               Capability RayTracingNV
                               Extension  "SPV_NV_ray_tracing"
@@ -18,23 +18,22 @@
                               Name 21  "gl_LaunchSizeNV"
                               Name 24  "sy"
                               Name 29  "accNV0"
-                              Name 48  "block"
-                              MemberName 48(block) 0  "arr"
-                              MemberName 48(block) 1  "pad"
-                              Name 50  ""
-                              Name 56  "payload"
-                              Name 60  "accNV1"
+                              Name 37  "block"
+                              MemberName 37(block) 0  "dir"
+                              MemberName 37(block) 1  "origin"
+                              Name 39  ""
+                              Name 50  "accNV1"
+                              Name 53  "payload"
                               Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
                               Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
                               Decorate 29(accNV0) DescriptorSet 0
                               Decorate 29(accNV0) Binding 0
-                              Decorate 46 ArrayStride 4
-                              MemberDecorate 48(block) 0 Offset 0
-                              MemberDecorate 48(block) 1 Offset 16
-                              Decorate 48(block) BufferBlock
-                              Decorate 56(payload) Location 0
-                              Decorate 60(accNV1) DescriptorSet 0
-                              Decorate 60(accNV1) Binding 1
+                              MemberDecorate 37(block) 0 Offset 0
+                              MemberDecorate 37(block) 1 Offset 16
+                              Decorate 37(block) BufferBlock
+                              Decorate 50(accNV1) DescriptorSet 0
+                              Decorate 50(accNV1) Binding 1
+                              Decorate 53(payload) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -51,27 +50,19 @@
       29(accNV0):     28(ptr) Variable UniformConstant
               35:             TypeFloat 32
               36:             TypeVector 35(float) 3
-              37:   35(float) Constant 0
-              38:   36(fvec3) ConstantComposite 37 37 37
-              39:   35(float) Constant 1056964608
-              40:   35(float) Constant 1065353216
-              41:   36(fvec3) ConstantComposite 40 40 40
-              42:   35(float) Constant 1061158912
-              43:             TypeInt 32 1
-              44:     43(int) Constant 1
-              45:      6(int) Constant 4
-              46:             TypeArray 35(float) 45
-              47:             TypeVector 35(float) 4
-       48(block):             TypeStruct 46 47(fvec4)
-              49:             TypePointer ShaderRecordBufferNV 48(block)
-              50:     49(ptr) Variable ShaderRecordBufferNV
-              51:     43(int) Constant 0
-              52:     43(int) Constant 3
-              53:             TypePointer ShaderRecordBufferNV 35(float)
-              55:             TypePointer RayPayloadNV 47(fvec4)
-     56(payload):     55(ptr) Variable RayPayloadNV
-              58:             TypePointer ShaderRecordBufferNV 47(fvec4)
-      60(accNV1):     28(ptr) Variable UniformConstant
+       37(block):             TypeStruct 36(fvec3) 36(fvec3)
+              38:             TypePointer ShaderRecordBufferNV 37(block)
+              39:     38(ptr) Variable ShaderRecordBufferNV
+              40:             TypeInt 32 1
+              41:     40(int) Constant 1
+              42:             TypePointer ShaderRecordBufferNV 36(fvec3)
+              45:   35(float) Constant 1056964608
+              46:     40(int) Constant 0
+              49:   35(float) Constant 1061158912
+      50(accNV1):     28(ptr) Variable UniformConstant
+              51:             TypeVector 35(float) 4
+              52:             TypePointer RayPayloadNV 51(fvec4)
+     53(payload):     52(ptr) Variable RayPayloadNV
          4(main):           2 Function None 3
                5:             Label
            8(lx):      7(ptr) Variable Function
@@ -95,11 +86,10 @@
               32:      6(int) Load 16(ly)
               33:      6(int) Load 20(sx)
               34:      6(int) Load 24(sy)
-                              TraceNV 30 31 32 33 34 12 38 39 41 42 44
-              54:     53(ptr) AccessChain 50 51 52
-                              Store 54 40
-              57:   47(fvec4) Load 56(payload)
-              59:     58(ptr) AccessChain 50 44
-                              Store 59 57
+              43:     42(ptr) AccessChain 39 41
+              44:   36(fvec3) Load 43
+              47:     42(ptr) AccessChain 39 46
+              48:   36(fvec3) Load 47
+                              TraceNV 30 31 32 33 34 12 44 45 48 49 41
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.RayGenShader11.rgen.out b/Test/baseResults/spv.RayGenShader11.rgen.out
index b099581..8f2c52b 100755
--- a/Test/baseResults/spv.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.RayGenShader11.rgen.out
@@ -1,7 +1,7 @@
 spv.RayGenShader11.rgen
 // Module Version 10300
 // Generated by (magic number): 80007
-// Id's are bound by 60
+// Id's are bound by 53
 
                               Capability RayTracingNV
                               Extension  "SPV_NV_ray_tracing"
@@ -18,20 +18,19 @@
                               Name 21  "gl_LaunchSizeNV"
                               Name 24  "sy"
                               Name 29  "accNV"
-                              Name 48  "block"
-                              MemberName 48(block) 0  "arr"
-                              MemberName 48(block) 1  "pad"
-                              Name 50  ""
-                              Name 56  "payload"
+                              Name 37  "block"
+                              MemberName 37(block) 0  "dir"
+                              MemberName 37(block) 1  "origin"
+                              Name 39  ""
+                              Name 52  "payload"
                               Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
                               Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
                               Decorate 29(accNV) DescriptorSet 0
                               Decorate 29(accNV) Binding 0
-                              Decorate 46 ArrayStride 4
-                              MemberDecorate 48(block) 0 Offset 0
-                              MemberDecorate 48(block) 1 Offset 16
-                              Decorate 48(block) Block
-                              Decorate 56(payload) Location 0
+                              MemberDecorate 37(block) 0 Offset 0
+                              MemberDecorate 37(block) 1 Offset 16
+                              Decorate 37(block) Block
+                              Decorate 52(payload) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -48,26 +47,18 @@
        29(accNV):     28(ptr) Variable UniformConstant
               35:             TypeFloat 32
               36:             TypeVector 35(float) 3
-              37:   35(float) Constant 0
-              38:   36(fvec3) ConstantComposite 37 37 37
-              39:   35(float) Constant 1056964608
-              40:   35(float) Constant 1065353216
-              41:   36(fvec3) ConstantComposite 40 40 40
-              42:   35(float) Constant 1061158912
-              43:             TypeInt 32 1
-              44:     43(int) Constant 1
-              45:      6(int) Constant 4
-              46:             TypeArray 35(float) 45
-              47:             TypeVector 35(float) 4
-       48(block):             TypeStruct 46 47(fvec4)
-              49:             TypePointer ShaderRecordBufferNV 48(block)
-              50:     49(ptr) Variable ShaderRecordBufferNV
-              51:     43(int) Constant 0
-              52:     43(int) Constant 3
-              53:             TypePointer ShaderRecordBufferNV 35(float)
-              55:             TypePointer RayPayloadNV 47(fvec4)
-     56(payload):     55(ptr) Variable RayPayloadNV
-              58:             TypePointer ShaderRecordBufferNV 47(fvec4)
+       37(block):             TypeStruct 36(fvec3) 36(fvec3)
+              38:             TypePointer ShaderRecordBufferNV 37(block)
+              39:     38(ptr) Variable ShaderRecordBufferNV
+              40:             TypeInt 32 1
+              41:     40(int) Constant 1
+              42:             TypePointer ShaderRecordBufferNV 36(fvec3)
+              45:   35(float) Constant 1056964608
+              46:     40(int) Constant 0
+              49:   35(float) Constant 1061158912
+              50:             TypeVector 35(float) 4
+              51:             TypePointer RayPayloadNV 50(fvec4)
+     52(payload):     51(ptr) Variable RayPayloadNV
          4(main):           2 Function None 3
                5:             Label
            8(lx):      7(ptr) Variable Function
@@ -91,11 +82,10 @@
               32:      6(int) Load 16(ly)
               33:      6(int) Load 20(sx)
               34:      6(int) Load 24(sy)
-                              TraceNV 30 31 32 33 34 12 38 39 41 42 44
-              54:     53(ptr) AccessChain 50 51 52
-                              Store 54 40
-              57:   47(fvec4) Load 56(payload)
-              59:     58(ptr) AccessChain 50 44
-                              Store 59 57
+              43:     42(ptr) AccessChain 39 41
+              44:   36(fvec3) Load 43
+              47:     42(ptr) AccessChain 39 46
+              48:   36(fvec3) Load 47
+                              TraceNV 30 31 32 33 34 12 44 45 48 49 41
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.RayGenShader_Errors.rgen.out b/Test/baseResults/spv.RayGenShader_Errors.rgen.out
index 27d51c2..a264eda 100644
--- a/Test/baseResults/spv.RayGenShader_Errors.rgen.out
+++ b/Test/baseResults/spv.RayGenShader_Errors.rgen.out
@@ -31,7 +31,8 @@
 ERROR: 0:37: 'reportIntersectionNV' : no matching overloaded function found 
 ERROR: 0:38: 'ignoreIntersectionNV' : no matching overloaded function found 
 ERROR: 0:39: 'terminateRayNV' : no matching overloaded function found 
-ERROR: 32 compilation errors.  No code generated.
+ERROR: 0:40: 'assign' :  l-value required "anon@3" (can't modify a shaderrecordnv qualified buffer)
+ERROR: 33 compilation errors.  No code generated.
 
 
 ERROR: Linking ray-generation stage: Only one shaderRecordNV buffer block is allowed per stage
diff --git a/Test/baseResults/spv.bufferhandle10.frag.out b/Test/baseResults/spv.bufferhandle10.frag.out
index bfaa2d8..72777f9 100644
--- a/Test/baseResults/spv.bufferhandle10.frag.out
+++ b/Test/baseResults/spv.bufferhandle10.frag.out
@@ -1,7 +1,7 @@
 spv.bufferhandle10.frag
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 34
+// Id's are bound by 40
 
                               Capability Shader
                               Capability CapabilityVulkanMemoryModelKHR
@@ -24,6 +24,7 @@
                               Name 12  "t"
                               Name 19  "i"
                               Name 28  "b"
+                              Name 34  "b2"
                               MemberDecorate 7(t2) 0 Offset 0
                               Decorate 7(t2) Block
                               Decorate 9 ArrayStride 4
@@ -34,6 +35,7 @@
                               Decorate 19(i) Flat
                               Decorate 19(i) Location 0
                               Decorate 28(b) DecorationAliasedPointerEXT
+                              Decorate 34(b2) DecorationAliasedPointerEXT
                2:             TypeVoid
                3:             TypeFunction 2
                               TypeForwardPointer 6 PhysicalStorageBufferEXT
@@ -55,9 +57,11 @@
               25:      8(int) Constant 0
               27:             TypePointer Function 6(ptr)
               32:      8(int) Constant 2
+              38:      8(int) Constant 3
          4(main):           2 Function None 3
                5:             Label
            28(b):     27(ptr) Variable Function
+          34(b2):     27(ptr) Variable Function
               16:     15(ptr) AccessChain 12(t) 14
               17:      6(ptr) Load 16
               20:      8(int) Load 19(i)
@@ -69,5 +73,11 @@
               31:      6(ptr) Load 28(b)
               33:     21(ptr) AccessChain 31 14 14
                               Store 33 32 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 4 24
+              35:     15(ptr) AccessChain 12(t) 14
+              36:      6(ptr) Load 35
+                              Store 34(b2) 36 Volatile 
+              37:      6(ptr) Load 34(b2) Volatile 
+              39:     21(ptr) AccessChain 37 14 14
+                              Store 39 38 Volatile Aligned MakePointerAvailableKHR NonPrivatePointerKHR 4 24
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.bufferhandle13.frag.out b/Test/baseResults/spv.bufferhandle13.frag.out
index 1438086..8c12c4f 100644
--- a/Test/baseResults/spv.bufferhandle13.frag.out
+++ b/Test/baseResults/spv.bufferhandle13.frag.out
@@ -4,13 +4,11 @@
 // Id's are bound by 58
 
                               Capability Shader
-                              Capability CapabilityVulkanMemoryModelKHR
                               Capability CapabilityPhysicalStorageBufferAddressesEXT
                               Extension  "SPV_EXT_physical_storage_buffer"
                               Extension  "SPV_KHR_storage_buffer_storage_class"
-                              Extension  "SPV_KHR_vulkan_memory_model"
                1:             ExtInstImport  "GLSL.std.450"
-                              MemoryModel PhysicalStorageBuffer64EXT VulkanKHR
+                              MemoryModel PhysicalStorageBuffer64EXT GLSL450
                               EntryPoint Fragment 4  "main"
                               ExecutionMode 4 OriginUpperLeft
                               Source GLSL 450
diff --git a/Test/baseResults/spv.bufferhandle16.frag.out b/Test/baseResults/spv.bufferhandle16.frag.out
new file mode 100644
index 0000000..a4cf44d
--- /dev/null
+++ b/Test/baseResults/spv.bufferhandle16.frag.out
@@ -0,0 +1,92 @@
+spv.bufferhandle16.frag
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 48
+
+                              Capability Shader
+                              Capability Int64
+                              Capability CapabilityPhysicalStorageBufferAddressesEXT
+                              Extension  "SPV_EXT_physical_storage_buffer"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel PhysicalStorageBuffer64EXT GLSL450
+                              EntryPoint Fragment 4  "main"
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_EXT_buffer_reference"
+                              SourceExtension  "GL_EXT_scalar_block_layout"
+                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int64"
+                              Name 4  "main"
+                              Name 9  "T1"
+                              MemberName 9(T1) 0  "x"
+                              MemberName 9(T1) 1  "y"
+                              Name 11  "a"
+                              Name 15  "b"
+                              Name 18  "c"
+                              Name 24  "d"
+                              Name 26  "e"
+                              Name 29  "f"
+                              Name 46  "x"
+                              MemberDecorate 9(T1) 0 Offset 0
+                              MemberDecorate 9(T1) 1 Offset 4
+                              Decorate 9(T1) Block
+                              Decorate 11(a) DecorationAliasedPointerEXT
+                              Decorate 15(b) DecorationAliasedPointerEXT
+                              Decorate 18(c) DecorationAliasedPointerEXT
+                              Decorate 24(d) DecorationAliasedPointerEXT
+                              Decorate 26(e) DecorationAliasedPointerEXT
+                              Decorate 29(f) DecorationAliasedPointerEXT
+               2:             TypeVoid
+               3:             TypeFunction 2
+                              TypeForwardPointer 6 PhysicalStorageBufferEXT
+               7:             TypeInt 32 1
+               8:             TypeInt 32 0
+           9(T1):             TypeStruct 7(int) 8(int)
+               6:             TypePointer PhysicalStorageBufferEXT 9(T1)
+              10:             TypePointer Function 6(ptr)
+              12:             TypeInt 64 0
+              13: 12(int64_t) Constant 4 0
+              16: 12(int64_t) Constant 5 0
+              19:             TypeBool
+              20:    19(bool) ConstantTrue
+              27: 12(int64_t) Constant 6 0
+              31:      7(int) Constant 1
+              32:             TypePointer PhysicalStorageBufferEXT 8(int)
+              35:      8(int) Constant 0
+              37: 12(int64_t) Constant 8 0
+              39: 12(int64_t) Constant 9 0
+              42:      7(int) Constant 3
+              43:      8(int) Constant 3
+              44:             TypeArray 7(int) 43
+              45:             TypePointer Private 44
+           46(x):     45(ptr) Variable Private
+              47: 12(int64_t) Constant 10 0
+         4(main):           2 Function None 3
+               5:             Label
+           11(a):     10(ptr) Variable Function
+           15(b):     10(ptr) Variable Function
+           18(c):     10(ptr) Variable Function
+           24(d):     10(ptr) Variable Function
+           26(e):     10(ptr) Variable Function
+           29(f):     10(ptr) Variable Function
+              14:      6(ptr) Bitcast 13
+                              Store 11(a) 14
+              17:      6(ptr) Bitcast 16
+                              Store 15(b) 17
+              21:      6(ptr) Load 11(a)
+              22:      6(ptr) Load 15(b)
+              23:      6(ptr) Select 20 21 22
+                              Store 18(c) 23
+              25:      6(ptr) Load 15(b)
+                              Store 24(d) 25
+              28:      6(ptr) Bitcast 27
+                              Store 26(e) 28
+              30:      6(ptr) Load 11(a)
+              33:     32(ptr) AccessChain 30 31
+              34:      8(int) Load 33 Aligned 4
+              36:    19(bool) INotEqual 34 35
+              38:      6(ptr) Bitcast 37
+              40:      6(ptr) Bitcast 39
+              41:      6(ptr) Select 36 38 40
+                              Store 29(f) 41
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.bufferhandle17_Errors.frag.out b/Test/baseResults/spv.bufferhandle17_Errors.frag.out
new file mode 100644
index 0000000..cdcfb9c
--- /dev/null
+++ b/Test/baseResults/spv.bufferhandle17_Errors.frag.out
@@ -0,0 +1,9 @@
+spv.bufferhandle17_Errors.frag
+ERROR: 0:11: 'qualifier' : variables with reference type can't have qualifier 'const' 
+ERROR: 0:16: 'qualifier' : variables with reference type can't have qualifier 'const' 
+ERROR: 0:18: '==' : can't use with reference types 
+ERROR: 0:19: '!=' : can't use with reference types 
+ERROR: 4 compilation errors.  No code generated.
+
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.coopmat.comp.out b/Test/baseResults/spv.coopmat.comp.out
new file mode 100644
index 0000000..5c00384
--- /dev/null
+++ b/Test/baseResults/spv.coopmat.comp.out
@@ -0,0 +1,375 @@
+spv.coopmat.comp
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 228
+
+                              Capability Shader
+                              Capability Float16
+                              Capability StorageUniformBufferBlock16
+                              Capability CapabilityVulkanMemoryModelKHR
+                              Capability CapabilityPhysicalStorageBufferAddressesEXT
+                              Capability CapabilityCooperativeMatrixNV
+                              Extension  "SPV_EXT_physical_storage_buffer"
+                              Extension  "SPV_KHR_16bit_storage"
+                              Extension  "SPV_KHR_storage_buffer_storage_class"
+                              Extension  "SPV_KHR_vulkan_memory_model"
+                              Extension  "SPV_NV_cooperative_matrix"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel PhysicalStorageBuffer64EXT VulkanKHR
+                              EntryPoint GLCompute 4  "main"
+                              ExecutionMode 4 LocalSize 64 1 1
+                              Source GLSL 450
+                              SourceExtension  "GL_EXT_buffer_reference"
+                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float16"
+                              SourceExtension  "GL_KHR_memory_scope_semantics"
+                              SourceExtension  "GL_NV_cooperative_matrix"
+                              Name 4  "main"
+                              Name 14  "f16(f161;"
+                              Name 13  "m"
+                              Name 21  "f32(f1;"
+                              Name 20  "m"
+                              Name 34  "m"
+                              Name 52  "m2"
+                              Name 56  "x"
+                              Name 64  "tempArg"
+                              Name 68  "Block"
+                              MemberName 68(Block) 0  "y"
+                              MemberName 68(Block) 1  "x"
+                              Name 70  "block"
+                              Name 81  "tempArg"
+                              Name 86  "Block16"
+                              MemberName 86(Block16) 0  "y"
+                              MemberName 86(Block16) 1  "x"
+                              MemberName 86(Block16) 2  "b"
+                              Name 89  "Block"
+                              MemberName 89(Block) 0  "y"
+                              MemberName 89(Block) 1  "x"
+                              Name 91  "block16"
+                              Name 98  "tempArg"
+                              Name 111  "D"
+                              Name 112  "A"
+                              Name 114  "B"
+                              Name 116  "C"
+                              Name 120  "l"
+                              Name 124  "Y"
+                              Name 125  "Z"
+                              Name 128  "F"
+                              Name 133  "a"
+                              Name 137  "md1"
+                              Name 148  "mC2"
+                              Name 153  "tempArg"
+                              Name 159  "tempArg"
+                              Name 165  "p1"
+                              Name 166  "param"
+                              Name 169  "p2"
+                              Name 170  "param"
+                              Name 184  "tempArg"
+                              Name 189  "shmatrix"
+                              Name 194  "ms"
+                              Name 201  "mC"
+                              Name 206  "arr"
+                              Name 211  "arr2"
+                              Name 212  "F"
+                              Name 217  "S"
+                              MemberName 217(S) 0  "a"
+                              MemberName 217(S) 1  "b"
+                              MemberName 217(S) 2  "c"
+                              Name 222  "SC"
+                              Name 227  "scm"
+                              Decorate 66 ArrayStride 4
+                              Decorate 67 ArrayStride 4
+                              MemberDecorate 68(Block) 0 Offset 0
+                              MemberDecorate 68(Block) 1 Offset 4194304
+                              Decorate 68(Block) Block
+                              Decorate 70(block) DescriptorSet 0
+                              Decorate 70(block) Binding 0
+                              Decorate 82 ArrayStride 2
+                              Decorate 84 ArrayStride 2
+                              MemberDecorate 86(Block16) 0 Offset 0
+                              MemberDecorate 86(Block16) 1 Offset 2097152
+                              MemberDecorate 86(Block16) 2 Offset 2097160
+                              Decorate 86(Block16) Block
+                              Decorate 87 ArrayStride 4
+                              Decorate 88 ArrayStride 4
+                              MemberDecorate 89(Block) 0 Offset 0
+                              MemberDecorate 89(Block) 1 Offset 4194304
+                              Decorate 89(Block) Block
+                              Decorate 91(block16) DescriptorSet 0
+                              Decorate 91(block16) Binding 0
+                              Decorate 124(Y) SpecId 0
+                              Decorate 200 BuiltIn WorkgroupSize
+                              Decorate 212(F) SpecId 1
+                              Decorate 222(SC) SpecId 2
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 16
+               7:             TypeInt 32 0
+               8:      7(int) Constant 3
+               9:      7(int) Constant 8
+              10:             TypeCooperativeMatrixNV 6(float16_t) 8 9 9
+              11:             TypePointer Function 10
+              12:             TypeFunction 10 11(ptr)
+              16:             TypeFloat 32
+              17:             TypeCooperativeMatrixNV 16(float) 8 9 9
+              18:             TypePointer Function 17
+              19:             TypeFunction 17 18(ptr)
+              31:      7(int) Constant 16
+              32:             TypeCooperativeMatrixNV 16(float) 8 31 9
+              33:             TypePointer Function 32
+              35:   16(float) Constant 0
+              36:          32 ConstantComposite 35
+              45:   16(float) Constant 1073741824
+              50:             TypeCooperativeMatrixNV 6(float16_t) 8 31 9
+              51:             TypePointer Function 50
+              55:             TypePointer Function 16(float)
+              57:             TypeInt 32 1
+              58:     57(int) Constant 1
+              61:     57(int) Constant 0
+              65:      7(int) Constant 1048576
+              66:             TypeArray 16(float) 65
+              67:             TypeRuntimeArray 16(float)
+       68(Block):             TypeStruct 66 67
+              69:             TypePointer StorageBuffer 68(Block)
+       70(block):     69(ptr) Variable StorageBuffer
+              71:      7(int) Constant 5
+              72:             TypePointer StorageBuffer 16(float)
+              74:      7(int) Constant 128
+              75:             TypeBool
+              76:    75(bool) ConstantFalse
+              82:             TypeArray 6(float16_t) 65
+              83:      7(int) Constant 1
+              84:             TypeArray 6(float16_t) 83
+                              TypeForwardPointer 85 PhysicalStorageBufferEXT
+     86(Block16):             TypeStruct 82 84 85
+              87:             TypeArray 16(float) 65
+              88:             TypeRuntimeArray 16(float)
+       89(Block):             TypeStruct 87 88
+              85:             TypePointer PhysicalStorageBufferEXT 89(Block)
+              90:             TypePointer StorageBuffer 86(Block16)
+     91(block16):     90(ptr) Variable StorageBuffer
+              92:             TypePointer StorageBuffer 6(float16_t)
+              99:     57(int) Constant 2
+             100:             TypePointer StorageBuffer 85(ptr)
+             103:             TypePointer PhysicalStorageBufferEXT 16(float)
+             119:             TypePointer Function 57(int)
+             121:      7(int) SpecConstantOp 5362 32
+             122:     57(int) SpecConstantOp 128 121 61
+             123:     57(int) Constant 8
+          124(Y):     57(int) SpecConstant 2
+          125(Z):     57(int) SpecConstantOp 132 123 124(Y)
+             126:             TypeCooperativeMatrixNV 6(float16_t) 8 125(Z) 125(Z)
+             127:             TypePointer Function 126
+             129:6(float16_t) Constant 0
+             130:         126 ConstantComposite 129
+             131:             TypeArray 32 71
+             132:             TypePointer Function 131
+             134:     57(int) Constant 3
+             135:   16(float) Constant 1065353216
+             141:     57(int) Constant 1234
+             145:             TypeCooperativeMatrixNV 6(float16_t) 8 125(Z) 9
+             146:             TypeArray 145 8
+             147:             TypePointer Private 146
+        148(mC2):    147(ptr) Variable Private
+             149:             TypePointer Private 145
+             173:          10 ConstantComposite 129
+             174:          17 ConstantComposite 35
+             178:6(float16_t) Constant 16384
+             181:   16(float) Constant 1082130432
+             185:             TypeVector 7(int) 4
+             186:      7(int) Constant 32
+             187:             TypeArray 185(ivec4) 186
+             188:             TypePointer Workgroup 187
+   189(shmatrix):    188(ptr) Variable Workgroup
+             190:      7(int) Constant 2
+             191:             TypePointer Workgroup 185(ivec4)
+             198:             TypeVector 7(int) 3
+             199:      7(int) Constant 64
+             200:  198(ivec3) ConstantComposite 199 83 83
+         201(mC):    149(ptr) Variable Private
+             202:      7(int) SpecConstantOp 5362 145
+             203:     57(int) SpecConstantOp 128 202 61
+             204:             TypeArray 57(int) 203
+             205:             TypePointer Private 204
+        206(arr):    205(ptr) Variable Private
+             207:      7(int) SpecConstantOp 5362 145
+             208:     57(int) SpecConstantOp 128 207 61
+             209:             TypeArray 57(int) 208
+             210:             TypePointer Private 209
+       211(arr2):    210(ptr) Variable Private
+          212(F):   16(float) SpecConstant 1077936128
+             213:             TypeCooperativeMatrixNV 16(float) 8 125(Z) 9
+             214:         213 ConstantComposite 35
+             215:6(float16_t) Constant 15360
+             216:          10 ConstantComposite 215
+          217(S):             TypeStruct 57(int) 57(int) 57(int)
+             218:     57(int) Constant 12
+             219:     57(int) Constant 23
+             220:     57(int) Constant 34
+             221:      217(S) ConstantComposite 218 219 220
+         222(SC):     57(int) SpecConstant 1
+             223:             TypeCooperativeMatrixNV 6(float16_t) 8 222(SC) 222(SC)
+             224:             TypeArray 223 222(SC)
+             225:             TypeArray 224 222(SC)
+             226:             TypePointer Private 225
+        227(scm):    226(ptr) Variable Private
+         4(main):           2 Function None 3
+               5:             Label
+           34(m):     33(ptr) Variable Function
+          52(m2):     51(ptr) Variable Function
+           56(x):     55(ptr) Variable Function
+     64(tempArg):     33(ptr) Variable Function
+     81(tempArg):     51(ptr) Variable Function
+     98(tempArg):     33(ptr) Variable Function
+          111(D):     33(ptr) Variable Function
+          112(A):     51(ptr) Variable Function
+          114(B):     11(ptr) Variable Function
+          116(C):     33(ptr) Variable Function
+          120(l):    119(ptr) Variable Function
+          128(F):    127(ptr) Variable Function
+          133(a):    132(ptr) Variable Function
+        137(md1):     55(ptr) Variable Function
+    153(tempArg):     33(ptr) Variable Function
+    159(tempArg):     51(ptr) Variable Function
+         165(p1):     11(ptr) Variable Function
+      166(param):     11(ptr) Variable Function
+         169(p2):     18(ptr) Variable Function
+      170(param):     18(ptr) Variable Function
+    184(tempArg):     51(ptr) Variable Function
+         194(ms):     51(ptr) Variable Function
+                              Store 34(m) 36
+              37:          32 Load 34(m)
+              38:          32 Load 34(m)
+              39:          32 FAdd 37 38
+                              Store 34(m) 39
+              40:          32 Load 34(m)
+              41:          32 Load 34(m)
+              42:          32 FSub 40 41
+                              Store 34(m) 42
+              43:          32 Load 34(m)
+              44:          32 FNegate 43
+                              Store 34(m) 44
+              46:          32 Load 34(m)
+              47:          32 MatrixTimesScalar 46 45
+                              Store 34(m) 47
+              48:          32 Load 34(m)
+              49:          32 MatrixTimesScalar 48 45
+                              Store 34(m) 49
+              53:          32 Load 34(m)
+              54:          50 FConvert 53
+                              Store 52(m2) 54
+              59:     55(ptr) AccessChain 34(m) 58
+              60:   16(float) Load 59
+                              Store 56(x) 60
+              62:   16(float) Load 56(x)
+              63:     55(ptr) AccessChain 34(m) 61
+                              Store 63 62
+              73:     72(ptr) AccessChain 70(block) 58 31
+              77:          32 CooperativeMatrixLoadNV 73 74 76 MakePointerVisibleKHR NonPrivatePointerKHR 71
+                              Store 64(tempArg) 77
+              78:          32 Load 64(tempArg)
+                              Store 34(m) 78
+              79:          32 Load 34(m)
+              80:     72(ptr) AccessChain 70(block) 58 31
+                              CooperativeMatrixStoreNV 80 79 74 76 MakePointerAvailableKHR NonPrivatePointerKHR 71
+              93:     92(ptr) AccessChain 91(block16) 58 31
+              94:          50 CooperativeMatrixLoadNV 93 74 76 MakePointerVisibleKHR NonPrivatePointerKHR 71
+                              Store 81(tempArg) 94
+              95:          50 Load 81(tempArg)
+                              Store 52(m2) 95
+              96:          50 Load 52(m2)
+              97:     92(ptr) AccessChain 91(block16) 58 31
+                              CooperativeMatrixStoreNV 97 96 74 76 MakePointerAvailableKHR NonPrivatePointerKHR 71
+             101:    100(ptr) AccessChain 91(block16) 99
+             102:     85(ptr) Load 101 MakePointerVisibleKHR NonPrivatePointerKHR 71
+             104:    103(ptr) AccessChain 102 58 31
+             105:          32 CooperativeMatrixLoadNV 104 74 76 Aligned 16
+                              Store 98(tempArg) 105
+             106:          32 Load 98(tempArg)
+                              Store 34(m) 106
+             107:          32 Load 34(m)
+             108:    100(ptr) AccessChain 91(block16) 99
+             109:     85(ptr) Load 108 MakePointerVisibleKHR NonPrivatePointerKHR 71
+             110:    103(ptr) AccessChain 109 58 31
+                              CooperativeMatrixStoreNV 110 107 74 76 Aligned 16
+             113:          50 Load 112(A)
+             115:          10 Load 114(B)
+             117:          32 Load 116(C)
+             118:          32 CooperativeMatrixMulAddNV 113 115 117
+                              Store 111(D) 118
+                              Store 120(l) 122
+                              Store 128(F) 130
+             136:     55(ptr) AccessChain 133(a) 134 61
+                              Store 136 135
+                              Store 137(md1) 35
+             138:          32 Load 34(m)
+             139:          32 Load 34(m)
+             140:          32 FAdd 139 138
+                              Store 34(m) 140
+             142:   16(float) CompositeExtract 140 1234
+             143:   16(float) Load 137(md1)
+             144:   16(float) FAdd 143 142
+                              Store 137(md1) 144
+             150:    149(ptr) AccessChain 148(mC2) 99
+             151:         145 Load 150
+             152:    149(ptr) AccessChain 148(mC2) 58
+                              Store 152 151
+             154:     72(ptr) AccessChain 70(block) 61 31
+             155:          32 CooperativeMatrixLoadNV 154 74 76 MakePointerVisibleKHR NonPrivatePointerKHR 71
+                              Store 153(tempArg) 155
+             156:          32 Load 153(tempArg)
+                              Store 34(m) 156
+             157:          32 Load 34(m)
+             158:     72(ptr) AccessChain 70(block) 61 31
+                              CooperativeMatrixStoreNV 158 157 74 76 MakePointerAvailableKHR NonPrivatePointerKHR 71
+             160:     92(ptr) AccessChain 91(block16) 61 31
+             161:          50 CooperativeMatrixLoadNV 160 74 76 MakePointerVisibleKHR NonPrivatePointerKHR 71
+                              Store 159(tempArg) 161
+             162:          50 Load 159(tempArg)
+                              Store 52(m2) 162
+             163:          50 Load 52(m2)
+             164:     92(ptr) AccessChain 91(block16) 61 31
+                              CooperativeMatrixStoreNV 164 163 74 76 MakePointerAvailableKHR NonPrivatePointerKHR 71
+             167:          10 Load 165(p1)
+                              Store 166(param) 167
+             168:          10 FunctionCall 14(f16(f161;) 166(param)
+                              Store 165(p1) 168
+             171:          17 Load 169(p2)
+                              Store 170(param) 171
+             172:          17 FunctionCall 21(f32(f1;) 170(param)
+                              Store 169(p2) 172
+                              Store 165(p1) 173
+                              Store 169(p2) 174
+             175:          10 Load 165(p1)
+             176:          10 Load 165(p1)
+             177:          10 FDiv 176 175
+                              Store 165(p1) 177
+             179:          10 Load 165(p1)
+             180:          10 MatrixTimesScalar 179 178
+                              Store 165(p1) 180
+             182:          17 Load 169(p2)
+             183:          17 MatrixTimesScalar 182 181
+                              Store 169(p2) 183
+             192:    191(ptr) AccessChain 189(shmatrix) 83
+             193:          50 CooperativeMatrixLoadNV 192 190 76 MakePointerVisibleKHR NonPrivatePointerKHR 190
+                              Store 184(tempArg) 193
+             195:          50 Load 184(tempArg)
+                              Store 194(ms) 195
+             196:          50 Load 194(ms)
+             197:    191(ptr) AccessChain 189(shmatrix) 83
+                              CooperativeMatrixStoreNV 197 196 190 76 MakePointerAvailableKHR NonPrivatePointerKHR 190
+                              Return
+                              FunctionEnd
+   14(f16(f161;):          10 Function None 12
+           13(m):     11(ptr) FunctionParameter
+              15:             Label
+              23:          10 Load 13(m)
+              24:          10 FNegate 23
+                              ReturnValue 24
+                              FunctionEnd
+     21(f32(f1;):          17 Function None 19
+           20(m):     18(ptr) FunctionParameter
+              22:             Label
+              27:          17 Load 20(m)
+              28:          17 FNegate 27
+                              ReturnValue 28
+                              FunctionEnd
diff --git a/Test/baseResults/spv.coopmat_Error.comp.out b/Test/baseResults/spv.coopmat_Error.comp.out
new file mode 100644
index 0000000..49223b0
--- /dev/null
+++ b/Test/baseResults/spv.coopmat_Error.comp.out
@@ -0,0 +1,35 @@
+spv.coopmat_Error.comp
+ERROR: 0:8: 'ftemplate16' : unexpected type parameters 
+ERROR: 0:10: 'fnoparams' : expected four type parameters 
+ERROR: 0:12: 'fbadbits' : expected 16, 32, or 64 bits for first type parameter 
+ERROR: 0:14: 'fbadnumparams' : expected four type parameters 
+ERROR: 0:18: '' : type parameter must be a constant integer expression
+ERROR: 0:20: 'constant_id' : can only be applied to 'const'-qualified scalar 
+ERROR: 0:22: 'Cooperative matrix types must not be used in shared memory' : qualifier 
+ERROR: 0:25: 'bufmat' : member of block cannot be or contain a cooperative matrix type 
+ERROR: 0:34: 'assign' :  cannot convert from ' temp<16, 3, 16, 8> float16_t' to ' temp<32, 3, 16, 8> highp float'
+ERROR: 0:35: 'assign' :  cannot convert from ' temp<16, 3, 16, 8> float16_t' to ' temp<32, 3, 16, 8> highp float'
+ERROR: 0:40: 'assign' :  cannot convert from ' temp<16, 3, 8, 8> float16_t' to ' temp<16, 3, 16, 8> float16_t'
+ERROR: 0:46: 'assign' :  cannot convert from ' temp<16, 3, 8, 1> float16_t' to ' temp<16, 3, 8, 1> float16_t'
+ERROR: 0:49: 'constructor' : too many arguments 
+ERROR: 0:49: 'assign' :  cannot convert from ' const float' to ' temp<16, 3, 8, 8> float16_t'
+ERROR: 0:53: 'constructor' : Cooperative matrix constructor argument must be scalar or cooperative matrix 
+ERROR: 0:53: '=' :  cannot convert from ' const float' to ' temp<32, 3, 4, 4> highp float'
+ERROR: 0:56: 'expression' :  left of '[' is not of type array, matrix, or vector  
+ERROR: 0:59: '.' : cannot apply to a cooperative matrix type: x
+ERROR: 0:61: '*' :  wrong operand types: no operation '*' exists that takes a left-hand operand of type ' temp<16, 3, 16, 8> float16_t' and a right operand of type ' temp<16, 3, 16, 8> float16_t' (or there is no acceptable conversion)
+ERROR: 0:63: '+' :  wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp<16, 3, 16, 8> float16_t' and a right operand of type ' const float' (or there is no acceptable conversion)
+ERROR: 0:64: '-' :  wrong operand types: no operation '-' exists that takes a left-hand operand of type ' temp<16, 3, 16, 8> float16_t' and a right operand of type ' const float' (or there is no acceptable conversion)
+ERROR: 0:65: '/' :  wrong operand types: no operation '/' exists that takes a left-hand operand of type ' temp<16, 3, 16, 8> float16_t' and a right operand of type ' const float' (or there is no acceptable conversion)
+ERROR: 0:66: 'assign' :  cannot convert from ' const float' to ' temp<16, 3, 16, 8> float16_t'
+ERROR: 0:67: 'assign' :  cannot convert from ' const float' to ' temp<16, 3, 16, 8> float16_t'
+ERROR: 0:68: 'assign' :  cannot convert from ' const float' to ' temp<16, 3, 16, 8> float16_t'
+ERROR: 0:70: '*' :  wrong operand types: no operation '*' exists that takes a left-hand operand of type ' temp<16, 3, 16, 8> float16_t' and a right operand of type ' const float' (or there is no acceptable conversion)
+ERROR: 0:71: '*' :  wrong operand types: no operation '*' exists that takes a left-hand operand of type ' const float' and a right operand of type ' temp<16, 3, 16, 8> float16_t' (or there is no acceptable conversion)
+ERROR: 0:72: '*' :  wrong operand types: no operation '*' exists that takes a left-hand operand of type ' temp<32, 3, 16, 8> highp float' and a right operand of type ' const float16_t' (or there is no acceptable conversion)
+ERROR: 0:73: '*' :  wrong operand types: no operation '*' exists that takes a left-hand operand of type ' const float16_t' and a right operand of type ' temp<32, 3, 16, 8> highp float' (or there is no acceptable conversion)
+ERROR: 0:75: 'transpose' : no matching overloaded function found 
+ERROR: 30 compilation errors.  No code generated.
+
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.debugInfo.1.1.frag.out b/Test/baseResults/spv.debugInfo.1.1.frag.out
index eb3bcb4..afd8cfd 100644
--- a/Test/baseResults/spv.debugInfo.1.1.frag.out
+++ b/Test/baseResults/spv.debugInfo.1.1.frag.out
@@ -83,6 +83,7 @@
                               ModuleProcessed  "resource-set-binding 3"
                               ModuleProcessed  "auto-map-locations"
                               ModuleProcessed  "client opengl100"
+                              ModuleProcessed  "target-env spirv1.3"
                               ModuleProcessed  "target-env opengl"
                               ModuleProcessed  "relaxed-errors"
                               ModuleProcessed  "suppress-warnings"
diff --git a/Test/baseResults/spv.memoryScopeSemantics.comp.out b/Test/baseResults/spv.memoryScopeSemantics.comp.out
index 4c79a10..0de15ef 100644
--- a/Test/baseResults/spv.memoryScopeSemantics.comp.out
+++ b/Test/baseResults/spv.memoryScopeSemantics.comp.out
@@ -1,7 +1,7 @@
 spv.memoryScopeSemantics.comp
 // Module Version 10300
 // Generated by (magic number): 80007
-// Id's are bound by 143
+// Id's are bound by 148
 
                               Capability Shader
                               Capability Int64
@@ -43,6 +43,9 @@
                               Name 122  "samp"
                               Name 133  "atomu64"
                               Name 138  "atomi64"
+                              Name 143  "BufferL"
+                              MemberName 143(BufferL) 0  "x"
+                              Name 145  "bufferl"
                               Decorate 36(imagei) DescriptorSet 0
                               Decorate 36(imagei) Binding 1
                               Decorate 45(imageu) DescriptorSet 0
@@ -69,6 +72,10 @@
                               Decorate 110(imagej) Binding 5
                               Decorate 122(samp) DescriptorSet 0
                               Decorate 122(samp) Binding 6
+                              MemberDecorate 143(BufferL) 0 Offset 0
+                              Decorate 143(BufferL) Block
+                              Decorate 145(bufferl) DescriptorSet 0
+                              Decorate 145(bufferl) Binding 8
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
@@ -152,6 +159,9 @@
              137:             TypePointer Workgroup 136(int64_t)
     138(atomi64):    137(ptr) Variable Workgroup
              139:136(int64_t) Constant 10 0
+    143(BufferL):             TypeStruct 15(int)
+             144:             TypePointer StorageBuffer 143(BufferL)
+    145(bufferl):    144(ptr) Variable StorageBuffer
          4(main):           2 Function None 3
                5:             Label
         8(origi):      7(ptr) Variable Function
@@ -204,18 +214,18 @@
               81:     15(int) Load 80 MakePointerVisibleKHR NonPrivatePointerKHR 16
                               Store 72(y) 81
               88:     68(ptr) AccessChain 87(bufferj) 38 38 38 12
-              89:     15(int) Load 88 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 46
+              89:     15(int) Load 88 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
                               Store 72(y) 89
               90:     15(int) Load 72(y)
               91:     68(ptr) AccessChain 79(bufferi) 38
                               Store 91 90 MakePointerAvailableKHR NonPrivatePointerKHR 16
               92:     15(int) Load 72(y)
               93:     68(ptr) AccessChain 87(bufferj) 38 38 38 12
-                              Store 93 92 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 46
+                              Store 93 92 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
               95:     94(ptr) AccessChain 87(bufferj) 12 38
-              96:       83(A) Load 95 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 46
+              96:       83(A) Load 95 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
               97:     94(ptr) AccessChain 87(bufferj) 38 38
-                              Store 97 96 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 46
+                              Store 97 96 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
              102:    101(ptr) AccessChain 100(bufferk) 38
              103:     15(int) Load 102 NonPrivatePointerKHR 
              104:     68(ptr) AccessChain 79(bufferi) 38
@@ -236,5 +246,8 @@
              140:131(int64_t) Load 133(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26
              141:136(int64_t) Bitcast 140
              142:136(int64_t) AtomicCompareExchange 138(atomi64) 12 63 63 141 139
+             146:     68(ptr) AccessChain 145(bufferl) 38
+             147:     15(int) Load 146 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
+                              Store 72(y) 147
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.meshShaderBuiltins.mesh.out b/Test/baseResults/spv.meshShaderBuiltins.mesh.out
index 8090f7b..38d363b 100644
--- a/Test/baseResults/spv.meshShaderBuiltins.mesh.out
+++ b/Test/baseResults/spv.meshShaderBuiltins.mesh.out
@@ -1,7 +1,7 @@
 spv.meshShaderBuiltins.mesh
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 146
+// Id's are bound by 148
 
                               Capability ClipDistance
                               Capability CullDistance
@@ -14,7 +14,7 @@
                               Extension  "SPV_NV_viewport_array2"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint MeshNV 4  "main" 11 17 34 88 128 139 143
+                              EntryPoint MeshNV 4  "main" 11 17 34 88 129 142 146
                               ExecutionMode 4 LocalSize 32 1 1
                               ExecutionMode 4 OutputVertices 81
                               ExecutionMode 4 OutputPrimitivesNV 32
@@ -43,9 +43,9 @@
                               MemberName 84(gl_MeshPerPrimitiveNV) 4  "gl_LayerPerViewNV"
                               MemberName 84(gl_MeshPerPrimitiveNV) 5  "gl_ViewportMaskPerViewNV"
                               Name 88  "gl_MeshPrimitivesNV"
-                              Name 128  "gl_PrimitiveIndicesNV"
-                              Name 139  "gl_DrawID"
-                              Name 143  "gl_PrimitiveCountNV"
+                              Name 129  "gl_PrimitiveIndicesNV"
+                              Name 142  "gl_DrawID"
+                              Name 146  "gl_PrimitiveCountNV"
                               Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
                               Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
                               MemberDecorate 30(gl_MeshPerVertexNV) 0 BuiltIn Position
@@ -74,10 +74,10 @@
                               MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerViewNV
                               MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV
                               Decorate 84(gl_MeshPerPrimitiveNV) Block
-                              Decorate 128(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV
-                              Decorate 139(gl_DrawID) BuiltIn DrawIndex
-                              Decorate 143(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV
-                              Decorate 145 BuiltIn WorkgroupSize
+                              Decorate 129(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV
+                              Decorate 142(gl_DrawID) BuiltIn DrawIndex
+                              Decorate 146(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV
+                              Decorate 147 BuiltIn WorkgroupSize
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -130,17 +130,18 @@
               94:     36(int) Constant 7
               97:     36(int) Constant 8
              100:     36(int) Constant 9
-             126:             TypeArray 6(int) 31
-             127:             TypePointer Output 126
-128(gl_PrimitiveIndicesNV):    127(ptr) Variable Output
-             129:      6(int) Constant 257
-             130:             TypePointer Output 6(int)
-             138:             TypePointer Input 36(int)
-  139(gl_DrawID):    138(ptr) Variable Input
-             142:      6(int) Constant 16909060
-143(gl_PrimitiveCountNV):    130(ptr) Variable Output
-             144:      6(int) Constant 96
-             145:    9(ivec3) ConstantComposite 85 27 27
+             126:      6(int) Constant 96
+             127:             TypeArray 6(int) 126
+             128:             TypePointer Output 127
+129(gl_PrimitiveIndicesNV):    128(ptr) Variable Output
+             130:      6(int) Constant 257
+             131:             TypePointer Output 6(int)
+             133:     36(int) Constant 95
+             141:             TypePointer Input 36(int)
+  142(gl_DrawID):    141(ptr) Variable Input
+             145:      6(int) Constant 16909060
+146(gl_PrimitiveCountNV):    131(ptr) Variable Output
+             147:    9(ivec3) ConstantComposite 85 27 27
          4(main):           2 Function None 3
                5:             Label
           8(iid):      7(ptr) Variable Function
@@ -239,19 +240,21 @@
                               Store 125 124
                               MemoryBarrier 27 55
                               ControlBarrier 56 56 55
-             131:    130(ptr) AccessChain 128(gl_PrimitiveIndicesNV) 37
-                              Store 131 129
-             132:      6(int) Load 16(gid)
-             133:      6(int) Load 16(gid)
-             134:      6(int) ISub 133 27
-             135:    130(ptr) AccessChain 128(gl_PrimitiveIndicesNV) 134
-             136:      6(int) Load 135
-             137:    130(ptr) AccessChain 128(gl_PrimitiveIndicesNV) 132
-                              Store 137 136
-             140:     36(int) Load 139(gl_DrawID)
-             141:      6(int) Bitcast 140
-             142:         141 WritePackedPrimitiveIndices4x8NV
-                              Store 143(gl_PrimitiveCountNV) 144
+             132:    131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 37
+                              Store 132 130
+             134:    131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 133
+                              Store 134 56
+             135:      6(int) Load 16(gid)
+             136:      6(int) Load 16(gid)
+             137:      6(int) ISub 136 27
+             138:    131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 137
+             139:      6(int) Load 138
+             140:    131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 135
+                              Store 140 139
+             143:     36(int) Load 142(gl_DrawID)
+             144:      6(int) Bitcast 143
+             145:         144 WritePackedPrimitiveIndices4x8NV
+                              Store 146(gl_PrimitiveCountNV) 126
                               MemoryBarrier 27 55
                               ControlBarrier 56 56 55
                               Return
diff --git a/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out b/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out
index f4491c0..4afbef9 100644
--- a/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out
+++ b/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out
@@ -1,7 +1,7 @@
 spv.meshShaderRedeclBuiltins.mesh
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 120
+// Id's are bound by 129
 
                               Capability ClipDistance
                               Capability CullDistance
@@ -12,7 +12,7 @@
                               Extension  "SPV_NV_viewport_array2"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint MeshNV 4  "main" 11 17 28 81
+                              EntryPoint MeshNV 4  "main" 11 17 28 81 122 127
                               ExecutionMode 4 LocalSize 32 1 1
                               ExecutionMode 4 OutputVertices 81
                               ExecutionMode 4 OutputPrimitivesNV 32
@@ -36,6 +36,8 @@
                               MemberName 77(gl_MeshPerPrimitiveNV) 2  "gl_ViewportIndex"
                               MemberName 77(gl_MeshPerPrimitiveNV) 3  "gl_ViewportMask"
                               Name 81  "gl_MeshPrimitivesNV"
+                              Name 122  "gl_PrimitiveIndicesNV"
+                              Name 127  "gl_PrimitiveCountNV"
                               Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
                               Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
                               MemberDecorate 24(gl_MeshPerVertexNV) 0 BuiltIn Position
@@ -52,7 +54,9 @@
                               MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV
                               MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV
                               Decorate 77(gl_MeshPerPrimitiveNV) Block
-                              Decorate 119 BuiltIn WorkgroupSize
+                              Decorate 122(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV
+                              Decorate 127(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV
+                              Decorate 128 BuiltIn WorkgroupSize
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -98,7 +102,14 @@
               87:     30(int) Constant 7
               90:     30(int) Constant 8
               93:     30(int) Constant 9
-             119:    9(ivec3) ConstantComposite 78 49 49
+             119:      6(int) Constant 96
+             120:             TypeArray 6(int) 119
+             121:             TypePointer Output 120
+122(gl_PrimitiveIndicesNV):    121(ptr) Variable Output
+             123:             TypePointer Output 6(int)
+             125:     30(int) Constant 95
+127(gl_PrimitiveCountNV):    123(ptr) Variable Output
+             128:    9(ivec3) ConstantComposite 78 49 49
          4(main):           2 Function None 3
                5:             Label
           8(iid):      7(ptr) Variable Function
@@ -197,5 +208,10 @@
                               Store 118 117
                               MemoryBarrier 49 50
                               ControlBarrier 51 51 50
+             124:    123(ptr) AccessChain 122(gl_PrimitiveIndicesNV) 31
+                              Store 124 49
+             126:    123(ptr) AccessChain 122(gl_PrimitiveIndicesNV) 125
+                              Store 126 51
+                              Store 127(gl_PrimitiveCountNV) 119
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.meshTaskShader.task.out b/Test/baseResults/spv.meshTaskShader.task.out
index 517cbea..a835d7f 100644
--- a/Test/baseResults/spv.meshTaskShader.task.out
+++ b/Test/baseResults/spv.meshTaskShader.task.out
@@ -1,14 +1,14 @@
 spv.meshTaskShader.task
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 104
+// Id's are bound by 116
 
                               Capability StorageImageWriteWithoutFormat
                               Capability MeshShadingNV
                               Extension  "SPV_NV_mesh_shader"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint TaskNV 4  "main" 11 17 80 101
+                              EntryPoint TaskNV 4  "main" 11 17 24 25 90 113
                               ExecutionMode 4 LocalSize 32 1 1
                               Source GLSL 450
                               SourceExtension  "GL_NV_mesh_shader"
@@ -17,34 +17,42 @@
                               Name 11  "gl_LocalInvocationID"
                               Name 16  "gid"
                               Name 17  "gl_WorkGroupID"
-                              Name 20  "i"
-                              Name 34  "mem"
-                              Name 37  "block0"
-                              MemberName 37(block0) 0  "uni_value"
-                              Name 39  ""
-                              Name 55  "uni_image"
-                              Name 78  "Task"
-                              MemberName 78(Task) 0  "dummy"
-                              MemberName 78(Task) 1  "submesh"
-                              Name 80  "mytask"
-                              Name 101  "gl_TaskCountNV"
+                              Name 20  "viewID"
+                              Name 24  "gl_MeshViewIndicesNV"
+                              Name 25  "gl_MeshViewCountNV"
+                              Name 30  "i"
+                              Name 44  "mem"
+                              Name 47  "block0"
+                              MemberName 47(block0) 0  "uni_value"
+                              Name 49  ""
+                              Name 65  "uni_image"
+                              Name 88  "Task"
+                              MemberName 88(Task) 0  "dummy"
+                              MemberName 88(Task) 1  "submesh"
+                              MemberName 88(Task) 2  "viewID"
+                              Name 90  "mytask"
+                              Name 113  "gl_TaskCountNV"
                               Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
                               Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
-                              MemberDecorate 37(block0) 0 Offset 0
-                              Decorate 37(block0) Block
-                              Decorate 39 DescriptorSet 0
-                              Decorate 39 Binding 0
-                              Decorate 55(uni_image) DescriptorSet 0
-                              Decorate 55(uni_image) Binding 0
-                              Decorate 55(uni_image) NonReadable
-                              Decorate 77 ArrayStride 8
-                              MemberDecorate 78(Task) 0 PerTaskNV
-                              MemberDecorate 78(Task) 0 Offset 0
-                              MemberDecorate 78(Task) 1 PerTaskNV
-                              MemberDecorate 78(Task) 1 Offset 8
-                              Decorate 78(Task) Block
-                              Decorate 101(gl_TaskCountNV) BuiltIn TaskCountNV
-                              Decorate 103 BuiltIn WorkgroupSize
+                              Decorate 24(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
+                              Decorate 25(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
+                              MemberDecorate 47(block0) 0 Offset 0
+                              Decorate 47(block0) Block
+                              Decorate 49 DescriptorSet 0
+                              Decorate 49 Binding 0
+                              Decorate 65(uni_image) DescriptorSet 0
+                              Decorate 65(uni_image) Binding 0
+                              Decorate 65(uni_image) NonReadable
+                              Decorate 87 ArrayStride 8
+                              MemberDecorate 88(Task) 0 PerTaskNV
+                              MemberDecorate 88(Task) 0 Offset 0
+                              MemberDecorate 88(Task) 1 PerTaskNV
+                              MemberDecorate 88(Task) 1 Offset 8
+                              MemberDecorate 88(Task) 2 PerTaskNV
+                              MemberDecorate 88(Task) 2 Offset 32
+                              Decorate 88(Task) Block
+                              Decorate 113(gl_TaskCountNV) BuiltIn TaskCountNV
+                              Decorate 115 BuiltIn WorkgroupSize
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -55,119 +63,133 @@
               12:      6(int) Constant 0
               13:             TypePointer Input 6(int)
 17(gl_WorkGroupID):     10(ptr) Variable Input
-              27:      6(int) Constant 10
-              28:             TypeBool
-              30:             TypeFloat 32
-              31:             TypeVector 30(float) 4
-              32:             TypeArray 31(fvec4) 27
-              33:             TypePointer Workgroup 32
-         34(mem):     33(ptr) Variable Workgroup
-      37(block0):             TypeStruct 6(int)
-              38:             TypePointer Uniform 37(block0)
-              39:     38(ptr) Variable Uniform
-              40:             TypeInt 32 1
-              41:     40(int) Constant 0
-              42:             TypePointer Uniform 6(int)
-              48:             TypePointer Workgroup 31(fvec4)
-              51:     40(int) Constant 1
-              53:             TypeImage 30(float) 2D nonsampled format:Unknown
-              54:             TypePointer UniformConstant 53
-   55(uni_image):     54(ptr) Variable UniformConstant
-              59:             TypeVector 40(int) 2
-              69:      6(int) Constant 1
-              73:      6(int) Constant 264
-              74:      6(int) Constant 2
-              75:             TypeVector 30(float) 2
-              76:      6(int) Constant 3
-              77:             TypeArray 75(fvec2) 76
-        78(Task):             TypeStruct 75(fvec2) 77
-              79:             TypePointer Output 78(Task)
-      80(mytask):     79(ptr) Variable Output
-              81:   30(float) Constant 1106247680
-              82:   30(float) Constant 1106771968
-              83:   75(fvec2) ConstantComposite 81 82
-              84:             TypePointer Output 75(fvec2)
-              86:   30(float) Constant 1107296256
-              87:   30(float) Constant 1107558400
-              88:   75(fvec2) ConstantComposite 86 87
-              90:   30(float) Constant 1107820544
-              91:   30(float) Constant 1108082688
-              92:   75(fvec2) ConstantComposite 90 91
-              94:     40(int) Constant 2
-             100:             TypePointer Output 6(int)
-101(gl_TaskCountNV):    100(ptr) Variable Output
-             102:      6(int) Constant 32
-             103:    9(ivec3) ConstantComposite 102 69 69
+              21:      6(int) Constant 4
+              22:             TypeArray 6(int) 21
+              23:             TypePointer Input 22
+24(gl_MeshViewIndicesNV):     23(ptr) Variable Input
+25(gl_MeshViewCountNV):     13(ptr) Variable Input
+              37:      6(int) Constant 10
+              38:             TypeBool
+              40:             TypeFloat 32
+              41:             TypeVector 40(float) 4
+              42:             TypeArray 41(fvec4) 37
+              43:             TypePointer Workgroup 42
+         44(mem):     43(ptr) Variable Workgroup
+      47(block0):             TypeStruct 6(int)
+              48:             TypePointer Uniform 47(block0)
+              49:     48(ptr) Variable Uniform
+              50:             TypeInt 32 1
+              51:     50(int) Constant 0
+              52:             TypePointer Uniform 6(int)
+              58:             TypePointer Workgroup 41(fvec4)
+              61:     50(int) Constant 1
+              63:             TypeImage 40(float) 2D nonsampled format:Unknown
+              64:             TypePointer UniformConstant 63
+   65(uni_image):     64(ptr) Variable UniformConstant
+              69:             TypeVector 50(int) 2
+              79:      6(int) Constant 1
+              83:      6(int) Constant 264
+              84:      6(int) Constant 2
+              85:             TypeVector 40(float) 2
+              86:      6(int) Constant 3
+              87:             TypeArray 85(fvec2) 86
+        88(Task):             TypeStruct 85(fvec2) 87 6(int)
+              89:             TypePointer Output 88(Task)
+      90(mytask):     89(ptr) Variable Output
+              91:   40(float) Constant 1106247680
+              92:   40(float) Constant 1106771968
+              93:   85(fvec2) ConstantComposite 91 92
+              94:             TypePointer Output 85(fvec2)
+              96:   40(float) Constant 1107296256
+              97:   40(float) Constant 1107558400
+              98:   85(fvec2) ConstantComposite 96 97
+             100:   40(float) Constant 1107820544
+             101:   40(float) Constant 1108082688
+             102:   85(fvec2) ConstantComposite 100 101
+             104:     50(int) Constant 2
+             111:             TypePointer Output 6(int)
+113(gl_TaskCountNV):    111(ptr) Variable Output
+             114:      6(int) Constant 32
+             115:    9(ivec3) ConstantComposite 114 79 79
          4(main):           2 Function None 3
                5:             Label
           8(iid):      7(ptr) Variable Function
          16(gid):      7(ptr) Variable Function
-           20(i):      7(ptr) Variable Function
+      20(viewID):      7(ptr) Variable Function
+           30(i):      7(ptr) Variable Function
               14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
               15:      6(int) Load 14
                               Store 8(iid) 15
               18:     13(ptr) AccessChain 17(gl_WorkGroupID) 12
               19:      6(int) Load 18
                               Store 16(gid) 19
-                              Store 20(i) 12
-                              Branch 21
-              21:             Label
-                              LoopMerge 23 24 None
-                              Branch 25
-              25:             Label
-              26:      6(int) Load 20(i)
-              29:    28(bool) ULessThan 26 27
-                              BranchConditional 29 22 23
-              22:               Label
-              35:      6(int)   Load 20(i)
-              36:      6(int)   Load 20(i)
-              43:     42(ptr)   AccessChain 39 41
-              44:      6(int)   Load 43
-              45:      6(int)   IAdd 36 44
-              46:   30(float)   ConvertUToF 45
-              47:   31(fvec4)   CompositeConstruct 46 46 46 46
-              49:     48(ptr)   AccessChain 34(mem) 35
-                                Store 49 47
-                                Branch 24
-              24:               Label
-              50:      6(int)   Load 20(i)
-              52:      6(int)   IAdd 50 51
-                                Store 20(i) 52
-                                Branch 21
-              23:             Label
-              56:          53 Load 55(uni_image)
-              57:      6(int) Load 8(iid)
-              58:     40(int) Bitcast 57
-              60:   59(ivec2) CompositeConstruct 58 58
-              61:      6(int) Load 16(gid)
-              62:     48(ptr) AccessChain 34(mem) 61
-              63:   31(fvec4) Load 62
-                              ImageWrite 56 60 63
-              64:          53 Load 55(uni_image)
-              65:      6(int) Load 8(iid)
-              66:     40(int) Bitcast 65
-              67:   59(ivec2) CompositeConstruct 66 66
-              68:      6(int) Load 16(gid)
-              70:      6(int) IAdd 68 69
-              71:     48(ptr) AccessChain 34(mem) 70
-              72:   31(fvec4) Load 71
-                              ImageWrite 64 67 72
-                              MemoryBarrier 69 73
-                              ControlBarrier 74 74 73
-              85:     84(ptr) AccessChain 80(mytask) 41
-                              Store 85 83
-              89:     84(ptr) AccessChain 80(mytask) 51 41
-                              Store 89 88
-              93:     84(ptr) AccessChain 80(mytask) 51 51
-                              Store 93 92
-              95:      6(int) Load 16(gid)
-              96:      6(int) UMod 95 74
-              97:     84(ptr) AccessChain 80(mytask) 51 96
-              98:   75(fvec2) Load 97
-              99:     84(ptr) AccessChain 80(mytask) 51 94
+              26:      6(int) Load 25(gl_MeshViewCountNV)
+              27:      6(int) UMod 26 21
+              28:     13(ptr) AccessChain 24(gl_MeshViewIndicesNV) 27
+              29:      6(int) Load 28
+                              Store 20(viewID) 29
+                              Store 30(i) 12
+                              Branch 31
+              31:             Label
+                              LoopMerge 33 34 None
+                              Branch 35
+              35:             Label
+              36:      6(int) Load 30(i)
+              39:    38(bool) ULessThan 36 37
+                              BranchConditional 39 32 33
+              32:               Label
+              45:      6(int)   Load 30(i)
+              46:      6(int)   Load 30(i)
+              53:     52(ptr)   AccessChain 49 51
+              54:      6(int)   Load 53
+              55:      6(int)   IAdd 46 54
+              56:   40(float)   ConvertUToF 55
+              57:   41(fvec4)   CompositeConstruct 56 56 56 56
+              59:     58(ptr)   AccessChain 44(mem) 45
+                                Store 59 57
+                                Branch 34
+              34:               Label
+              60:      6(int)   Load 30(i)
+              62:      6(int)   IAdd 60 61
+                                Store 30(i) 62
+                                Branch 31
+              33:             Label
+              66:          63 Load 65(uni_image)
+              67:      6(int) Load 8(iid)
+              68:     50(int) Bitcast 67
+              70:   69(ivec2) CompositeConstruct 68 68
+              71:      6(int) Load 16(gid)
+              72:     58(ptr) AccessChain 44(mem) 71
+              73:   41(fvec4) Load 72
+                              ImageWrite 66 70 73
+              74:          63 Load 65(uni_image)
+              75:      6(int) Load 8(iid)
+              76:     50(int) Bitcast 75
+              77:   69(ivec2) CompositeConstruct 76 76
+              78:      6(int) Load 16(gid)
+              80:      6(int) IAdd 78 79
+              81:     58(ptr) AccessChain 44(mem) 80
+              82:   41(fvec4) Load 81
+                              ImageWrite 74 77 82
+                              MemoryBarrier 79 83
+                              ControlBarrier 84 84 83
+              95:     94(ptr) AccessChain 90(mytask) 51
+                              Store 95 93
+              99:     94(ptr) AccessChain 90(mytask) 61 51
                               Store 99 98
-                              MemoryBarrier 69 73
-                              ControlBarrier 74 74 73
-                              Store 101(gl_TaskCountNV) 76
+             103:     94(ptr) AccessChain 90(mytask) 61 61
+                              Store 103 102
+             105:      6(int) Load 16(gid)
+             106:      6(int) UMod 105 84
+             107:     94(ptr) AccessChain 90(mytask) 61 106
+             108:   85(fvec2) Load 107
+             109:     94(ptr) AccessChain 90(mytask) 61 104
+                              Store 109 108
+             110:      6(int) Load 20(viewID)
+             112:    111(ptr) AccessChain 90(mytask) 104
+                              Store 112 110
+                              MemoryBarrier 79 83
+                              ControlBarrier 84 84 83
+                              Store 113(gl_TaskCountNV) 86
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.subgroupPartitioned.comp.out b/Test/baseResults/spv.subgroupPartitioned.comp.out
index ab4e0c2..742e5bc 100644
--- a/Test/baseResults/spv.subgroupPartitioned.comp.out
+++ b/Test/baseResults/spv.subgroupPartitioned.comp.out
@@ -1,5 +1,4 @@
 spv.subgroupPartitioned.comp
-Validation failed
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 2506
diff --git a/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out b/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out
index 7eb4593..668d24a 100644
--- a/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out
+++ b/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out
@@ -27,16 +27,14 @@
                               Name 34  ""
                               Name 38  "gl_VertexID"
                               Name 39  "gl_InstanceID"
-                              MemberDecorate 7(S) 0 Offset 16
-                              MemberDecorate 7(S) 1 Offset 20
                               Decorate 9(s1) Location 0
                               Decorate 9(s1) XfbBuffer 2
                               Decorate 9(s1) XfbStride 24
-                              MemberDecorate 19(S2) 0 Offset 8
-                              MemberDecorate 19(S2) 1 Offset 12
+                              Decorate 9(s1) Offset 16
                               Decorate 21(s2) Location 5
                               Decorate 21(s2) XfbBuffer 1
                               Decorate 21(s2) XfbStride 28
+                              Decorate 21(s2) Offset 8
                               MemberDecorate 32(gl_PerVertex) 0 BuiltIn Position
                               MemberDecorate 32(gl_PerVertex) 1 BuiltIn PointSize
                               MemberDecorate 32(gl_PerVertex) 2 BuiltIn ClipDistance
diff --git a/Test/baseResults/vulkan.vert.out b/Test/baseResults/vulkan.vert.out
index 19fdade..6bfa188 100644
--- a/Test/baseResults/vulkan.vert.out
+++ b/Test/baseResults/vulkan.vert.out
@@ -30,14 +30,11 @@
 ERROR: 0:34: '=' : can't use with types containing arrays sized with a specialization constant 
 ERROR: 0:35: '==' : can't use with types containing arrays sized with a specialization constant 
 ERROR: 0:39: 'set' : cannot be used with push_constant 
-ERROR: 0:49: '[]' : only outermost dimension of an array of arrays can be a specialization constant 
-ERROR: 0:50: '[]' : only outermost dimension of an array of arrays can be a specialization constant 
-ERROR: 0:51: '[]' : only outermost dimension of an array of arrays can be a specialization constant 
 ERROR: 0:54: '[]' : only outermost dimension of an array of arrays can be a specialization constant 
 ERROR: 0:54: 'location' : SPIR-V requires location for user input/output 
 ERROR: 0:58: 'location' : SPIR-V requires location for user input/output 
 ERROR: 0:65: 'location' : overlapping use of location 10
-ERROR: 38 compilation errors.  No code generated.
+ERROR: 35 compilation errors.  No code generated.
 
 
 SPIR-V is not generated for failed compile or link
diff --git a/Test/cppBad.vert b/Test/cppBad.vert
index 0044c44..c1548c8 100644
--- a/Test/cppBad.vert
+++ b/Test/cppBad.vert
@@ -1,4 +1,5 @@
-#define m#0#

+#define n#0#

+#define m #0#

 #if m

 #endif

 #define n()

diff --git a/Test/cppBad3.vert b/Test/cppBad3.vert
new file mode 100644
index 0000000..95343db
--- /dev/null
+++ b/Test/cppBad3.vert
@@ -0,0 +1,3 @@
+#define f =y(.
+#define y(m)
+y(f)
\ No newline at end of file
diff --git a/Test/cppBad4.vert b/Test/cppBad4.vert
new file mode 100755
index 0000000..ca43841
--- /dev/null
+++ b/Test/cppBad4.vert
@@ -0,0 +1,4 @@
+int,i=
+#define f g(#g(y
+#define g(m)
+g(f)
diff --git a/Test/cppBad5.vert b/Test/cppBad5.vert
new file mode 100755
index 0000000..9ae5056
--- /dev/null
+++ b/Test/cppBad5.vert
@@ -0,0 +1,4 @@
+int,i=
+#define f g($g(y
+#define g(m)
+g(f)
diff --git a/Test/cppMerge.frag b/Test/cppMerge.frag
new file mode 100755
index 0000000..a499f84
--- /dev/null
+++ b/Test/cppMerge.frag
@@ -0,0 +1,24 @@
+#version 450 core
+
+#define PASTER2(type, suffix) type##suffix
+#define PASTER3(type, suffix) type## suffix
+#define MAKE_TYPE1 image1D dest ## 1;
+#define MAKE_TYPE2(type, suffix) PASTER2(type, suffix)
+#define MAKE_TYPE3(type, suffix) PASTER3(type, suffix)
+
+#define PREFIX image
+#define PREFIX3 imag
+#define SUFFIX2 1D
+#define SUFFIX3 e1 D
+
+#define RESOURCE_TYPE1 MAKE_TYPE1
+#define RESOURCE_TYPE2 MAKE_TYPE2(PREFIX, SUFFIX2)
+#define RESOURCE_TYPE3 MAKE_TYPE3(PREFIX3, SUFFIX3)
+
+layout (set = 0, binding = 0) uniform writeonly RESOURCE_TYPE1
+layout (set = 0, binding = 0) uniform writeonly RESOURCE_TYPE2 dest2;
+layout (set = 0, binding = 0) uniform writeonly RESOURCE_TYPE3 dest3;
+
+void main()
+{
+}
\ No newline at end of file
diff --git a/Test/glsl.450.subgroup.frag b/Test/glsl.450.subgroup.frag
new file mode 100644
index 0000000..520052f
--- /dev/null
+++ b/Test/glsl.450.subgroup.frag
@@ -0,0 +1,7 @@
+#version 450

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(location = 0) out uvec4 data;

+void main (void)

+{

+  data = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}

diff --git a/Test/glsl.450.subgroup.geom b/Test/glsl.450.subgroup.geom
new file mode 100644
index 0000000..70e9dd4
--- /dev/null
+++ b/Test/glsl.450.subgroup.geom
@@ -0,0 +1,13 @@
+#version 450

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(points) in;

+layout(points, max_vertices = 1) out;

+layout(set = 0, binding = 0, std430) buffer Output

+{

+  uvec4 result[];

+};

+

+void main (void)

+{

+  result[gl_PrimitiveIDIn] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}

diff --git a/Test/glsl.450.subgroup.tesc b/Test/glsl.450.subgroup.tesc
new file mode 100644
index 0000000..63bf5e5
--- /dev/null
+++ b/Test/glsl.450.subgroup.tesc
@@ -0,0 +1,12 @@
+#version 450

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(vertices=1) out;

+layout(set = 0, binding = 0, std430) buffer Output

+{

+  uvec4 result[];

+};

+

+void main (void)

+{

+  result[gl_PrimitiveID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}

diff --git a/Test/glsl.450.subgroup.tese b/Test/glsl.450.subgroup.tese
new file mode 100644
index 0000000..e504df7
--- /dev/null
+++ b/Test/glsl.450.subgroup.tese
@@ -0,0 +1,12 @@
+#version 450

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(isolines) in;

+layout(set = 0, binding = 0, std430) buffer Output

+{

+  uvec4 result[];

+};

+

+void main (void)

+{

+  result[gl_PrimitiveID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}

diff --git a/Test/glsl.450.subgroup.vert b/Test/glsl.450.subgroup.vert
new file mode 100644
index 0000000..a6f0a9d
--- /dev/null
+++ b/Test/glsl.450.subgroup.vert
@@ -0,0 +1,11 @@
+#version 450

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(set = 0, binding = 0, std430) buffer Output

+{

+  uvec4 result[];

+};

+

+void main (void)

+{

+  result[gl_VertexID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}

diff --git a/Test/glsl.450.subgroupArithmetic.comp b/Test/glsl.450.subgroupArithmetic.comp
new file mode 100644
index 0000000..6cc9337
--- /dev/null
+++ b/Test/glsl.450.subgroupArithmetic.comp
@@ -0,0 +1,393 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_arithmetic: enable

+

+layout (local_size_x = 8) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    dvec4 d4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;

+

+    data[invocation].f4.x   = subgroupAdd(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupAdd(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupAdd(data[2].f4.xyz);

+    data[invocation].f4     = subgroupAdd(data[3].f4);

+

+    data[invocation].i4.x   = subgroupAdd(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupAdd(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupAdd(data[2].i4.xyz);

+    data[invocation].i4     = subgroupAdd(data[3].i4);

+

+    data[invocation].u4.x   = subgroupAdd(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupAdd(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupAdd(data[2].u4.xyz);

+    data[invocation].u4     = subgroupAdd(data[3].u4);

+

+    data[invocation].d4.x   = subgroupAdd(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupAdd(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupAdd(data[2].d4.xyz);

+    data[invocation].d4     = subgroupAdd(data[3].d4);

+

+    data[invocation].f4.x   = subgroupMul(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupMul(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupMul(data[2].f4.xyz);

+    data[invocation].f4     = subgroupMul(data[3].f4);

+

+    data[invocation].i4.x   = subgroupMul(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupMul(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupMul(data[2].i4.xyz);

+    data[invocation].i4     = subgroupMul(data[3].i4);

+

+    data[invocation].u4.x   = subgroupMul(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupMul(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupMul(data[2].u4.xyz);

+    data[invocation].u4     = subgroupMul(data[3].u4);

+

+    data[invocation].d4.x   = subgroupMul(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupMul(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupMul(data[2].d4.xyz);

+    data[invocation].d4     = subgroupMul(data[3].d4);

+

+    data[invocation].f4.x   = subgroupMin(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupMin(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupMin(data[2].f4.xyz);

+    data[invocation].f4     = subgroupMin(data[3].f4);

+

+    data[invocation].i4.x   = subgroupMin(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupMin(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupMin(data[2].i4.xyz);

+    data[invocation].i4     = subgroupMin(data[3].i4);

+

+    data[invocation].u4.x   = subgroupMin(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupMin(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupMin(data[2].u4.xyz);

+    data[invocation].u4     = subgroupMin(data[3].u4);

+

+    data[invocation].d4.x   = subgroupMin(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupMin(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupMin(data[2].d4.xyz);

+    data[invocation].d4     = subgroupMin(data[3].d4);

+

+    data[invocation].f4.x   = subgroupMax(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupMax(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupMax(data[2].f4.xyz);

+    data[invocation].f4     = subgroupMax(data[3].f4);

+

+    data[invocation].i4.x   = subgroupMax(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupMax(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupMax(data[2].i4.xyz);

+    data[invocation].i4     = subgroupMax(data[3].i4);

+

+    data[invocation].u4.x   = subgroupMax(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupMax(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupMax(data[2].u4.xyz);

+    data[invocation].u4     = subgroupMax(data[3].u4);

+

+    data[invocation].d4.x   = subgroupMax(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupMax(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupMax(data[2].d4.xyz);

+    data[invocation].d4     = subgroupMax(data[3].d4);

+

+    data[invocation].i4.x   = subgroupAnd(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupAnd(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupAnd(data[2].i4.xyz);

+    data[invocation].i4     = subgroupAnd(data[3].i4);

+

+    data[invocation].u4.x   = subgroupAnd(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupAnd(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupAnd(data[2].u4.xyz);

+    data[invocation].u4     = subgroupAnd(data[3].u4);

+

+    data[invocation].i4.x   =   int(subgroupAnd(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupAnd(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupAnd(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupAnd(lessThan(data[1].i4, ivec4(0))));

+

+    data[invocation].i4.x   = subgroupOr(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupOr(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupOr(data[2].i4.xyz);

+    data[invocation].i4     = subgroupOr(data[3].i4);

+

+    data[invocation].u4.x   = subgroupOr(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupOr(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupOr(data[2].u4.xyz);

+    data[invocation].u4     = subgroupOr(data[3].u4);

+

+    data[invocation].i4.x   =   int(subgroupOr(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupOr(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupOr(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupOr(lessThan(data[1].i4, ivec4(0))));

+

+    data[invocation].i4.x   = subgroupXor(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupXor(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupXor(data[2].i4.xyz);

+    data[invocation].i4     = subgroupXor(data[3].i4);

+

+    data[invocation].u4.x   = subgroupXor(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupXor(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupXor(data[2].u4.xyz);

+    data[invocation].u4     = subgroupXor(data[3].u4);

+

+    data[invocation].i4.x   =   int(subgroupXor(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupXor(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupXor(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupXor(lessThan(data[1].i4, ivec4(0))));

+

+    data[invocation].f4.x   = subgroupInclusiveAdd(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupInclusiveAdd(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupInclusiveAdd(data[2].f4.xyz);

+    data[invocation].f4     = subgroupInclusiveAdd(data[3].f4);

+

+    data[invocation].i4.x   = subgroupInclusiveAdd(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupInclusiveAdd(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupInclusiveAdd(data[2].i4.xyz);

+    data[invocation].i4     = subgroupInclusiveAdd(data[3].i4);

+

+    data[invocation].u4.x   = subgroupInclusiveAdd(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupInclusiveAdd(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupInclusiveAdd(data[2].u4.xyz);

+    data[invocation].u4     = subgroupInclusiveAdd(data[3].u4);

+

+    data[invocation].d4.x   = subgroupInclusiveAdd(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupInclusiveAdd(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupInclusiveAdd(data[2].d4.xyz);

+    data[invocation].d4     = subgroupInclusiveAdd(data[3].d4);

+

+    data[invocation].f4.x   = subgroupInclusiveMul(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupInclusiveMul(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupInclusiveMul(data[2].f4.xyz);

+    data[invocation].f4     = subgroupInclusiveMul(data[3].f4);

+

+    data[invocation].i4.x   = subgroupInclusiveMul(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupInclusiveMul(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupInclusiveMul(data[2].i4.xyz);

+    data[invocation].i4     = subgroupInclusiveMul(data[3].i4);

+

+    data[invocation].u4.x   = subgroupInclusiveMul(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupInclusiveMul(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupInclusiveMul(data[2].u4.xyz);

+    data[invocation].u4     = subgroupInclusiveMul(data[3].u4);

+

+    data[invocation].d4.x   = subgroupInclusiveMul(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupInclusiveMul(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupInclusiveMul(data[2].d4.xyz);

+    data[invocation].d4     = subgroupInclusiveMul(data[3].d4);

+

+    data[invocation].f4.x   = subgroupInclusiveMin(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupInclusiveMin(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupInclusiveMin(data[2].f4.xyz);

+    data[invocation].f4     = subgroupInclusiveMin(data[3].f4);

+

+    data[invocation].i4.x   = subgroupInclusiveMin(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupInclusiveMin(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupInclusiveMin(data[2].i4.xyz);

+    data[invocation].i4     = subgroupInclusiveMin(data[3].i4);

+

+    data[invocation].u4.x   = subgroupInclusiveMin(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupInclusiveMin(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupInclusiveMin(data[2].u4.xyz);

+    data[invocation].u4     = subgroupInclusiveMin(data[3].u4);

+

+    data[invocation].d4.x   = subgroupInclusiveMin(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupInclusiveMin(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupInclusiveMin(data[2].d4.xyz);

+    data[invocation].d4     = subgroupInclusiveMin(data[3].d4);

+

+    data[invocation].f4.x   = subgroupInclusiveMax(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupInclusiveMax(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupInclusiveMax(data[2].f4.xyz);

+    data[invocation].f4     = subgroupInclusiveMax(data[3].f4);

+

+    data[invocation].i4.x   = subgroupInclusiveMax(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupInclusiveMax(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupInclusiveMax(data[2].i4.xyz);

+    data[invocation].i4     = subgroupInclusiveMax(data[3].i4);

+

+    data[invocation].u4.x   = subgroupInclusiveMax(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupInclusiveMax(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupInclusiveMax(data[2].u4.xyz);

+    data[invocation].u4     = subgroupInclusiveMax(data[3].u4);

+

+    data[invocation].d4.x   = subgroupInclusiveMax(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupInclusiveMax(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupInclusiveMax(data[2].d4.xyz);

+    data[invocation].d4     = subgroupInclusiveMax(data[3].d4);

+

+    data[invocation].i4.x   = subgroupInclusiveAnd(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupInclusiveAnd(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupInclusiveAnd(data[2].i4.xyz);

+    data[invocation].i4     = subgroupInclusiveAnd(data[3].i4);

+

+    data[invocation].u4.x   = subgroupInclusiveAnd(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupInclusiveAnd(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupInclusiveAnd(data[2].u4.xyz);

+    data[invocation].u4     = subgroupInclusiveAnd(data[3].u4);

+

+    data[invocation].i4.x   =   int(subgroupInclusiveAnd(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupInclusiveAnd(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupInclusiveAnd(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupInclusiveAnd(lessThan(data[1].i4, ivec4(0))));

+

+    data[invocation].i4.x   = subgroupInclusiveOr(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupInclusiveOr(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupInclusiveOr(data[2].i4.xyz);

+    data[invocation].i4     = subgroupInclusiveOr(data[3].i4);

+

+    data[invocation].u4.x   = subgroupInclusiveOr(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupInclusiveOr(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupInclusiveOr(data[2].u4.xyz);

+    data[invocation].u4     = subgroupInclusiveOr(data[3].u4);

+

+    data[invocation].i4.x   =   int(subgroupInclusiveOr(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupInclusiveOr(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupInclusiveOr(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupInclusiveOr(lessThan(data[1].i4, ivec4(0))));

+

+    data[invocation].i4.x   = subgroupInclusiveXor(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupInclusiveXor(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupInclusiveXor(data[2].i4.xyz);

+    data[invocation].i4     = subgroupInclusiveXor(data[3].i4);

+

+    data[invocation].u4.x   = subgroupInclusiveXor(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupInclusiveXor(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupInclusiveXor(data[2].u4.xyz);

+    data[invocation].u4     = subgroupInclusiveXor(data[3].u4);

+

+    data[invocation].i4.x   =   int(subgroupInclusiveXor(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupInclusiveXor(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupInclusiveXor(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupInclusiveXor(lessThan(data[1].i4, ivec4(0))));

+

+    data[invocation].f4.x   = subgroupExclusiveAdd(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupExclusiveAdd(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupExclusiveAdd(data[2].f4.xyz);

+    data[invocation].f4     = subgroupExclusiveAdd(data[3].f4);

+

+    data[invocation].i4.x   = subgroupExclusiveAdd(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupExclusiveAdd(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupExclusiveAdd(data[2].i4.xyz);

+    data[invocation].i4     = subgroupExclusiveAdd(data[3].i4);

+

+    data[invocation].u4.x   = subgroupExclusiveAdd(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupExclusiveAdd(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupExclusiveAdd(data[2].u4.xyz);

+    data[invocation].u4     = subgroupExclusiveAdd(data[3].u4);

+

+    data[invocation].d4.x   = subgroupExclusiveAdd(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupExclusiveAdd(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupExclusiveAdd(data[2].d4.xyz);

+    data[invocation].d4     = subgroupExclusiveAdd(data[3].d4);

+

+    data[invocation].f4.x   = subgroupExclusiveMul(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupExclusiveMul(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupExclusiveMul(data[2].f4.xyz);

+    data[invocation].f4     = subgroupExclusiveMul(data[3].f4);

+

+    data[invocation].i4.x   = subgroupExclusiveMul(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupExclusiveMul(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupExclusiveMul(data[2].i4.xyz);

+    data[invocation].i4     = subgroupExclusiveMul(data[3].i4);

+

+    data[invocation].u4.x   = subgroupExclusiveMul(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupExclusiveMul(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupExclusiveMul(data[2].u4.xyz);

+    data[invocation].u4     = subgroupExclusiveMul(data[3].u4);

+

+    data[invocation].d4.x   = subgroupExclusiveMul(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupExclusiveMul(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupExclusiveMul(data[2].d4.xyz);

+    data[invocation].d4     = subgroupExclusiveMul(data[3].d4);

+

+    data[invocation].f4.x   = subgroupExclusiveMin(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupExclusiveMin(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupExclusiveMin(data[2].f4.xyz);

+    data[invocation].f4     = subgroupExclusiveMin(data[3].f4);

+

+    data[invocation].i4.x   = subgroupExclusiveMin(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupExclusiveMin(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupExclusiveMin(data[2].i4.xyz);

+    data[invocation].i4     = subgroupExclusiveMin(data[3].i4);

+

+    data[invocation].u4.x   = subgroupExclusiveMin(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupExclusiveMin(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupExclusiveMin(data[2].u4.xyz);

+    data[invocation].u4     = subgroupExclusiveMin(data[3].u4);

+

+    data[invocation].d4.x   = subgroupExclusiveMin(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupExclusiveMin(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupExclusiveMin(data[2].d4.xyz);

+    data[invocation].d4     = subgroupExclusiveMin(data[3].d4);

+

+    data[invocation].f4.x   = subgroupExclusiveMax(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupExclusiveMax(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupExclusiveMax(data[2].f4.xyz);

+    data[invocation].f4     = subgroupExclusiveMax(data[3].f4);

+

+    data[invocation].i4.x   = subgroupExclusiveMax(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupExclusiveMax(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupExclusiveMax(data[2].i4.xyz);

+    data[invocation].i4     = subgroupExclusiveMax(data[3].i4);

+

+    data[invocation].u4.x   = subgroupExclusiveMax(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupExclusiveMax(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupExclusiveMax(data[2].u4.xyz);

+    data[invocation].u4     = subgroupExclusiveMax(data[3].u4);

+

+    data[invocation].d4.x   = subgroupExclusiveMax(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupExclusiveMax(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupExclusiveMax(data[2].d4.xyz);

+    data[invocation].d4     = subgroupExclusiveMax(data[3].d4);

+

+    data[invocation].i4.x   = subgroupExclusiveAnd(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupExclusiveAnd(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupExclusiveAnd(data[2].i4.xyz);

+    data[invocation].i4     = subgroupExclusiveAnd(data[3].i4);

+

+    data[invocation].u4.x   = subgroupExclusiveAnd(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupExclusiveAnd(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupExclusiveAnd(data[2].u4.xyz);

+    data[invocation].u4     = subgroupExclusiveAnd(data[3].u4);

+

+    data[invocation].i4.x   =   int(subgroupExclusiveAnd(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupExclusiveAnd(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupExclusiveAnd(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupExclusiveAnd(lessThan(data[1].i4, ivec4(0))));

+

+    data[invocation].i4.x   = subgroupExclusiveOr(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupExclusiveOr(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupExclusiveOr(data[2].i4.xyz);

+    data[invocation].i4     = subgroupExclusiveOr(data[3].i4);

+

+    data[invocation].u4.x   = subgroupExclusiveOr(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupExclusiveOr(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupExclusiveOr(data[2].u4.xyz);

+    data[invocation].u4     = subgroupExclusiveOr(data[3].u4);

+

+    data[invocation].i4.x   =   int(subgroupExclusiveOr(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupExclusiveOr(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupExclusiveOr(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupExclusiveOr(lessThan(data[1].i4, ivec4(0))));

+

+    data[invocation].i4.x   = subgroupExclusiveXor(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupExclusiveXor(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupExclusiveXor(data[2].i4.xyz);

+    data[invocation].i4     = subgroupExclusiveXor(data[3].i4);

+

+    data[invocation].u4.x   = subgroupExclusiveXor(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupExclusiveXor(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupExclusiveXor(data[2].u4.xyz);

+    data[invocation].u4     = subgroupExclusiveXor(data[3].u4);

+

+    data[invocation].i4.x   =   int(subgroupExclusiveXor(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupExclusiveXor(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupExclusiveXor(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupExclusiveXor(lessThan(data[1].i4, ivec4(0))));

+}

diff --git a/Test/glsl.450.subgroupBallot.comp b/Test/glsl.450.subgroupBallot.comp
new file mode 100644
index 0000000..bb9dc3e
--- /dev/null
+++ b/Test/glsl.450.subgroupBallot.comp
@@ -0,0 +1,86 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_ballot: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    dvec4 d4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;

+

+    uvec4 relMask = gl_SubgroupEqMask +

+                       gl_SubgroupGeMask +

+                       gl_SubgroupGtMask +

+                       gl_SubgroupLeMask +

+                       gl_SubgroupLtMask;

+

+    uvec4 result = subgroupBallot(true);

+

+    data[invocation].u4.x = subgroupBallotBitCount(result);

+    data[invocation].u4.y = subgroupBallotBitExtract(result, 0) ? 1 : 0;

+    data[invocation].u4.z = subgroupBallotInclusiveBitCount(result) + subgroupBallotExclusiveBitCount(result);

+    data[invocation].u4.w = subgroupBallotFindLSB(result) + subgroupBallotFindMSB(result);

+

+    if ((relMask == result) && subgroupInverseBallot(data[0].u4))

+    {

+        data[invocation].f4.x   = subgroupBroadcast(data[0].f4.x,    3);

+        data[invocation].f4.xy  = subgroupBroadcast(data[1].f4.xy,   3);

+        data[invocation].f4.xyz = subgroupBroadcast(data[2].f4.xyz,  3);

+        data[invocation].f4     = subgroupBroadcast(data[3].f4,      3);

+

+        data[invocation].i4.x   = subgroupBroadcast(data[0].i4.x,    2);

+        data[invocation].i4.xy  = subgroupBroadcast(data[1].i4.xy,   2);

+        data[invocation].i4.xyz = subgroupBroadcast(data[2].i4.xyz,  2);

+        data[invocation].i4     = subgroupBroadcast(data[3].i4,      2);

+

+        data[invocation].u4.x   = subgroupBroadcast(data[0].u4.x,    1);

+        data[invocation].u4.xy  = subgroupBroadcast(data[1].u4.xy,   1);

+        data[invocation].u4.xyz = subgroupBroadcast(data[2].u4.xyz,  1);

+        data[invocation].u4     = subgroupBroadcast(data[3].u4,      1);

+

+        data[invocation].d4.x   = subgroupBroadcast(data[0].d4.x,    0);

+        data[invocation].d4.xy  = subgroupBroadcast(data[1].d4.xy,   0);

+        data[invocation].d4.xyz = subgroupBroadcast(data[2].d4.xyz,  0);

+        data[invocation].d4     = subgroupBroadcast(data[3].d4,      0);

+

+        data[invocation].i4.x   = int(subgroupBroadcast(data[0].i4.x < 0,            1));

+        data[invocation].i4.xy  = ivec2(subgroupBroadcast(lessThan(data[1].i4.xy, ivec2(0)), 1));

+        data[invocation].i4.xyz = ivec3(subgroupBroadcast(lessThan(data[1].i4.xyz, ivec3(0)), 1));

+        data[invocation].i4     = ivec4(subgroupBroadcast(lessThan(data[1].i4, ivec4(0)), 1));

+    }

+    else

+    {

+        data[invocation].f4.x   = subgroupBroadcastFirst(data[0].f4.x);

+        data[invocation].f4.xy  = subgroupBroadcastFirst(data[1].f4.xy);

+        data[invocation].f4.xyz = subgroupBroadcastFirst(data[2].f4.xyz);

+        data[invocation].f4     = subgroupBroadcastFirst(data[3].f4);

+

+        data[invocation].i4.x   = subgroupBroadcastFirst(data[0].i4.x);

+        data[invocation].i4.xy  = subgroupBroadcastFirst(data[1].i4.xy);

+        data[invocation].i4.xyz = subgroupBroadcastFirst(data[2].i4.xyz);

+        data[invocation].i4     = subgroupBroadcastFirst(data[3].i4);

+

+        data[invocation].u4.x   = subgroupBroadcastFirst(data[0].u4.x);

+        data[invocation].u4.xy  = subgroupBroadcastFirst(data[1].u4.xy);

+        data[invocation].u4.xyz = subgroupBroadcastFirst(data[2].u4.xyz);

+        data[invocation].u4     = subgroupBroadcastFirst(data[3].u4);

+

+        data[invocation].d4.x   = subgroupBroadcastFirst(data[0].d4.x);

+        data[invocation].d4.xy  = subgroupBroadcastFirst(data[1].d4.xy);

+        data[invocation].d4.xyz = subgroupBroadcastFirst(data[2].d4.xyz);

+        data[invocation].d4     = subgroupBroadcastFirst(data[3].d4);

+

+        data[invocation].i4.x   = int(subgroupBroadcastFirst(data[0].i4.x < 0));

+        data[invocation].i4.xy  = ivec2(subgroupBroadcastFirst(lessThan(data[1].i4.xy, ivec2(0))));

+        data[invocation].i4.xyz = ivec3(subgroupBroadcastFirst(lessThan(data[1].i4.xyz, ivec3(0))));

+        data[invocation].i4     = ivec4(subgroupBroadcastFirst(lessThan(data[1].i4, ivec4(0))));

+    }

+}

diff --git a/Test/glsl.450.subgroupBallotNeg.comp b/Test/glsl.450.subgroupBallotNeg.comp
new file mode 100644
index 0000000..4020adf
--- /dev/null
+++ b/Test/glsl.450.subgroupBallotNeg.comp
@@ -0,0 +1,33 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_ballot: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    dvec4 d4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;

+

+    uvec4 relMask = gl_SubgroupEqMask +

+                       gl_SubgroupGeMask +

+                       gl_SubgroupGtMask +

+                       gl_SubgroupLeMask +

+                       gl_SubgroupLtMask;

+

+    uvec4 result = subgroupBallot(true);

+

+    data[invocation].u4.x = subgroupBallotBitCount(result);

+    data[invocation].u4.y = subgroupBallotBitExtract(result, 0) ? 1 : 0;

+    data[invocation].u4.z = subgroupBallotInclusiveBitCount(result) + subgroupBallotExclusiveBitCount(result);

+    data[invocation].u4.w = subgroupBallotFindLSB(result) + subgroupBallotFindMSB(result);

+

+    data[invocation].f4.x   = subgroupBroadcast(data[0].f4.x,    invocation);  // ERROR: not constant

+}

diff --git a/Test/glsl.450.subgroupBasic.comp b/Test/glsl.450.subgroupBasic.comp
new file mode 100644
index 0000000..4801c10
--- /dev/null
+++ b/Test/glsl.450.subgroupBasic.comp
@@ -0,0 +1,23 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_basic: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffer

+{

+    int a[];

+} data;

+

+void main()

+{

+    data.a[gl_SubgroupSize] = 1;

+    data.a[gl_SubgroupInvocationID] = 1;

+    data.a[gl_NumSubgroups] = 1;

+    data.a[gl_SubgroupID] = (subgroupElect()) ? 1 : 0;

+    subgroupBarrier();

+    subgroupMemoryBarrier();

+    subgroupMemoryBarrierBuffer();

+    subgroupMemoryBarrierShared();

+    subgroupMemoryBarrierImage();

+}

diff --git a/Test/glsl.450.subgroupClustered.comp b/Test/glsl.450.subgroupClustered.comp
new file mode 100644
index 0000000..128a24c
--- /dev/null
+++ b/Test/glsl.450.subgroupClustered.comp
@@ -0,0 +1,143 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_clustered: enable

+

+layout (local_size_x = 8) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    dvec4 d4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;

+

+    data[invocation].f4.x   = subgroupClusteredAdd(data[0].f4.x, 1);

+    data[invocation].f4.xy  = subgroupClusteredAdd(data[1].f4.xy, 1);

+    data[invocation].f4.xyz = subgroupClusteredAdd(data[2].f4.xyz, 1);

+    data[invocation].f4     = subgroupClusteredAdd(data[3].f4, 1);

+

+    data[invocation].i4.x   = subgroupClusteredAdd(data[0].i4.x, 1);

+    data[invocation].i4.xy  = subgroupClusteredAdd(data[1].i4.xy, 1);

+    data[invocation].i4.xyz = subgroupClusteredAdd(data[2].i4.xyz, 1);

+    data[invocation].i4     = subgroupClusteredAdd(data[3].i4, 1);

+

+    data[invocation].u4.x   = subgroupClusteredAdd(data[0].u4.x, 1);

+    data[invocation].u4.xy  = subgroupClusteredAdd(data[1].u4.xy, 1);

+    data[invocation].u4.xyz = subgroupClusteredAdd(data[2].u4.xyz, 1);

+    data[invocation].u4     = subgroupClusteredAdd(data[3].u4, 1);

+

+    data[invocation].d4.x   = subgroupClusteredAdd(data[0].d4.x, 1);

+    data[invocation].d4.xy  = subgroupClusteredAdd(data[1].d4.xy, 1);

+    data[invocation].d4.xyz = subgroupClusteredAdd(data[2].d4.xyz, 1);

+    data[invocation].d4     = subgroupClusteredAdd(data[3].d4, 1);

+

+    data[invocation].f4.x   = subgroupClusteredMul(data[0].f4.x, 1);

+    data[invocation].f4.xy  = subgroupClusteredMul(data[1].f4.xy, 1);

+    data[invocation].f4.xyz = subgroupClusteredMul(data[2].f4.xyz, 1);

+    data[invocation].f4     = subgroupClusteredMul(data[3].f4, 1);

+

+    data[invocation].i4.x   = subgroupClusteredMul(data[0].i4.x, 1);

+    data[invocation].i4.xy  = subgroupClusteredMul(data[1].i4.xy, 1);

+    data[invocation].i4.xyz = subgroupClusteredMul(data[2].i4.xyz, 1);

+    data[invocation].i4     = subgroupClusteredMul(data[3].i4, 1);

+

+    data[invocation].u4.x   = subgroupClusteredMul(data[0].u4.x, 1);

+    data[invocation].u4.xy  = subgroupClusteredMul(data[1].u4.xy, 1);

+    data[invocation].u4.xyz = subgroupClusteredMul(data[2].u4.xyz, 1);

+    data[invocation].u4     = subgroupClusteredMul(data[3].u4, 1);

+

+    data[invocation].d4.x   = subgroupClusteredMul(data[0].d4.x, 1);

+    data[invocation].d4.xy  = subgroupClusteredMul(data[1].d4.xy, 1);

+    data[invocation].d4.xyz = subgroupClusteredMul(data[2].d4.xyz, 1);

+    data[invocation].d4     = subgroupClusteredMul(data[3].d4, 1);

+

+    data[invocation].f4.x   = subgroupClusteredMin(data[0].f4.x, 1);

+    data[invocation].f4.xy  = subgroupClusteredMin(data[1].f4.xy, 1);

+    data[invocation].f4.xyz = subgroupClusteredMin(data[2].f4.xyz, 1);

+    data[invocation].f4     = subgroupClusteredMin(data[3].f4, 1);

+

+    data[invocation].i4.x   = subgroupClusteredMin(data[0].i4.x, 1);

+    data[invocation].i4.xy  = subgroupClusteredMin(data[1].i4.xy, 1);

+    data[invocation].i4.xyz = subgroupClusteredMin(data[2].i4.xyz, 1);

+    data[invocation].i4     = subgroupClusteredMin(data[3].i4, 1);

+

+    data[invocation].u4.x   = subgroupClusteredMin(data[0].u4.x, 1);

+    data[invocation].u4.xy  = subgroupClusteredMin(data[1].u4.xy, 1);

+    data[invocation].u4.xyz = subgroupClusteredMin(data[2].u4.xyz, 1);

+    data[invocation].u4     = subgroupClusteredMin(data[3].u4, 1);

+

+    data[invocation].d4.x   = subgroupClusteredMin(data[0].d4.x, 1);

+    data[invocation].d4.xy  = subgroupClusteredMin(data[1].d4.xy, 1);

+    data[invocation].d4.xyz = subgroupClusteredMin(data[2].d4.xyz, 1);

+    data[invocation].d4     = subgroupClusteredMin(data[3].d4, 1);

+

+    data[invocation].f4.x   = subgroupClusteredMax(data[0].f4.x, 1);

+    data[invocation].f4.xy  = subgroupClusteredMax(data[1].f4.xy, 1);

+    data[invocation].f4.xyz = subgroupClusteredMax(data[2].f4.xyz, 1);

+    data[invocation].f4     = subgroupClusteredMax(data[3].f4, 1);

+

+    data[invocation].i4.x   = subgroupClusteredMax(data[0].i4.x, 1);

+    data[invocation].i4.xy  = subgroupClusteredMax(data[1].i4.xy, 1);

+    data[invocation].i4.xyz = subgroupClusteredMax(data[2].i4.xyz, 1);

+    data[invocation].i4     = subgroupClusteredMax(data[3].i4, 1);

+

+    data[invocation].u4.x   = subgroupClusteredMax(data[0].u4.x, 1);

+    data[invocation].u4.xy  = subgroupClusteredMax(data[1].u4.xy, 1);

+    data[invocation].u4.xyz = subgroupClusteredMax(data[2].u4.xyz, 1);

+    data[invocation].u4     = subgroupClusteredMax(data[3].u4, 1);

+

+    data[invocation].d4.x   = subgroupClusteredMax(data[0].d4.x, 1);

+    data[invocation].d4.xy  = subgroupClusteredMax(data[1].d4.xy, 1);

+    data[invocation].d4.xyz = subgroupClusteredMax(data[2].d4.xyz, 1);

+    data[invocation].d4     = subgroupClusteredMax(data[3].d4, 1);

+

+    data[invocation].i4.x   = subgroupClusteredAnd(data[0].i4.x, 1);

+    data[invocation].i4.xy  = subgroupClusteredAnd(data[1].i4.xy, 1);

+    data[invocation].i4.xyz = subgroupClusteredAnd(data[2].i4.xyz, 1);

+    data[invocation].i4     = subgroupClusteredAnd(data[3].i4, 1);

+

+    data[invocation].u4.x   = subgroupClusteredAnd(data[0].u4.x, 1);

+    data[invocation].u4.xy  = subgroupClusteredAnd(data[1].u4.xy, 1);

+    data[invocation].u4.xyz = subgroupClusteredAnd(data[2].u4.xyz, 1);

+    data[invocation].u4     = subgroupClusteredAnd(data[3].u4, 1);

+

+    data[invocation].i4.x   =   int(subgroupClusteredAnd(data[0].i4.x < 0, 1));

+    data[invocation].i4.xy  = ivec2(subgroupClusteredAnd(lessThan(data[1].i4.xy, ivec2(0)), 1));

+    data[invocation].i4.xyz = ivec3(subgroupClusteredAnd(lessThan(data[1].i4.xyz, ivec3(0)), 1));

+    data[invocation].i4     = ivec4(subgroupClusteredAnd(lessThan(data[1].i4, ivec4(0)), 1));

+

+    data[invocation].i4.x   = subgroupClusteredOr(data[0].i4.x, 1);

+    data[invocation].i4.xy  = subgroupClusteredOr(data[1].i4.xy, 1);

+    data[invocation].i4.xyz = subgroupClusteredOr(data[2].i4.xyz, 1);

+    data[invocation].i4     = subgroupClusteredOr(data[3].i4, 1);

+

+    data[invocation].u4.x   = subgroupClusteredOr(data[0].u4.x, 1);

+    data[invocation].u4.xy  = subgroupClusteredOr(data[1].u4.xy, 1);

+    data[invocation].u4.xyz = subgroupClusteredOr(data[2].u4.xyz, 1);

+    data[invocation].u4     = subgroupClusteredOr(data[3].u4, 1);

+

+    data[invocation].i4.x   =   int(subgroupClusteredOr(data[0].i4.x < 0, 1));

+    data[invocation].i4.xy  = ivec2(subgroupClusteredOr(lessThan(data[1].i4.xy, ivec2(0)), 1));

+    data[invocation].i4.xyz = ivec3(subgroupClusteredOr(lessThan(data[1].i4.xyz, ivec3(0)), 1));

+    data[invocation].i4     = ivec4(subgroupClusteredOr(lessThan(data[1].i4, ivec4(0)), 1));

+

+    data[invocation].i4.x   = subgroupClusteredXor(data[0].i4.x, 1);

+    data[invocation].i4.xy  = subgroupClusteredXor(data[1].i4.xy, 1);

+    data[invocation].i4.xyz = subgroupClusteredXor(data[2].i4.xyz, 1);

+    data[invocation].i4     = subgroupClusteredXor(data[3].i4, 1);

+

+    data[invocation].u4.x   = subgroupClusteredXor(data[0].u4.x, 1);

+    data[invocation].u4.xy  = subgroupClusteredXor(data[1].u4.xy, 1);

+    data[invocation].u4.xyz = subgroupClusteredXor(data[2].u4.xyz, 1);

+    data[invocation].u4     = subgroupClusteredXor(data[3].u4, 1);

+

+    data[invocation].i4.x   =   int(subgroupClusteredXor(data[0].i4.x < 0, 1));

+    data[invocation].i4.xy  = ivec2(subgroupClusteredXor(lessThan(data[1].i4.xy, ivec2(0)), 1));

+    data[invocation].i4.xyz = ivec3(subgroupClusteredXor(lessThan(data[1].i4.xyz, ivec3(0)), 1));

+    data[invocation].i4     = ivec4(subgroupClusteredXor(lessThan(data[1].i4, ivec4(0)), 1));

+}

diff --git a/Test/glsl.450.subgroupClusteredNeg.comp b/Test/glsl.450.subgroupClusteredNeg.comp
new file mode 100644
index 0000000..ec15413
--- /dev/null
+++ b/Test/glsl.450.subgroupClusteredNeg.comp
@@ -0,0 +1,39 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_clustered: enable

+

+layout (local_size_x = 8) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    dvec4 d4;

+} data[4];

+

+void main()

+{

+    int a = 1;

+    const int aConst = 1;

+

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;

+

+    data[invocation].f4.xy  = subgroupClusteredAdd(data[1].f4.xy, 0);          // ERROR, less than 1

+

+    data[invocation].f4.x   = subgroupClusteredMul(data[0].f4.x, 3);           // ERROR, not a power of 2

+

+    data[invocation].i4.xy  = subgroupClusteredMin(data[1].i4.xy, 8);

+    data[invocation].i4.xyz = subgroupClusteredMin(data[2].i4.xyz, 6);         // ERROR, not a power of 2

+

+    data[invocation].f4.x   = subgroupClusteredMax(data[0].f4.x, -1);          // ERROR, less than 1

+

+    data[invocation].i4     = subgroupClusteredAnd(data[3].i4, -3);            // ERROR, less than 1

+

+    data[invocation].i4.x   = subgroupClusteredOr(data[0].i4.x, a);            // ERROR, not constant

+    data[invocation].i4.xy  = subgroupClusteredOr(data[1].i4.xy, aConst);

+

+    data[invocation].i4.x   = subgroupClusteredXor(data[0].i4.x, 1 + a);       // ERROR, not constant

+    data[invocation].i4.xy  = subgroupClusteredXor(data[1].i4.xy, aConst + a); // ERROR, not constant

+    data[invocation].i4.xyz = subgroupClusteredXor(data[2].i4.xyz, 1 + aConst);

+}

diff --git a/Test/glsl.450.subgroupPartitioned.comp b/Test/glsl.450.subgroupPartitioned.comp
new file mode 100644
index 0000000..604833e
--- /dev/null
+++ b/Test/glsl.450.subgroupPartitioned.comp
@@ -0,0 +1,420 @@
+#version 450

+

+#extension GL_NV_shader_subgroup_partitioned: enable

+

+layout (local_size_x = 8) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    dvec4 d4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;

+

+    uvec4 ballot = subgroupPartitionNV(invocation);

+

+    data[invocation].u4 = subgroupPartitionNV(data[0].f4.x);

+    data[invocation].u4 = subgroupPartitionNV(data[0].f4.xy);

+    data[invocation].u4 = subgroupPartitionNV(data[0].f4.xyz);

+    data[invocation].u4 = subgroupPartitionNV(data[0].f4);

+

+    data[invocation].u4 = subgroupPartitionNV(data[0].i4.x);

+    data[invocation].u4 = subgroupPartitionNV(data[0].i4.xy);

+    data[invocation].u4 = subgroupPartitionNV(data[0].i4.xyz);

+    data[invocation].u4 = subgroupPartitionNV(data[0].i4);

+

+    data[invocation].u4 = subgroupPartitionNV(data[0].u4.x);

+    data[invocation].u4 = subgroupPartitionNV(data[0].u4.xy);

+    data[invocation].u4 = subgroupPartitionNV(data[0].u4.xyz);

+    data[invocation].u4 = subgroupPartitionNV(data[0].u4);

+

+    data[invocation].u4 = subgroupPartitionNV(data[0].d4.x);

+    data[invocation].u4 = subgroupPartitionNV(data[0].d4.xy);

+    data[invocation].u4 = subgroupPartitionNV(data[0].d4.xyz);

+    data[invocation].u4 = subgroupPartitionNV(data[0].d4);

+

+    data[invocation].u4 = subgroupPartitionNV(bool(data[0].i4.x));

+    data[invocation].u4 = subgroupPartitionNV(bvec2(data[0].i4.xy));

+    data[invocation].u4 = subgroupPartitionNV(bvec3(data[0].i4.xyz));

+    data[invocation].u4 = subgroupPartitionNV(bvec4(data[0].i4));

+

+    data[invocation].f4.x   = subgroupPartitionedAddNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedAddNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedAddNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedAddNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedAddNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedAddNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedAddNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedAddNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedAddNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedAddNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedAddNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedAddNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedAddNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedAddNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedAddNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedAddNV(data[3].d4, ballot);

+

+    data[invocation].f4.x   = subgroupPartitionedMulNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedMulNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedMulNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedMulNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedMulNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedMulNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedMulNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedMulNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedMulNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedMulNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedMulNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedMulNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedMulNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedMulNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedMulNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedMulNV(data[3].d4, ballot);

+

+    data[invocation].f4.x   = subgroupPartitionedMinNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedMinNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedMinNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedMinNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedMinNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedMinNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedMinNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedMinNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedMinNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedMinNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedMinNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedMinNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedMinNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedMinNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedMinNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedMinNV(data[3].d4, ballot);

+

+    data[invocation].f4.x   = subgroupPartitionedMaxNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedMaxNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedMaxNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedMaxNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedMaxNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedMaxNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedMaxNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedMaxNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedMaxNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedMaxNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedMaxNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedMaxNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedMaxNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedMaxNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedMaxNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedMaxNV(data[3].d4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedAndNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedAndNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedAndNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedAndNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedAndNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedAndNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedAndNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedAndNV(data[3].u4, ballot);

+

+    data[invocation].i4.x   =   int(subgroupPartitionedAndNV(data[0].i4.x < 0, ballot));

+    data[invocation].i4.xy  = ivec2(subgroupPartitionedAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[invocation].i4.xyz = ivec3(subgroupPartitionedAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[invocation].i4     = ivec4(subgroupPartitionedAndNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[invocation].i4.x   = subgroupPartitionedOrNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedOrNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedOrNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedOrNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedOrNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedOrNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedOrNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedOrNV(data[3].u4, ballot);

+

+    data[invocation].i4.x   =   int(subgroupPartitionedOrNV(data[0].i4.x < 0, ballot));

+    data[invocation].i4.xy  = ivec2(subgroupPartitionedOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[invocation].i4.xyz = ivec3(subgroupPartitionedOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[invocation].i4     = ivec4(subgroupPartitionedOrNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[invocation].i4.x   = subgroupPartitionedXorNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedXorNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedXorNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedXorNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedXorNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedXorNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedXorNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedXorNV(data[3].u4, ballot);

+

+    data[invocation].i4.x   =   int(subgroupPartitionedXorNV(data[0].i4.x < 0, ballot));

+    data[invocation].i4.xy  = ivec2(subgroupPartitionedXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[invocation].i4.xyz = ivec3(subgroupPartitionedXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[invocation].i4     = ivec4(subgroupPartitionedXorNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[invocation].f4.x   = subgroupPartitionedInclusiveAddNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedInclusiveAddNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedInclusiveAddNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedInclusiveAddNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedInclusiveAddNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedInclusiveAddNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedInclusiveAddNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedInclusiveAddNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedInclusiveAddNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedInclusiveAddNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedInclusiveAddNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedInclusiveAddNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedInclusiveAddNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedInclusiveAddNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedInclusiveAddNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedInclusiveAddNV(data[3].d4, ballot);

+

+    data[invocation].f4.x   = subgroupPartitionedInclusiveMulNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedInclusiveMulNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedInclusiveMulNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedInclusiveMulNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedInclusiveMulNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedInclusiveMulNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedInclusiveMulNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedInclusiveMulNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedInclusiveMulNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedInclusiveMulNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedInclusiveMulNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedInclusiveMulNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedInclusiveMulNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedInclusiveMulNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedInclusiveMulNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedInclusiveMulNV(data[3].d4, ballot);

+

+    data[invocation].f4.x   = subgroupPartitionedInclusiveMinNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedInclusiveMinNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedInclusiveMinNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedInclusiveMinNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedInclusiveMinNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedInclusiveMinNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedInclusiveMinNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedInclusiveMinNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedInclusiveMinNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedInclusiveMinNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedInclusiveMinNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedInclusiveMinNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedInclusiveMinNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedInclusiveMinNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedInclusiveMinNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedInclusiveMinNV(data[3].d4, ballot);

+

+    data[invocation].f4.x   = subgroupPartitionedInclusiveMaxNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedInclusiveMaxNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedInclusiveMaxNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedInclusiveMaxNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedInclusiveMaxNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedInclusiveMaxNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedInclusiveMaxNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedInclusiveMaxNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedInclusiveMaxNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedInclusiveMaxNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedInclusiveMaxNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedInclusiveMaxNV(data[3].d4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedInclusiveAndNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedInclusiveAndNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedInclusiveAndNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedInclusiveAndNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedInclusiveAndNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedInclusiveAndNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedInclusiveAndNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedInclusiveAndNV(data[3].u4, ballot);

+

+    data[invocation].i4.x   =   int(subgroupPartitionedInclusiveAndNV(data[0].i4.x < 0, ballot));

+    data[invocation].i4.xy  = ivec2(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[invocation].i4.xyz = ivec3(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[invocation].i4     = ivec4(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[invocation].i4.x   = subgroupPartitionedInclusiveOrNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedInclusiveOrNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedInclusiveOrNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedInclusiveOrNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedInclusiveOrNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedInclusiveOrNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedInclusiveOrNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedInclusiveOrNV(data[3].u4, ballot);

+

+    data[invocation].i4.x   =   int(subgroupPartitionedInclusiveOrNV(data[0].i4.x < 0, ballot));

+    data[invocation].i4.xy  = ivec2(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[invocation].i4.xyz = ivec3(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[invocation].i4     = ivec4(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[invocation].i4.x   = subgroupPartitionedInclusiveXorNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedInclusiveXorNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedInclusiveXorNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedInclusiveXorNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedInclusiveXorNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedInclusiveXorNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedInclusiveXorNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedInclusiveXorNV(data[3].u4, ballot);

+

+    data[invocation].i4.x   =   int(subgroupPartitionedInclusiveXorNV(data[0].i4.x < 0, ballot));

+    data[invocation].i4.xy  = ivec2(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[invocation].i4.xyz = ivec3(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[invocation].i4     = ivec4(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[invocation].f4.x   = subgroupPartitionedExclusiveAddNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedExclusiveAddNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedExclusiveAddNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedExclusiveAddNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedExclusiveAddNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedExclusiveAddNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedExclusiveAddNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedExclusiveAddNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedExclusiveAddNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedExclusiveAddNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedExclusiveAddNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedExclusiveAddNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedExclusiveAddNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedExclusiveAddNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedExclusiveAddNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedExclusiveAddNV(data[3].d4, ballot);

+

+    data[invocation].f4.x   = subgroupPartitionedExclusiveMulNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedExclusiveMulNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedExclusiveMulNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedExclusiveMulNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedExclusiveMulNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedExclusiveMulNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedExclusiveMulNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedExclusiveMulNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedExclusiveMulNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedExclusiveMulNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedExclusiveMulNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedExclusiveMulNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedExclusiveMulNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedExclusiveMulNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedExclusiveMulNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedExclusiveMulNV(data[3].d4, ballot);

+

+    data[invocation].f4.x   = subgroupPartitionedExclusiveMinNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedExclusiveMinNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedExclusiveMinNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedExclusiveMinNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedExclusiveMinNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedExclusiveMinNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedExclusiveMinNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedExclusiveMinNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedExclusiveMinNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedExclusiveMinNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedExclusiveMinNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedExclusiveMinNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedExclusiveMinNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedExclusiveMinNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedExclusiveMinNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedExclusiveMinNV(data[3].d4, ballot);

+

+    data[invocation].f4.x   = subgroupPartitionedExclusiveMaxNV(data[0].f4.x, ballot);

+    data[invocation].f4.xy  = subgroupPartitionedExclusiveMaxNV(data[1].f4.xy, ballot);

+    data[invocation].f4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].f4.xyz, ballot);

+    data[invocation].f4     = subgroupPartitionedExclusiveMaxNV(data[3].f4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedExclusiveMaxNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedExclusiveMaxNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedExclusiveMaxNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedExclusiveMaxNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedExclusiveMaxNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedExclusiveMaxNV(data[3].u4, ballot);

+

+    data[invocation].d4.x   = subgroupPartitionedExclusiveMaxNV(data[0].d4.x, ballot);

+    data[invocation].d4.xy  = subgroupPartitionedExclusiveMaxNV(data[1].d4.xy, ballot);

+    data[invocation].d4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].d4.xyz, ballot);

+    data[invocation].d4     = subgroupPartitionedExclusiveMaxNV(data[3].d4, ballot);

+

+    data[invocation].i4.x   = subgroupPartitionedExclusiveAndNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedExclusiveAndNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedExclusiveAndNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedExclusiveAndNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedExclusiveAndNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedExclusiveAndNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedExclusiveAndNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedExclusiveAndNV(data[3].u4, ballot);

+

+    data[invocation].i4.x   =   int(subgroupPartitionedExclusiveAndNV(data[0].i4.x < 0, ballot));

+    data[invocation].i4.xy  = ivec2(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[invocation].i4.xyz = ivec3(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[invocation].i4     = ivec4(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[invocation].i4.x   = subgroupPartitionedExclusiveOrNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedExclusiveOrNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedExclusiveOrNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedExclusiveOrNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedExclusiveOrNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedExclusiveOrNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedExclusiveOrNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedExclusiveOrNV(data[3].u4, ballot);

+

+    data[invocation].i4.x   =   int(subgroupPartitionedExclusiveOrNV(data[0].i4.x < 0, ballot));

+    data[invocation].i4.xy  = ivec2(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[invocation].i4.xyz = ivec3(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[invocation].i4     = ivec4(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[invocation].i4.x   = subgroupPartitionedExclusiveXorNV(data[0].i4.x, ballot);

+    data[invocation].i4.xy  = subgroupPartitionedExclusiveXorNV(data[1].i4.xy, ballot);

+    data[invocation].i4.xyz = subgroupPartitionedExclusiveXorNV(data[2].i4.xyz, ballot);

+    data[invocation].i4     = subgroupPartitionedExclusiveXorNV(data[3].i4, ballot);

+

+    data[invocation].u4.x   = subgroupPartitionedExclusiveXorNV(data[0].u4.x, ballot);

+    data[invocation].u4.xy  = subgroupPartitionedExclusiveXorNV(data[1].u4.xy, ballot);

+    data[invocation].u4.xyz = subgroupPartitionedExclusiveXorNV(data[2].u4.xyz, ballot);

+    data[invocation].u4     = subgroupPartitionedExclusiveXorNV(data[3].u4, ballot);

+

+    data[invocation].i4.x   =   int(subgroupPartitionedExclusiveXorNV(data[0].i4.x < 0, ballot));

+    data[invocation].i4.xy  = ivec2(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[invocation].i4.xyz = ivec3(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[invocation].i4     = ivec4(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4, ivec4(0)), ballot));

+}

diff --git a/Test/glsl.450.subgroupQuad.comp b/Test/glsl.450.subgroupQuad.comp
new file mode 100644
index 0000000..223a7cd
--- /dev/null
+++ b/Test/glsl.450.subgroupQuad.comp
@@ -0,0 +1,118 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_quad: enable

+

+layout (local_size_x = 8) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    dvec4 d4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;

+

+    data[invocation].f4.x   = subgroupQuadBroadcast(data[0].f4.x, 1);

+    data[invocation].f4.xy  = subgroupQuadBroadcast(data[1].f4.xy, 1);

+    data[invocation].f4.xyz = subgroupQuadBroadcast(data[2].f4.xyz, 1);

+    data[invocation].f4     = subgroupQuadBroadcast(data[3].f4, 1);

+

+    data[invocation].i4.x   = subgroupQuadBroadcast(data[0].i4.x, 1);

+    data[invocation].i4.xy  = subgroupQuadBroadcast(data[1].i4.xy, 1);

+    data[invocation].i4.xyz = subgroupQuadBroadcast(data[2].i4.xyz, 1);

+    data[invocation].i4     = subgroupQuadBroadcast(data[3].i4, 1);

+

+    data[invocation].u4.x   = subgroupQuadBroadcast(data[0].u4.x, 1);

+    data[invocation].u4.xy  = subgroupQuadBroadcast(data[1].u4.xy, 1);

+    data[invocation].u4.xyz = subgroupQuadBroadcast(data[2].u4.xyz, 1);

+    data[invocation].u4     = subgroupQuadBroadcast(data[3].u4, 1);

+

+    data[invocation].d4.x   = subgroupQuadBroadcast(data[0].d4.x, 1);

+    data[invocation].d4.xy  = subgroupQuadBroadcast(data[1].d4.xy, 1);

+    data[invocation].d4.xyz = subgroupQuadBroadcast(data[2].d4.xyz, 1);

+    data[invocation].d4     = subgroupQuadBroadcast(data[3].d4, 1);

+

+    data[invocation].i4.x   =   int(subgroupQuadBroadcast(data[0].i4.x < 0, 1));

+    data[invocation].i4.xy  = ivec2(subgroupQuadBroadcast(lessThan(data[1].i4.xy, ivec2(0)), 1));

+    data[invocation].i4.xyz = ivec3(subgroupQuadBroadcast(lessThan(data[1].i4.xyz, ivec3(0)), 1));

+    data[invocation].i4     = ivec4(subgroupQuadBroadcast(lessThan(data[1].i4, ivec4(0)), 1));

+

+    data[invocation].f4.x   = subgroupQuadSwapHorizontal(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupQuadSwapHorizontal(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupQuadSwapHorizontal(data[2].f4.xyz);

+    data[invocation].f4     = subgroupQuadSwapHorizontal(data[3].f4);

+

+    data[invocation].i4.x   = subgroupQuadSwapHorizontal(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupQuadSwapHorizontal(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupQuadSwapHorizontal(data[2].i4.xyz);

+    data[invocation].i4     = subgroupQuadSwapHorizontal(data[3].i4);

+

+    data[invocation].u4.x   = subgroupQuadSwapHorizontal(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupQuadSwapHorizontal(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupQuadSwapHorizontal(data[2].u4.xyz);

+    data[invocation].u4     = subgroupQuadSwapHorizontal(data[3].u4);

+

+    data[invocation].d4.x   = subgroupQuadSwapHorizontal(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupQuadSwapHorizontal(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupQuadSwapHorizontal(data[2].d4.xyz);

+    data[invocation].d4     = subgroupQuadSwapHorizontal(data[3].d4);

+

+    data[invocation].i4.x   =   int(subgroupQuadSwapHorizontal(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupQuadSwapHorizontal(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupQuadSwapHorizontal(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupQuadSwapHorizontal(lessThan(data[1].i4, ivec4(0))));

+

+    data[invocation].f4.x   = subgroupQuadSwapVertical(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupQuadSwapVertical(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupQuadSwapVertical(data[2].f4.xyz);

+    data[invocation].f4     = subgroupQuadSwapVertical(data[3].f4);

+

+    data[invocation].i4.x   = subgroupQuadSwapVertical(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupQuadSwapVertical(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupQuadSwapVertical(data[2].i4.xyz);

+    data[invocation].i4     = subgroupQuadSwapVertical(data[3].i4);

+

+    data[invocation].u4.x   = subgroupQuadSwapVertical(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupQuadSwapVertical(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupQuadSwapVertical(data[2].u4.xyz);

+    data[invocation].u4     = subgroupQuadSwapVertical(data[3].u4);

+

+    data[invocation].d4.x   = subgroupQuadSwapVertical(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupQuadSwapVertical(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupQuadSwapVertical(data[2].d4.xyz);

+    data[invocation].d4     = subgroupQuadSwapVertical(data[3].d4);

+

+    data[invocation].i4.x   =   int(subgroupQuadSwapVertical(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupQuadSwapVertical(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupQuadSwapVertical(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupQuadSwapVertical(lessThan(data[1].i4, ivec4(0))));

+

+    data[invocation].f4.x   = subgroupQuadSwapDiagonal(data[0].f4.x);

+    data[invocation].f4.xy  = subgroupQuadSwapDiagonal(data[1].f4.xy);

+    data[invocation].f4.xyz = subgroupQuadSwapDiagonal(data[2].f4.xyz);

+    data[invocation].f4     = subgroupQuadSwapDiagonal(data[3].f4);

+

+    data[invocation].i4.x   = subgroupQuadSwapDiagonal(data[0].i4.x);

+    data[invocation].i4.xy  = subgroupQuadSwapDiagonal(data[1].i4.xy);

+    data[invocation].i4.xyz = subgroupQuadSwapDiagonal(data[2].i4.xyz);

+    data[invocation].i4     = subgroupQuadSwapDiagonal(data[3].i4);

+

+    data[invocation].u4.x   = subgroupQuadSwapDiagonal(data[0].u4.x);

+    data[invocation].u4.xy  = subgroupQuadSwapDiagonal(data[1].u4.xy);

+    data[invocation].u4.xyz = subgroupQuadSwapDiagonal(data[2].u4.xyz);

+    data[invocation].u4     = subgroupQuadSwapDiagonal(data[3].u4);

+

+    data[invocation].d4.x   = subgroupQuadSwapDiagonal(data[0].d4.x);

+    data[invocation].d4.xy  = subgroupQuadSwapDiagonal(data[1].d4.xy);

+    data[invocation].d4.xyz = subgroupQuadSwapDiagonal(data[2].d4.xyz);

+    data[invocation].d4     = subgroupQuadSwapDiagonal(data[3].d4);

+

+    data[invocation].i4.x   =   int(subgroupQuadSwapDiagonal(data[0].i4.x < 0));

+    data[invocation].i4.xy  = ivec2(subgroupQuadSwapDiagonal(lessThan(data[1].i4.xy, ivec2(0))));

+    data[invocation].i4.xyz = ivec3(subgroupQuadSwapDiagonal(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[invocation].i4     = ivec4(subgroupQuadSwapDiagonal(lessThan(data[1].i4, ivec4(0))));

+}

diff --git a/Test/glsl.450.subgroupShuffle.comp b/Test/glsl.450.subgroupShuffle.comp
new file mode 100644
index 0000000..6d26488
--- /dev/null
+++ b/Test/glsl.450.subgroupShuffle.comp
@@ -0,0 +1,68 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_shuffle: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    dvec4 d4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;

+

+    data[invocation].f4.x   = subgroupShuffle(data[0].f4.x,    invocation);

+    data[invocation].f4.xy  = subgroupShuffle(data[1].f4.xy,   invocation);

+    data[invocation].f4.xyz = subgroupShuffle(data[2].f4.xyz,  invocation);

+    data[invocation].f4     = subgroupShuffle(data[3].f4,      invocation);

+

+    data[invocation].i4.x   = subgroupShuffle(data[0].i4.x,    invocation);

+    data[invocation].i4.xy  = subgroupShuffle(data[1].i4.xy,   invocation);

+    data[invocation].i4.xyz = subgroupShuffle(data[2].i4.xyz,  invocation);

+    data[invocation].i4     = subgroupShuffle(data[3].i4,      invocation);

+

+    data[invocation].u4.x   = subgroupShuffle(data[0].u4.x,    invocation);

+    data[invocation].u4.xy  = subgroupShuffle(data[1].u4.xy,   invocation);

+    data[invocation].u4.xyz = subgroupShuffle(data[2].u4.xyz,  invocation);

+    data[invocation].u4     = subgroupShuffle(data[3].u4,      invocation);

+

+    data[invocation].d4.x   = subgroupShuffle(data[0].d4.x,    invocation);

+    data[invocation].d4.xy  = subgroupShuffle(data[1].d4.xy,   invocation);

+    data[invocation].d4.xyz = subgroupShuffle(data[2].d4.xyz,  invocation);

+    data[invocation].d4     = subgroupShuffle(data[3].d4,      invocation);

+

+    data[invocation].i4.x   =   int(subgroupShuffle(data[0].i4.x < 0,                   invocation));

+    data[invocation].i4.xy  = ivec2(subgroupShuffle(lessThan(data[1].i4.xy, ivec2(0)),  invocation));

+    data[invocation].i4.xyz = ivec3(subgroupShuffle(lessThan(data[1].i4.xyz, ivec3(0)), invocation));

+    data[invocation].i4     = ivec4(subgroupShuffle(lessThan(data[1].i4, ivec4(0)),     invocation));

+

+    data[invocation].f4.x   = subgroupShuffleXor(data[0].f4.x,    invocation);

+    data[invocation].f4.xy  = subgroupShuffleXor(data[1].f4.xy,   invocation);

+    data[invocation].f4.xyz = subgroupShuffleXor(data[2].f4.xyz,  invocation);

+    data[invocation].f4     = subgroupShuffleXor(data[3].f4,      invocation);

+

+    data[invocation].i4.x   = subgroupShuffleXor(data[0].i4.x,    invocation);

+    data[invocation].i4.xy  = subgroupShuffleXor(data[1].i4.xy,   invocation);

+    data[invocation].i4.xyz = subgroupShuffleXor(data[2].i4.xyz,  invocation);

+    data[invocation].i4     = subgroupShuffleXor(data[3].i4,      invocation);

+

+    data[invocation].u4.x   = subgroupShuffleXor(data[0].u4.x,    invocation);

+    data[invocation].u4.xy  = subgroupShuffleXor(data[1].u4.xy,   invocation);

+    data[invocation].u4.xyz = subgroupShuffleXor(data[2].u4.xyz,  invocation);

+    data[invocation].u4     = subgroupShuffleXor(data[3].u4,      invocation);

+

+    data[invocation].d4.x   = subgroupShuffleXor(data[0].d4.x,    invocation);

+    data[invocation].d4.xy  = subgroupShuffleXor(data[1].d4.xy,   invocation);

+    data[invocation].d4.xyz = subgroupShuffleXor(data[2].d4.xyz,  invocation);

+    data[invocation].d4     = subgroupShuffleXor(data[3].d4,      invocation);

+

+    data[invocation].i4.x   =   int(subgroupShuffleXor(data[0].i4.x < 0,                   invocation));

+    data[invocation].i4.xy  = ivec2(subgroupShuffleXor(lessThan(data[1].i4.xy, ivec2(0)),  invocation));

+    data[invocation].i4.xyz = ivec3(subgroupShuffleXor(lessThan(data[1].i4.xyz, ivec3(0)), invocation));

+    data[invocation].i4     = ivec4(subgroupShuffleXor(lessThan(data[1].i4, ivec4(0)),     invocation));

+}

diff --git a/Test/glsl.450.subgroupShuffleRelative.comp b/Test/glsl.450.subgroupShuffleRelative.comp
new file mode 100644
index 0000000..1864de1
--- /dev/null
+++ b/Test/glsl.450.subgroupShuffleRelative.comp
@@ -0,0 +1,68 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_shuffle_relative: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    dvec4 d4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;

+

+    data[invocation].f4.x   = subgroupShuffleUp(data[0].f4.x,    invocation);

+    data[invocation].f4.xy  = subgroupShuffleUp(data[1].f4.xy,   invocation);

+    data[invocation].f4.xyz = subgroupShuffleUp(data[2].f4.xyz,  invocation);

+    data[invocation].f4     = subgroupShuffleUp(data[3].f4,      invocation);

+

+    data[invocation].i4.x   = subgroupShuffleUp(data[0].i4.x,    invocation);

+    data[invocation].i4.xy  = subgroupShuffleUp(data[1].i4.xy,   invocation);

+    data[invocation].i4.xyz = subgroupShuffleUp(data[2].i4.xyz,  invocation);

+    data[invocation].i4     = subgroupShuffleUp(data[3].i4,      invocation);

+

+    data[invocation].u4.x   = subgroupShuffleUp(data[0].u4.x,    invocation);

+    data[invocation].u4.xy  = subgroupShuffleUp(data[1].u4.xy,   invocation);

+    data[invocation].u4.xyz = subgroupShuffleUp(data[2].u4.xyz,  invocation);

+    data[invocation].u4     = subgroupShuffleUp(data[3].u4,      invocation);

+

+    data[invocation].d4.x   = subgroupShuffleUp(data[0].d4.x,    invocation);

+    data[invocation].d4.xy  = subgroupShuffleUp(data[1].d4.xy,   invocation);

+    data[invocation].d4.xyz = subgroupShuffleUp(data[2].d4.xyz,  invocation);

+    data[invocation].d4     = subgroupShuffleUp(data[3].d4,      invocation);

+

+    data[invocation].i4.x   =   int(subgroupShuffleUp(data[0].i4.x < 0,                   invocation));

+    data[invocation].i4.xy  = ivec2(subgroupShuffleUp(lessThan(data[1].i4.xy, ivec2(0)),  invocation));

+    data[invocation].i4.xyz = ivec3(subgroupShuffleUp(lessThan(data[1].i4.xyz, ivec3(0)), invocation));

+    data[invocation].i4     = ivec4(subgroupShuffleUp(lessThan(data[1].i4, ivec4(0)),     invocation));

+

+    data[invocation].f4.x   = subgroupShuffleDown(data[0].f4.x,    invocation);

+    data[invocation].f4.xy  = subgroupShuffleDown(data[1].f4.xy,   invocation);

+    data[invocation].f4.xyz = subgroupShuffleDown(data[2].f4.xyz,  invocation);

+    data[invocation].f4     = subgroupShuffleDown(data[3].f4,      invocation);

+

+    data[invocation].i4.x   = subgroupShuffleDown(data[0].i4.x,    invocation);

+    data[invocation].i4.xy  = subgroupShuffleDown(data[1].i4.xy,   invocation);

+    data[invocation].i4.xyz = subgroupShuffleDown(data[2].i4.xyz,  invocation);

+    data[invocation].i4     = subgroupShuffleDown(data[3].i4,      invocation);

+

+    data[invocation].u4.x   = subgroupShuffleDown(data[0].u4.x,    invocation);

+    data[invocation].u4.xy  = subgroupShuffleDown(data[1].u4.xy,   invocation);

+    data[invocation].u4.xyz = subgroupShuffleDown(data[2].u4.xyz,  invocation);

+    data[invocation].u4     = subgroupShuffleDown(data[3].u4,      invocation);

+

+    data[invocation].d4.x   = subgroupShuffleDown(data[0].d4.x,    invocation);

+    data[invocation].d4.xy  = subgroupShuffleDown(data[1].d4.xy,   invocation);

+    data[invocation].d4.xyz = subgroupShuffleDown(data[2].d4.xyz,  invocation);

+    data[invocation].d4     = subgroupShuffleDown(data[3].d4,      invocation);

+

+    data[invocation].i4.x   =   int(subgroupShuffleDown(data[0].i4.x < 0,                   invocation));

+    data[invocation].i4.xy  = ivec2(subgroupShuffleDown(lessThan(data[1].i4.xy, ivec2(0)),  invocation));

+    data[invocation].i4.xyz = ivec3(subgroupShuffleDown(lessThan(data[1].i4.xyz, ivec3(0)), invocation));

+    data[invocation].i4     = ivec4(subgroupShuffleDown(lessThan(data[1].i4, ivec4(0)),     invocation));

+}

diff --git a/Test/glsl.450.subgroupVote.comp b/Test/glsl.450.subgroupVote.comp
new file mode 100644
index 0000000..c1c877a
--- /dev/null
+++ b/Test/glsl.450.subgroupVote.comp
@@ -0,0 +1,49 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_vote: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    dvec4 d4;

+    int r;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;

+

+    if (subgroupAll(data[invocation].r < 0))

+    {

+        data[invocation].r = int(subgroupAllEqual(data[0].f4.x));

+        data[invocation].r = int(subgroupAllEqual(data[1].f4.xy));

+        data[invocation].r = int(subgroupAllEqual(data[2].f4.xyz));

+        data[invocation].r = int(subgroupAllEqual(data[3].f4));

+

+        data[invocation].r = int(subgroupAllEqual(data[0].i4.x));

+        data[invocation].r = int(subgroupAllEqual(data[1].i4.xy));

+        data[invocation].r = int(subgroupAllEqual(data[2].i4.xyz));

+        data[invocation].r = int(subgroupAllEqual(data[3].i4));

+

+        data[invocation].r = int(subgroupAllEqual(data[0].u4.x));

+        data[invocation].r = int(subgroupAllEqual(data[1].u4.xy));

+        data[invocation].r = int(subgroupAllEqual(data[2].u4.xyz));

+        data[invocation].r = int(subgroupAllEqual(data[3].u4));

+    }

+    else if (subgroupAny(data[invocation].r < 0))

+    {

+        data[invocation].r = int(subgroupAllEqual(data[0].d4.x));

+        data[invocation].r = int(subgroupAllEqual(data[1].d4.xy));

+        data[invocation].r = int(subgroupAllEqual(data[2].d4.xyz));

+        data[invocation].r = int(subgroupAllEqual(data[3].d4));

+

+        data[invocation].r = int(int(subgroupAllEqual(data[0].i4.x < 0)));

+        data[invocation].r = int(ivec2(subgroupAllEqual(lessThan(data[1].i4.xy, ivec2(0)))));

+        data[invocation].r = int(ivec3(subgroupAllEqual(lessThan(data[1].i4.xyz, ivec3(0)))));

+        data[invocation].r = int(ivec4(subgroupAllEqual(lessThan(data[1].i4, ivec4(0)))));

+    }

+}

diff --git a/Test/glsl.es320.subgroup.frag b/Test/glsl.es320.subgroup.frag
new file mode 100644
index 0000000..baf59fb
--- /dev/null
+++ b/Test/glsl.es320.subgroup.frag
@@ -0,0 +1,7 @@
+#version 320 es

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(location = 0) out uvec4 data;

+void main (void)

+{

+  data = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}

diff --git a/Test/glsl.es320.subgroup.geom b/Test/glsl.es320.subgroup.geom
new file mode 100644
index 0000000..d071510
--- /dev/null
+++ b/Test/glsl.es320.subgroup.geom
@@ -0,0 +1,13 @@
+#version 320 es

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(points) in;

+layout(points, max_vertices = 1) out;

+layout(set = 0, binding = 0, std430) buffer Output

+{

+  uvec4 result[];

+};

+

+void main (void)

+{

+  result[gl_PrimitiveIDIn] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}

diff --git a/Test/glsl.es320.subgroup.tesc b/Test/glsl.es320.subgroup.tesc
new file mode 100644
index 0000000..c356d7f
--- /dev/null
+++ b/Test/glsl.es320.subgroup.tesc
@@ -0,0 +1,12 @@
+#version 320 es

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(vertices=1) out;

+layout(set = 0, binding = 0, std430) buffer Output

+{

+  uvec4 result[];

+};

+

+void main (void)

+{

+  result[gl_PrimitiveID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}

diff --git a/Test/glsl.es320.subgroup.tese b/Test/glsl.es320.subgroup.tese
new file mode 100644
index 0000000..29a9748
--- /dev/null
+++ b/Test/glsl.es320.subgroup.tese
@@ -0,0 +1,12 @@
+#version 320 es

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(isolines) in;

+layout(set = 0, binding = 0, std430) buffer Output

+{

+  uvec4 result[];

+};

+

+void main (void)

+{

+  result[gl_PrimitiveID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}

diff --git a/Test/glsl.es320.subgroup.vert b/Test/glsl.es320.subgroup.vert
new file mode 100644
index 0000000..3d8bd9a
--- /dev/null
+++ b/Test/glsl.es320.subgroup.vert
@@ -0,0 +1,11 @@
+#version 320 es

+#extension GL_KHR_shader_subgroup_basic: enable

+layout(set = 0, binding = 0, std430) buffer Output

+{

+  uvec4 result[];

+};

+

+void main (void)

+{

+  result[gl_VertexID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);

+}

diff --git a/Test/glsl.es320.subgroupArithmetic.comp b/Test/glsl.es320.subgroupArithmetic.comp
new file mode 100644
index 0000000..4db7db3
--- /dev/null
+++ b/Test/glsl.es320.subgroupArithmetic.comp
@@ -0,0 +1,332 @@
+#version 320 es

+

+#extension GL_KHR_shader_subgroup_arithmetic: enable

+

+layout (local_size_x = 8) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4u;

+

+    data[0].f4.x   = subgroupAdd(data[0].f4.x);

+    data[0].f4.xy  = subgroupAdd(data[1].f4.xy);

+    data[0].f4.xyz = subgroupAdd(data[2].f4.xyz);

+    data[0].f4     = subgroupAdd(data[3].f4);

+

+    data[1].i4.x   = subgroupAdd(data[0].i4.x);

+    data[1].i4.xy  = subgroupAdd(data[1].i4.xy);

+    data[1].i4.xyz = subgroupAdd(data[2].i4.xyz);

+    data[1].i4     = subgroupAdd(data[3].i4);

+

+    data[2].u4.x   = subgroupAdd(data[0].u4.x);

+    data[2].u4.xy  = subgroupAdd(data[1].u4.xy);

+    data[2].u4.xyz = subgroupAdd(data[2].u4.xyz);

+    data[2].u4     = subgroupAdd(data[3].u4);

+

+    data[3].f4.x   = subgroupMul(data[0].f4.x);

+    data[3].f4.xy  = subgroupMul(data[1].f4.xy);

+    data[3].f4.xyz = subgroupMul(data[2].f4.xyz);

+    data[3].f4     = subgroupMul(data[3].f4);

+

+    data[0].i4.x   = subgroupMul(data[0].i4.x);

+    data[0].i4.xy  = subgroupMul(data[1].i4.xy);

+    data[0].i4.xyz = subgroupMul(data[2].i4.xyz);

+    data[0].i4     = subgroupMul(data[3].i4);

+

+    data[1].u4.x   = subgroupMul(data[0].u4.x);

+    data[1].u4.xy  = subgroupMul(data[1].u4.xy);

+    data[1].u4.xyz = subgroupMul(data[2].u4.xyz);

+    data[1].u4     = subgroupMul(data[3].u4);

+

+    data[2].f4.x   = subgroupMin(data[0].f4.x);

+    data[2].f4.xy  = subgroupMin(data[1].f4.xy);

+    data[2].f4.xyz = subgroupMin(data[2].f4.xyz);

+    data[2].f4     = subgroupMin(data[3].f4);

+

+    data[3].i4.x   = subgroupMin(data[0].i4.x);

+    data[3].i4.xy  = subgroupMin(data[1].i4.xy);

+    data[3].i4.xyz = subgroupMin(data[2].i4.xyz);

+    data[3].i4     = subgroupMin(data[3].i4);

+

+    data[0].u4.x   = subgroupMin(data[0].u4.x);

+    data[0].u4.xy  = subgroupMin(data[1].u4.xy);

+    data[0].u4.xyz = subgroupMin(data[2].u4.xyz);

+    data[0].u4     = subgroupMin(data[3].u4);

+

+    data[1].f4.x   = subgroupMax(data[0].f4.x);

+    data[1].f4.xy  = subgroupMax(data[1].f4.xy);

+    data[1].f4.xyz = subgroupMax(data[2].f4.xyz);

+    data[1].f4     = subgroupMax(data[3].f4);

+

+    data[2].i4.x   = subgroupMax(data[0].i4.x);

+    data[2].i4.xy  = subgroupMax(data[1].i4.xy);

+    data[2].i4.xyz = subgroupMax(data[2].i4.xyz);

+    data[2].i4     = subgroupMax(data[3].i4);

+

+    data[3].u4.x   = subgroupMax(data[0].u4.x);

+    data[3].u4.xy  = subgroupMax(data[1].u4.xy);

+    data[3].u4.xyz = subgroupMax(data[2].u4.xyz);

+    data[3].u4     = subgroupMax(data[3].u4);

+

+    data[0].i4.x   = subgroupAnd(data[0].i4.x);

+    data[0].i4.xy  = subgroupAnd(data[1].i4.xy);

+    data[0].i4.xyz = subgroupAnd(data[2].i4.xyz);

+    data[0].i4     = subgroupAnd(data[3].i4);

+

+    data[1].u4.x   = subgroupAnd(data[0].u4.x);

+    data[1].u4.xy  = subgroupAnd(data[1].u4.xy);

+    data[1].u4.xyz = subgroupAnd(data[2].u4.xyz);

+    data[1].u4     = subgroupAnd(data[3].u4);

+

+    data[2].i4.x   =   int(subgroupAnd(data[0].i4.x < 0));

+    data[2].i4.xy  = ivec2(subgroupAnd(lessThan(data[1].i4.xy, ivec2(0))));

+    data[2].i4.xyz = ivec3(subgroupAnd(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[2].i4     = ivec4(subgroupAnd(lessThan(data[1].i4, ivec4(0))));

+

+    data[3].i4.x   = subgroupOr(data[0].i4.x);

+    data[3].i4.xy  = subgroupOr(data[1].i4.xy);

+    data[3].i4.xyz = subgroupOr(data[2].i4.xyz);

+    data[3].i4     = subgroupOr(data[3].i4);

+

+    data[0].u4.x   = subgroupOr(data[0].u4.x);

+    data[0].u4.xy  = subgroupOr(data[1].u4.xy);

+    data[0].u4.xyz = subgroupOr(data[2].u4.xyz);

+    data[0].u4     = subgroupOr(data[3].u4);

+

+    data[1].i4.x   =   int(subgroupOr(data[0].i4.x < 0));

+    data[1].i4.xy  = ivec2(subgroupOr(lessThan(data[1].i4.xy, ivec2(0))));

+    data[1].i4.xyz = ivec3(subgroupOr(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[1].i4     = ivec4(subgroupOr(lessThan(data[1].i4, ivec4(0))));

+

+    data[2].i4.x   = subgroupXor(data[0].i4.x);

+    data[2].i4.xy  = subgroupXor(data[1].i4.xy);

+    data[2].i4.xyz = subgroupXor(data[2].i4.xyz);

+    data[2].i4     = subgroupXor(data[3].i4);

+

+    data[3].u4.x   = subgroupXor(data[0].u4.x);

+    data[3].u4.xy  = subgroupXor(data[1].u4.xy);

+    data[3].u4.xyz = subgroupXor(data[2].u4.xyz);

+    data[3].u4     = subgroupXor(data[3].u4);

+

+    data[0].i4.x   =   int(subgroupXor(data[0].i4.x < 0));

+    data[0].i4.xy  = ivec2(subgroupXor(lessThan(data[1].i4.xy, ivec2(0))));

+    data[0].i4.xyz = ivec3(subgroupXor(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[0].i4     = ivec4(subgroupXor(lessThan(data[1].i4, ivec4(0))));

+

+    data[1].f4.x   = subgroupInclusiveAdd(data[0].f4.x);

+    data[1].f4.xy  = subgroupInclusiveAdd(data[1].f4.xy);

+    data[1].f4.xyz = subgroupInclusiveAdd(data[2].f4.xyz);

+    data[1].f4     = subgroupInclusiveAdd(data[3].f4);

+

+    data[2].i4.x   = subgroupInclusiveAdd(data[0].i4.x);

+    data[2].i4.xy  = subgroupInclusiveAdd(data[1].i4.xy);

+    data[2].i4.xyz = subgroupInclusiveAdd(data[2].i4.xyz);

+    data[2].i4     = subgroupInclusiveAdd(data[3].i4);

+

+    data[3].u4.x   = subgroupInclusiveAdd(data[0].u4.x);

+    data[3].u4.xy  = subgroupInclusiveAdd(data[1].u4.xy);

+    data[3].u4.xyz = subgroupInclusiveAdd(data[2].u4.xyz);

+    data[3].u4     = subgroupInclusiveAdd(data[3].u4);

+

+    data[0].f4.x   = subgroupInclusiveMul(data[0].f4.x);

+    data[0].f4.xy  = subgroupInclusiveMul(data[1].f4.xy);

+    data[0].f4.xyz = subgroupInclusiveMul(data[2].f4.xyz);

+    data[0].f4     = subgroupInclusiveMul(data[3].f4);

+

+    data[1].i4.x   = subgroupInclusiveMul(data[0].i4.x);

+    data[1].i4.xy  = subgroupInclusiveMul(data[1].i4.xy);

+    data[1].i4.xyz = subgroupInclusiveMul(data[2].i4.xyz);

+    data[1].i4     = subgroupInclusiveMul(data[3].i4);

+

+    data[2].u4.x   = subgroupInclusiveMul(data[0].u4.x);

+    data[2].u4.xy  = subgroupInclusiveMul(data[1].u4.xy);

+    data[2].u4.xyz = subgroupInclusiveMul(data[2].u4.xyz);

+    data[2].u4     = subgroupInclusiveMul(data[3].u4);

+

+    data[3].f4.x   = subgroupInclusiveMin(data[0].f4.x);

+    data[3].f4.xy  = subgroupInclusiveMin(data[1].f4.xy);

+    data[3].f4.xyz = subgroupInclusiveMin(data[2].f4.xyz);

+    data[3].f4     = subgroupInclusiveMin(data[3].f4);

+

+    data[0].i4.x   = subgroupInclusiveMin(data[0].i4.x);

+    data[0].i4.xy  = subgroupInclusiveMin(data[1].i4.xy);

+    data[0].i4.xyz = subgroupInclusiveMin(data[2].i4.xyz);

+    data[0].i4     = subgroupInclusiveMin(data[3].i4);

+

+    data[1].u4.x   = subgroupInclusiveMin(data[0].u4.x);

+    data[1].u4.xy  = subgroupInclusiveMin(data[1].u4.xy);

+    data[1].u4.xyz = subgroupInclusiveMin(data[2].u4.xyz);

+    data[1].u4     = subgroupInclusiveMin(data[3].u4);

+

+    data[2].f4.x   = subgroupInclusiveMax(data[0].f4.x);

+    data[2].f4.xy  = subgroupInclusiveMax(data[1].f4.xy);

+    data[2].f4.xyz = subgroupInclusiveMax(data[2].f4.xyz);

+    data[2].f4     = subgroupInclusiveMax(data[3].f4);

+

+    data[3].i4.x   = subgroupInclusiveMax(data[0].i4.x);

+    data[3].i4.xy  = subgroupInclusiveMax(data[1].i4.xy);

+    data[3].i4.xyz = subgroupInclusiveMax(data[2].i4.xyz);

+    data[3].i4     = subgroupInclusiveMax(data[3].i4);

+

+    data[0].u4.x   = subgroupInclusiveMax(data[0].u4.x);

+    data[0].u4.xy  = subgroupInclusiveMax(data[1].u4.xy);

+    data[0].u4.xyz = subgroupInclusiveMax(data[2].u4.xyz);

+    data[0].u4     = subgroupInclusiveMax(data[3].u4);

+

+    data[1].i4.x   = subgroupInclusiveAnd(data[0].i4.x);

+    data[1].i4.xy  = subgroupInclusiveAnd(data[1].i4.xy);

+    data[1].i4.xyz = subgroupInclusiveAnd(data[2].i4.xyz);

+    data[1].i4     = subgroupInclusiveAnd(data[3].i4);

+

+    data[2].u4.x   = subgroupInclusiveAnd(data[0].u4.x);

+    data[2].u4.xy  = subgroupInclusiveAnd(data[1].u4.xy);

+    data[2].u4.xyz = subgroupInclusiveAnd(data[2].u4.xyz);

+    data[2].u4     = subgroupInclusiveAnd(data[3].u4);

+

+    data[3].i4.x   =   int(subgroupInclusiveAnd(data[0].i4.x < 0));

+    data[3].i4.xy  = ivec2(subgroupInclusiveAnd(lessThan(data[1].i4.xy, ivec2(0))));

+    data[3].i4.xyz = ivec3(subgroupInclusiveAnd(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[3].i4     = ivec4(subgroupInclusiveAnd(lessThan(data[1].i4, ivec4(0))));

+

+    data[0].i4.x   = subgroupInclusiveOr(data[0].i4.x);

+    data[0].i4.xy  = subgroupInclusiveOr(data[1].i4.xy);

+    data[0].i4.xyz = subgroupInclusiveOr(data[2].i4.xyz);

+    data[0].i4     = subgroupInclusiveOr(data[3].i4);

+

+    data[1].u4.x   = subgroupInclusiveOr(data[0].u4.x);

+    data[1].u4.xy  = subgroupInclusiveOr(data[1].u4.xy);

+    data[1].u4.xyz = subgroupInclusiveOr(data[2].u4.xyz);

+    data[1].u4     = subgroupInclusiveOr(data[3].u4);

+

+    data[2].i4.x   =   int(subgroupInclusiveOr(data[0].i4.x < 0));

+    data[2].i4.xy  = ivec2(subgroupInclusiveOr(lessThan(data[1].i4.xy, ivec2(0))));

+    data[2].i4.xyz = ivec3(subgroupInclusiveOr(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[2].i4     = ivec4(subgroupInclusiveOr(lessThan(data[1].i4, ivec4(0))));

+

+    data[3].i4.x   = subgroupInclusiveXor(data[0].i4.x);

+    data[3].i4.xy  = subgroupInclusiveXor(data[1].i4.xy);

+    data[3].i4.xyz = subgroupInclusiveXor(data[2].i4.xyz);

+    data[3].i4     = subgroupInclusiveXor(data[3].i4);

+

+    data[0].u4.x   = subgroupInclusiveXor(data[0].u4.x);

+    data[0].u4.xy  = subgroupInclusiveXor(data[1].u4.xy);

+    data[0].u4.xyz = subgroupInclusiveXor(data[2].u4.xyz);

+    data[0].u4     = subgroupInclusiveXor(data[3].u4);

+

+    data[1].i4.x   =   int(subgroupInclusiveXor(data[0].i4.x < 0));

+    data[1].i4.xy  = ivec2(subgroupInclusiveXor(lessThan(data[1].i4.xy, ivec2(0))));

+    data[1].i4.xyz = ivec3(subgroupInclusiveXor(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[1].i4     = ivec4(subgroupInclusiveXor(lessThan(data[1].i4, ivec4(0))));

+

+    data[2].f4.x   = subgroupExclusiveAdd(data[0].f4.x);

+    data[2].f4.xy  = subgroupExclusiveAdd(data[1].f4.xy);

+    data[2].f4.xyz = subgroupExclusiveAdd(data[2].f4.xyz);

+    data[2].f4     = subgroupExclusiveAdd(data[3].f4);

+

+    data[3].i4.x   = subgroupExclusiveAdd(data[0].i4.x);

+    data[3].i4.xy  = subgroupExclusiveAdd(data[1].i4.xy);

+    data[3].i4.xyz = subgroupExclusiveAdd(data[2].i4.xyz);

+    data[3].i4     = subgroupExclusiveAdd(data[3].i4);

+

+    data[0].u4.x   = subgroupExclusiveAdd(data[0].u4.x);

+    data[0].u4.xy  = subgroupExclusiveAdd(data[1].u4.xy);

+    data[0].u4.xyz = subgroupExclusiveAdd(data[2].u4.xyz);

+    data[0].u4     = subgroupExclusiveAdd(data[3].u4);

+

+    data[1].f4.x   = subgroupExclusiveMul(data[0].f4.x);

+    data[1].f4.xy  = subgroupExclusiveMul(data[1].f4.xy);

+    data[1].f4.xyz = subgroupExclusiveMul(data[2].f4.xyz);

+    data[1].f4     = subgroupExclusiveMul(data[3].f4);

+

+    data[2].i4.x   = subgroupExclusiveMul(data[0].i4.x);

+    data[2].i4.xy  = subgroupExclusiveMul(data[1].i4.xy);

+    data[2].i4.xyz = subgroupExclusiveMul(data[2].i4.xyz);

+    data[2].i4     = subgroupExclusiveMul(data[3].i4);

+

+    data[3].u4.x   = subgroupExclusiveMul(data[0].u4.x);

+    data[3].u4.xy  = subgroupExclusiveMul(data[1].u4.xy);

+    data[3].u4.xyz = subgroupExclusiveMul(data[2].u4.xyz);

+    data[3].u4     = subgroupExclusiveMul(data[3].u4);

+

+    data[0].f4.x   = subgroupExclusiveMin(data[0].f4.x);

+    data[0].f4.xy  = subgroupExclusiveMin(data[1].f4.xy);

+    data[0].f4.xyz = subgroupExclusiveMin(data[2].f4.xyz);

+    data[0].f4     = subgroupExclusiveMin(data[3].f4);

+

+    data[1].i4.x   = subgroupExclusiveMin(data[0].i4.x);

+    data[1].i4.xy  = subgroupExclusiveMin(data[1].i4.xy);

+    data[1].i4.xyz = subgroupExclusiveMin(data[2].i4.xyz);

+    data[1].i4     = subgroupExclusiveMin(data[3].i4);

+

+    data[2].u4.x   = subgroupExclusiveMin(data[0].u4.x);

+    data[2].u4.xy  = subgroupExclusiveMin(data[1].u4.xy);

+    data[2].u4.xyz = subgroupExclusiveMin(data[2].u4.xyz);

+    data[2].u4     = subgroupExclusiveMin(data[3].u4);

+

+    data[3].f4.x   = subgroupExclusiveMax(data[0].f4.x);

+    data[3].f4.xy  = subgroupExclusiveMax(data[1].f4.xy);

+    data[3].f4.xyz = subgroupExclusiveMax(data[2].f4.xyz);

+    data[3].f4     = subgroupExclusiveMax(data[3].f4);

+

+    data[0].i4.x   = subgroupExclusiveMax(data[0].i4.x);

+    data[0].i4.xy  = subgroupExclusiveMax(data[1].i4.xy);

+    data[0].i4.xyz = subgroupExclusiveMax(data[2].i4.xyz);

+    data[0].i4     = subgroupExclusiveMax(data[3].i4);

+

+    data[1].u4.x   = subgroupExclusiveMax(data[0].u4.x);

+    data[1].u4.xy  = subgroupExclusiveMax(data[1].u4.xy);

+    data[1].u4.xyz = subgroupExclusiveMax(data[2].u4.xyz);

+    data[1].u4     = subgroupExclusiveMax(data[3].u4);

+

+    data[2].i4.x   = subgroupExclusiveAnd(data[0].i4.x);

+    data[2].i4.xy  = subgroupExclusiveAnd(data[1].i4.xy);

+    data[2].i4.xyz = subgroupExclusiveAnd(data[2].i4.xyz);

+    data[2].i4     = subgroupExclusiveAnd(data[3].i4);

+

+    data[3].u4.x   = subgroupExclusiveAnd(data[0].u4.x);

+    data[3].u4.xy  = subgroupExclusiveAnd(data[1].u4.xy);

+    data[3].u4.xyz = subgroupExclusiveAnd(data[2].u4.xyz);

+    data[3].u4     = subgroupExclusiveAnd(data[3].u4);

+

+    data[0].i4.x   =   int(subgroupExclusiveAnd(data[0].i4.x < 0));

+    data[0].i4.xy  = ivec2(subgroupExclusiveAnd(lessThan(data[1].i4.xy, ivec2(0))));

+    data[0].i4.xyz = ivec3(subgroupExclusiveAnd(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[0].i4     = ivec4(subgroupExclusiveAnd(lessThan(data[1].i4, ivec4(0))));

+

+    data[1].i4.x   = subgroupExclusiveOr(data[0].i4.x);

+    data[1].i4.xy  = subgroupExclusiveOr(data[1].i4.xy);

+    data[1].i4.xyz = subgroupExclusiveOr(data[2].i4.xyz);

+    data[1].i4     = subgroupExclusiveOr(data[3].i4);

+

+    data[2].u4.x   = subgroupExclusiveOr(data[0].u4.x);

+    data[2].u4.xy  = subgroupExclusiveOr(data[1].u4.xy);

+    data[2].u4.xyz = subgroupExclusiveOr(data[2].u4.xyz);

+    data[2].u4     = subgroupExclusiveOr(data[3].u4);

+

+    data[3].i4.x   =   int(subgroupExclusiveOr(data[0].i4.x < 0));

+    data[3].i4.xy  = ivec2(subgroupExclusiveOr(lessThan(data[1].i4.xy, ivec2(0))));

+    data[3].i4.xyz = ivec3(subgroupExclusiveOr(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[3].i4     = ivec4(subgroupExclusiveOr(lessThan(data[1].i4, ivec4(0))));

+

+    data[0].i4.x   = subgroupExclusiveXor(data[0].i4.x);

+    data[0].i4.xy  = subgroupExclusiveXor(data[1].i4.xy);

+    data[0].i4.xyz = subgroupExclusiveXor(data[2].i4.xyz);

+    data[0].i4     = subgroupExclusiveXor(data[3].i4);

+

+    data[1].u4.x   = subgroupExclusiveXor(data[0].u4.x);

+    data[1].u4.xy  = subgroupExclusiveXor(data[1].u4.xy);

+    data[1].u4.xyz = subgroupExclusiveXor(data[2].u4.xyz);

+    data[1].u4     = subgroupExclusiveXor(data[3].u4);

+

+    data[2].i4.x   =   int(subgroupExclusiveXor(data[0].i4.x < 0));

+    data[2].i4.xy  = ivec2(subgroupExclusiveXor(lessThan(data[1].i4.xy, ivec2(0))));

+    data[2].i4.xyz = ivec3(subgroupExclusiveXor(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[2].i4     = ivec4(subgroupExclusiveXor(lessThan(data[1].i4, ivec4(0))));

+}

diff --git a/Test/glsl.es320.subgroupBallot.comp b/Test/glsl.es320.subgroupBallot.comp
new file mode 100644
index 0000000..1764c23
--- /dev/null
+++ b/Test/glsl.es320.subgroupBallot.comp
@@ -0,0 +1,75 @@
+#version 320 es

+

+#extension GL_KHR_shader_subgroup_ballot: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4u;

+

+    uvec4 relMask = gl_SubgroupEqMask +

+                       gl_SubgroupGeMask +

+                       gl_SubgroupGtMask +

+                       gl_SubgroupLeMask +

+                       gl_SubgroupLtMask;

+

+    uvec4 result = subgroupBallot(true);

+

+    data[0].u4.x = subgroupBallotBitCount(result);

+    data[0].u4.y = subgroupBallotBitExtract(result, 0u) ? 1u : 0u;

+    data[0].u4.z = subgroupBallotInclusiveBitCount(result) + subgroupBallotExclusiveBitCount(result);

+    data[0].u4.w = subgroupBallotFindLSB(result) + subgroupBallotFindMSB(result);

+

+    if ((relMask == result) && subgroupInverseBallot(data[0].u4))

+    {

+        data[1].f4.x   = subgroupBroadcast(data[0].f4.x,    3u);

+        data[1].f4.xy  = subgroupBroadcast(data[1].f4.xy,   3u);

+        data[1].f4.xyz = subgroupBroadcast(data[2].f4.xyz,  3u);

+        data[1].f4     = subgroupBroadcast(data[3].f4,      3u);

+

+        data[2].i4.x   = subgroupBroadcast(data[0].i4.x,    2u);

+        data[2].i4.xy  = subgroupBroadcast(data[1].i4.xy,   2u);

+        data[2].i4.xyz = subgroupBroadcast(data[2].i4.xyz,  2u);

+        data[2].i4     = subgroupBroadcast(data[3].i4,      2u);

+

+        data[3].u4.x   = subgroupBroadcast(data[0].u4.x,    1u);

+        data[3].u4.xy  = subgroupBroadcast(data[1].u4.xy,   1u);

+        data[3].u4.xyz = subgroupBroadcast(data[2].u4.xyz,  1u);

+        data[3].u4     = subgroupBroadcast(data[3].u4,      1u);

+

+        data[0].i4.x   = int(subgroupBroadcast(data[0].i4.x < 0,            1u));

+        data[0].i4.xy  = ivec2(subgroupBroadcast(lessThan(data[1].i4.xy, ivec2(0)), 1u));

+        data[0].i4.xyz = ivec3(subgroupBroadcast(lessThan(data[1].i4.xyz, ivec3(0)), 1u));

+        data[0].i4     = ivec4(subgroupBroadcast(lessThan(data[1].i4, ivec4(0)), 1u));

+    }

+    else

+    {

+        data[1].f4.x   = subgroupBroadcastFirst(data[0].f4.x);

+        data[1].f4.xy  = subgroupBroadcastFirst(data[1].f4.xy);

+        data[1].f4.xyz = subgroupBroadcastFirst(data[2].f4.xyz);

+        data[1].f4     = subgroupBroadcastFirst(data[3].f4);

+

+        data[2].i4.x   = subgroupBroadcastFirst(data[0].i4.x);

+        data[2].i4.xy  = subgroupBroadcastFirst(data[1].i4.xy);

+        data[2].i4.xyz = subgroupBroadcastFirst(data[2].i4.xyz);

+        data[2].i4     = subgroupBroadcastFirst(data[3].i4);

+

+        data[3].u4.x   = subgroupBroadcastFirst(data[0].u4.x);

+        data[3].u4.xy  = subgroupBroadcastFirst(data[1].u4.xy);

+        data[3].u4.xyz = subgroupBroadcastFirst(data[2].u4.xyz);

+        data[3].u4     = subgroupBroadcastFirst(data[3].u4);

+

+        data[0].i4.x   = int(subgroupBroadcastFirst(data[0].i4.x < 0));

+        data[0].i4.xy  = ivec2(subgroupBroadcastFirst(lessThan(data[1].i4.xy, ivec2(0))));

+        data[0].i4.xyz = ivec3(subgroupBroadcastFirst(lessThan(data[1].i4.xyz, ivec3(0))));

+        data[0].i4     = ivec4(subgroupBroadcastFirst(lessThan(data[1].i4, ivec4(0))));

+    }

+}

diff --git a/Test/glsl.es320.subgroupBallotNeg.comp b/Test/glsl.es320.subgroupBallotNeg.comp
new file mode 100644
index 0000000..80ee6f8
--- /dev/null
+++ b/Test/glsl.es320.subgroupBallotNeg.comp
@@ -0,0 +1,32 @@
+#version 450

+

+#extension GL_KHR_shader_subgroup_ballot: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4u;

+

+    uvec4 relMask = gl_SubgroupEqMask +

+                       gl_SubgroupGeMask +

+                       gl_SubgroupGtMask +

+                       gl_SubgroupLeMask +

+                       gl_SubgroupLtMask;

+

+    uvec4 result = subgroupBallot(true);

+

+    data[0].u4.x = subgroupBallotBitCount(result);

+    data[0].u4.y = subgroupBallotBitExtract(result, 0) ? 1u : 0u;

+    data[0].u4.z = subgroupBallotInclusiveBitCount(result) + subgroupBallotExclusiveBitCount(result);

+    data[0].u4.w = subgroupBallotFindLSB(result) + subgroupBallotFindMSB(result);

+

+    data[1].f4.x   = subgroupBroadcast(data[0].f4.x,    invocation);  // ERROR: not constant

+}

diff --git a/Test/glsl.es320.subgroupBasic.comp b/Test/glsl.es320.subgroupBasic.comp
new file mode 100644
index 0000000..7dc7458
--- /dev/null
+++ b/Test/glsl.es320.subgroupBasic.comp
@@ -0,0 +1,23 @@
+#version 320 es

+

+#extension GL_KHR_shader_subgroup_basic: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffer

+{

+    int a[];

+} data;

+

+void main()

+{

+    data.a[gl_SubgroupSize] = 1;

+    data.a[gl_SubgroupInvocationID] = 1;

+    data.a[gl_NumSubgroups] = 1;

+    data.a[gl_SubgroupID] = (subgroupElect()) ? 1 : 0;

+    subgroupBarrier();

+    subgroupMemoryBarrier();

+    subgroupMemoryBarrierBuffer();

+    subgroupMemoryBarrierShared();

+    subgroupMemoryBarrierImage();

+}

diff --git a/Test/glsl.es320.subgroupClustered.comp b/Test/glsl.es320.subgroupClustered.comp
new file mode 100644
index 0000000..61764e5
--- /dev/null
+++ b/Test/glsl.es320.subgroupClustered.comp
@@ -0,0 +1,122 @@
+#version 320 es

+

+#extension GL_KHR_shader_subgroup_clustered: enable

+

+layout (local_size_x = 8) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4u;

+

+    data[0].f4.x   = subgroupClusteredAdd(data[0].f4.x, 1u);

+    data[0].f4.xy  = subgroupClusteredAdd(data[1].f4.xy, 1u);

+    data[0].f4.xyz = subgroupClusteredAdd(data[2].f4.xyz, 1u);

+    data[0].f4     = subgroupClusteredAdd(data[3].f4, 1u);

+

+    data[1].i4.x   = subgroupClusteredAdd(data[0].i4.x, 1u);

+    data[1].i4.xy  = subgroupClusteredAdd(data[1].i4.xy, 1u);

+    data[1].i4.xyz = subgroupClusteredAdd(data[2].i4.xyz, 1u);

+    data[1].i4     = subgroupClusteredAdd(data[3].i4, 1u);

+

+    data[2].u4.x   = subgroupClusteredAdd(data[0].u4.x, 1u);

+    data[2].u4.xy  = subgroupClusteredAdd(data[1].u4.xy, 1u);

+    data[2].u4.xyz = subgroupClusteredAdd(data[2].u4.xyz, 1u);

+    data[2].u4     = subgroupClusteredAdd(data[3].u4, 1u);

+

+    data[3].f4.x   = subgroupClusteredMul(data[0].f4.x, 1u);

+    data[3].f4.xy  = subgroupClusteredMul(data[1].f4.xy, 1u);

+    data[3].f4.xyz = subgroupClusteredMul(data[2].f4.xyz, 1u);

+    data[3].f4     = subgroupClusteredMul(data[3].f4, 1u);

+

+    data[0].i4.x   = subgroupClusteredMul(data[0].i4.x, 1u);

+    data[0].i4.xy  = subgroupClusteredMul(data[1].i4.xy, 1u);

+    data[0].i4.xyz = subgroupClusteredMul(data[2].i4.xyz, 1u);

+    data[0].i4     = subgroupClusteredMul(data[3].i4, 1u);

+

+    data[1].u4.x   = subgroupClusteredMul(data[0].u4.x, 1u);

+    data[1].u4.xy  = subgroupClusteredMul(data[1].u4.xy, 1u);

+    data[1].u4.xyz = subgroupClusteredMul(data[2].u4.xyz, 1u);

+    data[1].u4     = subgroupClusteredMul(data[3].u4, 1u);

+

+    data[2].f4.x   = subgroupClusteredMin(data[0].f4.x, 1u);

+    data[2].f4.xy  = subgroupClusteredMin(data[1].f4.xy, 1u);

+    data[2].f4.xyz = subgroupClusteredMin(data[2].f4.xyz, 1u);

+    data[2].f4     = subgroupClusteredMin(data[3].f4, 1u);

+

+    data[3].i4.x   = subgroupClusteredMin(data[0].i4.x, 1u);

+    data[3].i4.xy  = subgroupClusteredMin(data[1].i4.xy, 1u);

+    data[3].i4.xyz = subgroupClusteredMin(data[2].i4.xyz, 1u);

+    data[3].i4     = subgroupClusteredMin(data[3].i4, 1u);

+

+    data[0].u4.x   = subgroupClusteredMin(data[0].u4.x, 1u);

+    data[0].u4.xy  = subgroupClusteredMin(data[1].u4.xy, 1u);

+    data[0].u4.xyz = subgroupClusteredMin(data[2].u4.xyz, 1u);

+    data[0].u4     = subgroupClusteredMin(data[3].u4, 1u);

+

+    data[1].f4.x   = subgroupClusteredMax(data[0].f4.x, 1u);

+    data[1].f4.xy  = subgroupClusteredMax(data[1].f4.xy, 1u);

+    data[1].f4.xyz = subgroupClusteredMax(data[2].f4.xyz, 1u);

+    data[1].f4     = subgroupClusteredMax(data[3].f4, 1u);

+

+    data[2].i4.x   = subgroupClusteredMax(data[0].i4.x, 1u);

+    data[2].i4.xy  = subgroupClusteredMax(data[1].i4.xy, 1u);

+    data[2].i4.xyz = subgroupClusteredMax(data[2].i4.xyz, 1u);

+    data[2].i4     = subgroupClusteredMax(data[3].i4, 1u);

+

+    data[3].u4.x   = subgroupClusteredMax(data[0].u4.x, 1u);

+    data[3].u4.xy  = subgroupClusteredMax(data[1].u4.xy, 1u);

+    data[3].u4.xyz = subgroupClusteredMax(data[2].u4.xyz, 1u);

+    data[3].u4     = subgroupClusteredMax(data[3].u4, 1u);

+

+    data[0].i4.x   = subgroupClusteredAnd(data[0].i4.x, 1u);

+    data[0].i4.xy  = subgroupClusteredAnd(data[1].i4.xy, 1u);

+    data[0].i4.xyz = subgroupClusteredAnd(data[2].i4.xyz, 1u);

+    data[0].i4     = subgroupClusteredAnd(data[3].i4, 1u);

+

+    data[1].u4.x   = subgroupClusteredAnd(data[0].u4.x, 1u);

+    data[1].u4.xy  = subgroupClusteredAnd(data[1].u4.xy, 1u);

+    data[1].u4.xyz = subgroupClusteredAnd(data[2].u4.xyz, 1u);

+    data[1].u4     = subgroupClusteredAnd(data[3].u4, 1u);

+

+    data[2].i4.x   =   int(subgroupClusteredAnd(data[0].i4.x < 0, 1u));

+    data[2].i4.xy  = ivec2(subgroupClusteredAnd(lessThan(data[1].i4.xy, ivec2(0)), 1u));

+    data[2].i4.xyz = ivec3(subgroupClusteredAnd(lessThan(data[1].i4.xyz, ivec3(0)), 1u));

+    data[2].i4     = ivec4(subgroupClusteredAnd(lessThan(data[1].i4, ivec4(0)), 1u));

+

+    data[3].i4.x   = subgroupClusteredOr(data[0].i4.x, 1u);

+    data[3].i4.xy  = subgroupClusteredOr(data[1].i4.xy, 1u);

+    data[3].i4.xyz = subgroupClusteredOr(data[2].i4.xyz, 1u);

+    data[3].i4     = subgroupClusteredOr(data[3].i4, 1u);

+

+    data[0].u4.x   = subgroupClusteredOr(data[0].u4.x, 1u);

+    data[0].u4.xy  = subgroupClusteredOr(data[1].u4.xy, 1u);

+    data[0].u4.xyz = subgroupClusteredOr(data[2].u4.xyz, 1u);

+    data[0].u4     = subgroupClusteredOr(data[3].u4, 1u);

+

+    data[1].i4.x   =   int(subgroupClusteredOr(data[0].i4.x < 0, 1u));

+    data[1].i4.xy  = ivec2(subgroupClusteredOr(lessThan(data[1].i4.xy, ivec2(0)), 1u));

+    data[1].i4.xyz = ivec3(subgroupClusteredOr(lessThan(data[1].i4.xyz, ivec3(0)), 1u));

+    data[1].i4     = ivec4(subgroupClusteredOr(lessThan(data[1].i4, ivec4(0)), 1u));

+

+    data[2].i4.x   = subgroupClusteredXor(data[0].i4.x, 1u);

+    data[2].i4.xy  = subgroupClusteredXor(data[1].i4.xy, 1u);

+    data[2].i4.xyz = subgroupClusteredXor(data[2].i4.xyz, 1u);

+    data[2].i4     = subgroupClusteredXor(data[3].i4, 1u);

+

+    data[3].u4.x   = subgroupClusteredXor(data[0].u4.x, 1u);

+    data[3].u4.xy  = subgroupClusteredXor(data[1].u4.xy, 1u);

+    data[3].u4.xyz = subgroupClusteredXor(data[2].u4.xyz, 1u);

+    data[3].u4     = subgroupClusteredXor(data[3].u4, 1u);

+

+    data[0].i4.x   =   int(subgroupClusteredXor(data[0].i4.x < 0, 1u));

+    data[0].i4.xy  = ivec2(subgroupClusteredXor(lessThan(data[1].i4.xy, ivec2(0)), 1u));

+    data[0].i4.xyz = ivec3(subgroupClusteredXor(lessThan(data[1].i4.xyz, ivec3(0)), 1u));

+    data[0].i4     = ivec4(subgroupClusteredXor(lessThan(data[1].i4, ivec4(0)), 1u));

+}

diff --git a/Test/glsl.es320.subgroupClusteredNeg.comp b/Test/glsl.es320.subgroupClusteredNeg.comp
new file mode 100644
index 0000000..0eb50d8
--- /dev/null
+++ b/Test/glsl.es320.subgroupClusteredNeg.comp
@@ -0,0 +1,34 @@
+#version 320 es

+

+#extension GL_KHR_shader_subgroup_clustered: enable

+

+layout (local_size_x = 8) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+} data[4];

+

+void main()

+{

+    int a = 1;

+    const int aConst = 1;

+

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4u;

+

+    data[0].f4.xy  = subgroupClusteredAdd(data[1].f4.xy, 0u);          // ERROR, less than 1

+

+    data[0].f4.x   = subgroupClusteredMul(data[0].f4.x, 3u);           // ERROR, not a power of 2

+

+    data[1].i4.xy  = subgroupClusteredMin(data[1].i4.xy, 8u);

+    data[1].i4.xyz = subgroupClusteredMin(data[2].i4.xyz, 6u);         // ERROR, not a power of 2

+

+    data[3].i4.x   = subgroupClusteredOr(data[0].i4.x, uint(a));            // ERROR, not constant

+    data[3].i4.xy  = subgroupClusteredOr(data[1].i4.xy, uint(aConst));

+

+    data[0].i4.x   = subgroupClusteredXor(data[0].i4.x, uint(1 + a));       // ERROR, not constant

+    data[0].i4.xy  = subgroupClusteredXor(data[1].i4.xy, uint(aConst + a)); // ERROR, not constant

+    data[0].i4.xyz = subgroupClusteredXor(data[2].i4.xyz, uint(1 + aConst));

+}

diff --git a/Test/glsl.es320.subgroupPartitioned.comp b/Test/glsl.es320.subgroupPartitioned.comp
new file mode 100644
index 0000000..15f13a0
--- /dev/null
+++ b/Test/glsl.es320.subgroupPartitioned.comp
@@ -0,0 +1,354 @@
+#version 320 es

+

+#extension GL_NV_shader_subgroup_partitioned: enable

+

+layout (local_size_x = 8) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4u;

+

+    uvec4 ballot = subgroupPartitionNV(invocation);

+

+    data[0].u4 = subgroupPartitionNV(data[0].f4.x);

+    data[0].u4 = subgroupPartitionNV(data[0].f4.xy);

+    data[0].u4 = subgroupPartitionNV(data[0].f4.xyz);

+    data[0].u4 = subgroupPartitionNV(data[0].f4);

+

+    data[0].u4 = subgroupPartitionNV(data[0].i4.x);

+    data[0].u4 = subgroupPartitionNV(data[0].i4.xy);

+    data[0].u4 = subgroupPartitionNV(data[0].i4.xyz);

+    data[0].u4 = subgroupPartitionNV(data[0].i4);

+

+    data[0].u4 = subgroupPartitionNV(data[0].u4.x);

+    data[0].u4 = subgroupPartitionNV(data[0].u4.xy);

+    data[0].u4 = subgroupPartitionNV(data[0].u4.xyz);

+    data[0].u4 = subgroupPartitionNV(data[0].u4);

+

+    data[1].u4 = subgroupPartitionNV(bool(data[0].i4.x));

+    data[1].u4 = subgroupPartitionNV(bvec2(data[0].i4.xy));

+    data[1].u4 = subgroupPartitionNV(bvec3(data[0].i4.xyz));

+    data[1].u4 = subgroupPartitionNV(bvec4(data[0].i4));

+

+    data[1].f4.x   = subgroupPartitionedAddNV(data[0].f4.x, ballot);

+    data[1].f4.xy  = subgroupPartitionedAddNV(data[1].f4.xy, ballot);

+    data[1].f4.xyz = subgroupPartitionedAddNV(data[2].f4.xyz, ballot);

+    data[1].f4     = subgroupPartitionedAddNV(data[3].f4, ballot);

+

+    data[1].i4.x   = subgroupPartitionedAddNV(data[0].i4.x, ballot);

+    data[1].i4.xy  = subgroupPartitionedAddNV(data[1].i4.xy, ballot);

+    data[1].i4.xyz = subgroupPartitionedAddNV(data[2].i4.xyz, ballot);

+    data[1].i4     = subgroupPartitionedAddNV(data[3].i4, ballot);

+

+    data[1].u4.x   = subgroupPartitionedAddNV(data[0].u4.x, ballot);

+    data[1].u4.xy  = subgroupPartitionedAddNV(data[1].u4.xy, ballot);

+    data[1].u4.xyz = subgroupPartitionedAddNV(data[2].u4.xyz, ballot);

+    data[1].u4     = subgroupPartitionedAddNV(data[3].u4, ballot);

+

+    data[2].f4.x   = subgroupPartitionedMulNV(data[0].f4.x, ballot);

+    data[2].f4.xy  = subgroupPartitionedMulNV(data[1].f4.xy, ballot);

+    data[2].f4.xyz = subgroupPartitionedMulNV(data[2].f4.xyz, ballot);

+    data[2].f4     = subgroupPartitionedMulNV(data[3].f4, ballot);

+

+    data[2].i4.x   = subgroupPartitionedMulNV(data[0].i4.x, ballot);

+    data[2].i4.xy  = subgroupPartitionedMulNV(data[1].i4.xy, ballot);

+    data[2].i4.xyz = subgroupPartitionedMulNV(data[2].i4.xyz, ballot);

+    data[2].i4     = subgroupPartitionedMulNV(data[3].i4, ballot);

+

+    data[2].u4.x   = subgroupPartitionedMulNV(data[0].u4.x, ballot);

+    data[2].u4.xy  = subgroupPartitionedMulNV(data[1].u4.xy, ballot);

+    data[2].u4.xyz = subgroupPartitionedMulNV(data[2].u4.xyz, ballot);

+    data[2].u4     = subgroupPartitionedMulNV(data[3].u4, ballot);

+

+    data[2].f4.x   = subgroupPartitionedMinNV(data[0].f4.x, ballot);

+    data[2].f4.xy  = subgroupPartitionedMinNV(data[1].f4.xy, ballot);

+    data[2].f4.xyz = subgroupPartitionedMinNV(data[2].f4.xyz, ballot);

+    data[2].f4     = subgroupPartitionedMinNV(data[3].f4, ballot);

+

+    data[3].i4.x   = subgroupPartitionedMinNV(data[0].i4.x, ballot);

+    data[3].i4.xy  = subgroupPartitionedMinNV(data[1].i4.xy, ballot);

+    data[3].i4.xyz = subgroupPartitionedMinNV(data[2].i4.xyz, ballot);

+    data[3].i4     = subgroupPartitionedMinNV(data[3].i4, ballot);

+

+    data[3].u4.x   = subgroupPartitionedMinNV(data[0].u4.x, ballot);

+    data[3].u4.xy  = subgroupPartitionedMinNV(data[1].u4.xy, ballot);

+    data[3].u4.xyz = subgroupPartitionedMinNV(data[2].u4.xyz, ballot);

+    data[3].u4     = subgroupPartitionedMinNV(data[3].u4, ballot);

+

+    data[3].f4.x   = subgroupPartitionedMaxNV(data[0].f4.x, ballot);

+    data[3].f4.xy  = subgroupPartitionedMaxNV(data[1].f4.xy, ballot);

+    data[3].f4.xyz = subgroupPartitionedMaxNV(data[2].f4.xyz, ballot);

+    data[3].f4     = subgroupPartitionedMaxNV(data[3].f4, ballot);

+

+    data[0].i4.x   = subgroupPartitionedMaxNV(data[0].i4.x, ballot);

+    data[0].i4.xy  = subgroupPartitionedMaxNV(data[1].i4.xy, ballot);

+    data[0].i4.xyz = subgroupPartitionedMaxNV(data[2].i4.xyz, ballot);

+    data[0].i4     = subgroupPartitionedMaxNV(data[3].i4, ballot);

+

+    data[0].u4.x   = subgroupPartitionedMaxNV(data[0].u4.x, ballot);

+    data[0].u4.xy  = subgroupPartitionedMaxNV(data[1].u4.xy, ballot);

+    data[0].u4.xyz = subgroupPartitionedMaxNV(data[2].u4.xyz, ballot);

+    data[0].u4     = subgroupPartitionedMaxNV(data[3].u4, ballot);

+

+    data[0].i4.x   = subgroupPartitionedAndNV(data[0].i4.x, ballot);

+    data[0].i4.xy  = subgroupPartitionedAndNV(data[1].i4.xy, ballot);

+    data[0].i4.xyz = subgroupPartitionedAndNV(data[2].i4.xyz, ballot);

+    data[0].i4     = subgroupPartitionedAndNV(data[3].i4, ballot);

+

+    data[1].u4.x   = subgroupPartitionedAndNV(data[0].u4.x, ballot);

+    data[1].u4.xy  = subgroupPartitionedAndNV(data[1].u4.xy, ballot);

+    data[1].u4.xyz = subgroupPartitionedAndNV(data[2].u4.xyz, ballot);

+    data[1].u4     = subgroupPartitionedAndNV(data[3].u4, ballot);

+

+    data[1].i4.x   =   int(subgroupPartitionedAndNV(data[0].i4.x < 0, ballot));

+    data[1].i4.xy  = ivec2(subgroupPartitionedAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[1].i4.xyz = ivec3(subgroupPartitionedAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[1].i4     = ivec4(subgroupPartitionedAndNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[1].i4.x   = subgroupPartitionedOrNV(data[0].i4.x, ballot);

+    data[1].i4.xy  = subgroupPartitionedOrNV(data[1].i4.xy, ballot);

+    data[1].i4.xyz = subgroupPartitionedOrNV(data[2].i4.xyz, ballot);

+    data[1].i4     = subgroupPartitionedOrNV(data[3].i4, ballot);

+

+    data[2].u4.x   = subgroupPartitionedOrNV(data[0].u4.x, ballot);

+    data[2].u4.xy  = subgroupPartitionedOrNV(data[1].u4.xy, ballot);

+    data[2].u4.xyz = subgroupPartitionedOrNV(data[2].u4.xyz, ballot);

+    data[2].u4     = subgroupPartitionedOrNV(data[3].u4, ballot);

+

+    data[2].i4.x   =   int(subgroupPartitionedOrNV(data[0].i4.x < 0, ballot));

+    data[2].i4.xy  = ivec2(subgroupPartitionedOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[2].i4.xyz = ivec3(subgroupPartitionedOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[2].i4     = ivec4(subgroupPartitionedOrNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[2].i4.x   = subgroupPartitionedXorNV(data[0].i4.x, ballot);

+    data[2].i4.xy  = subgroupPartitionedXorNV(data[1].i4.xy, ballot);

+    data[2].i4.xyz = subgroupPartitionedXorNV(data[2].i4.xyz, ballot);

+    data[2].i4     = subgroupPartitionedXorNV(data[3].i4, ballot);

+

+    data[2].u4.x   = subgroupPartitionedXorNV(data[0].u4.x, ballot);

+    data[2].u4.xy  = subgroupPartitionedXorNV(data[1].u4.xy, ballot);

+    data[2].u4.xyz = subgroupPartitionedXorNV(data[2].u4.xyz, ballot);

+    data[2].u4     = subgroupPartitionedXorNV(data[3].u4, ballot);

+

+    data[3].i4.x   =   int(subgroupPartitionedXorNV(data[0].i4.x < 0, ballot));

+    data[3].i4.xy  = ivec2(subgroupPartitionedXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[3].i4.xyz = ivec3(subgroupPartitionedXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[3].i4     = ivec4(subgroupPartitionedXorNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[3].f4.x   = subgroupPartitionedInclusiveAddNV(data[0].f4.x, ballot);

+    data[3].f4.xy  = subgroupPartitionedInclusiveAddNV(data[1].f4.xy, ballot);

+    data[3].f4.xyz = subgroupPartitionedInclusiveAddNV(data[2].f4.xyz, ballot);

+    data[3].f4     = subgroupPartitionedInclusiveAddNV(data[3].f4, ballot);

+

+    data[3].i4.x   = subgroupPartitionedInclusiveAddNV(data[0].i4.x, ballot);

+    data[3].i4.xy  = subgroupPartitionedInclusiveAddNV(data[1].i4.xy, ballot);

+    data[3].i4.xyz = subgroupPartitionedInclusiveAddNV(data[2].i4.xyz, ballot);

+    data[3].i4     = subgroupPartitionedInclusiveAddNV(data[3].i4, ballot);

+

+    data[3].u4.x   = subgroupPartitionedInclusiveAddNV(data[0].u4.x, ballot);

+    data[3].u4.xy  = subgroupPartitionedInclusiveAddNV(data[1].u4.xy, ballot);

+    data[3].u4.xyz = subgroupPartitionedInclusiveAddNV(data[2].u4.xyz, ballot);

+    data[3].u4     = subgroupPartitionedInclusiveAddNV(data[3].u4, ballot);

+

+    data[3].f4.x   = subgroupPartitionedInclusiveMulNV(data[0].f4.x, ballot);

+    data[3].f4.xy  = subgroupPartitionedInclusiveMulNV(data[1].f4.xy, ballot);

+    data[3].f4.xyz = subgroupPartitionedInclusiveMulNV(data[2].f4.xyz, ballot);

+    data[3].f4     = subgroupPartitionedInclusiveMulNV(data[3].f4, ballot);

+

+    data[3].i4.x   = subgroupPartitionedInclusiveMulNV(data[0].i4.x, ballot);

+    data[3].i4.xy  = subgroupPartitionedInclusiveMulNV(data[1].i4.xy, ballot);

+    data[3].i4.xyz = subgroupPartitionedInclusiveMulNV(data[2].i4.xyz, ballot);

+    data[3].i4     = subgroupPartitionedInclusiveMulNV(data[3].i4, ballot);

+

+    data[0].u4.x   = subgroupPartitionedInclusiveMulNV(data[0].u4.x, ballot);

+    data[0].u4.xy  = subgroupPartitionedInclusiveMulNV(data[1].u4.xy, ballot);

+    data[0].u4.xyz = subgroupPartitionedInclusiveMulNV(data[2].u4.xyz, ballot);

+    data[0].u4     = subgroupPartitionedInclusiveMulNV(data[3].u4, ballot);

+

+    data[0].f4.x   = subgroupPartitionedInclusiveMinNV(data[0].f4.x, ballot);

+    data[0].f4.xy  = subgroupPartitionedInclusiveMinNV(data[1].f4.xy, ballot);

+    data[0].f4.xyz = subgroupPartitionedInclusiveMinNV(data[2].f4.xyz, ballot);

+    data[0].f4     = subgroupPartitionedInclusiveMinNV(data[3].f4, ballot);

+

+    data[0].i4.x   = subgroupPartitionedInclusiveMinNV(data[0].i4.x, ballot);

+    data[0].i4.xy  = subgroupPartitionedInclusiveMinNV(data[1].i4.xy, ballot);

+    data[0].i4.xyz = subgroupPartitionedInclusiveMinNV(data[2].i4.xyz, ballot);

+    data[0].i4     = subgroupPartitionedInclusiveMinNV(data[3].i4, ballot);

+

+    data[0].u4.x   = subgroupPartitionedInclusiveMinNV(data[0].u4.x, ballot);

+    data[0].u4.xy  = subgroupPartitionedInclusiveMinNV(data[1].u4.xy, ballot);

+    data[0].u4.xyz = subgroupPartitionedInclusiveMinNV(data[2].u4.xyz, ballot);

+    data[0].u4     = subgroupPartitionedInclusiveMinNV(data[3].u4, ballot);

+

+    data[1].f4.x   = subgroupPartitionedInclusiveMaxNV(data[0].f4.x, ballot);

+    data[1].f4.xy  = subgroupPartitionedInclusiveMaxNV(data[1].f4.xy, ballot);

+    data[1].f4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].f4.xyz, ballot);

+    data[1].f4     = subgroupPartitionedInclusiveMaxNV(data[3].f4, ballot);

+

+    data[1].i4.x   = subgroupPartitionedInclusiveMaxNV(data[0].i4.x, ballot);

+    data[1].i4.xy  = subgroupPartitionedInclusiveMaxNV(data[1].i4.xy, ballot);

+    data[1].i4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].i4.xyz, ballot);

+    data[1].i4     = subgroupPartitionedInclusiveMaxNV(data[3].i4, ballot);

+

+    data[1].u4.x   = subgroupPartitionedInclusiveMaxNV(data[0].u4.x, ballot);

+    data[1].u4.xy  = subgroupPartitionedInclusiveMaxNV(data[1].u4.xy, ballot);

+    data[1].u4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].u4.xyz, ballot);

+    data[1].u4     = subgroupPartitionedInclusiveMaxNV(data[3].u4, ballot);

+

+    data[1].i4.x   = subgroupPartitionedInclusiveAndNV(data[0].i4.x, ballot);

+    data[1].i4.xy  = subgroupPartitionedInclusiveAndNV(data[1].i4.xy, ballot);

+    data[1].i4.xyz = subgroupPartitionedInclusiveAndNV(data[2].i4.xyz, ballot);

+    data[1].i4     = subgroupPartitionedInclusiveAndNV(data[3].i4, ballot);

+

+    data[2].u4.x   = subgroupPartitionedInclusiveAndNV(data[0].u4.x, ballot);

+    data[2].u4.xy  = subgroupPartitionedInclusiveAndNV(data[1].u4.xy, ballot);

+    data[2].u4.xyz = subgroupPartitionedInclusiveAndNV(data[2].u4.xyz, ballot);

+    data[2].u4     = subgroupPartitionedInclusiveAndNV(data[3].u4, ballot);

+

+    data[2].i4.x   =   int(subgroupPartitionedInclusiveAndNV(data[0].i4.x < 0, ballot));

+    data[2].i4.xy  = ivec2(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[2].i4.xyz = ivec3(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[2].i4     = ivec4(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[2].i4.x   = subgroupPartitionedInclusiveOrNV(data[0].i4.x, ballot);

+    data[2].i4.xy  = subgroupPartitionedInclusiveOrNV(data[1].i4.xy, ballot);

+    data[2].i4.xyz = subgroupPartitionedInclusiveOrNV(data[2].i4.xyz, ballot);

+    data[2].i4     = subgroupPartitionedInclusiveOrNV(data[3].i4, ballot);

+

+    data[2].u4.x   = subgroupPartitionedInclusiveOrNV(data[0].u4.x, ballot);

+    data[2].u4.xy  = subgroupPartitionedInclusiveOrNV(data[1].u4.xy, ballot);

+    data[2].u4.xyz = subgroupPartitionedInclusiveOrNV(data[2].u4.xyz, ballot);

+    data[2].u4     = subgroupPartitionedInclusiveOrNV(data[3].u4, ballot);

+

+    data[3].i4.x   =   int(subgroupPartitionedInclusiveOrNV(data[0].i4.x < 0, ballot));

+    data[3].i4.xy  = ivec2(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[3].i4.xyz = ivec3(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[3].i4     = ivec4(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[3].i4.x   = subgroupPartitionedInclusiveXorNV(data[0].i4.x, ballot);

+    data[3].i4.xy  = subgroupPartitionedInclusiveXorNV(data[1].i4.xy, ballot);

+    data[3].i4.xyz = subgroupPartitionedInclusiveXorNV(data[2].i4.xyz, ballot);

+    data[3].i4     = subgroupPartitionedInclusiveXorNV(data[3].i4, ballot);

+

+    data[3].u4.x   = subgroupPartitionedInclusiveXorNV(data[0].u4.x, ballot);

+    data[3].u4.xy  = subgroupPartitionedInclusiveXorNV(data[1].u4.xy, ballot);

+    data[3].u4.xyz = subgroupPartitionedInclusiveXorNV(data[2].u4.xyz, ballot);

+    data[3].u4     = subgroupPartitionedInclusiveXorNV(data[3].u4, ballot);

+

+    data[3].i4.x   =   int(subgroupPartitionedInclusiveXorNV(data[0].i4.x < 0, ballot));

+    data[3].i4.xy  = ivec2(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[3].i4.xyz = ivec3(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[3].i4     = ivec4(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[0].f4.x   = subgroupPartitionedExclusiveAddNV(data[0].f4.x, ballot);

+    data[0].f4.xy  = subgroupPartitionedExclusiveAddNV(data[1].f4.xy, ballot);

+    data[0].f4.xyz = subgroupPartitionedExclusiveAddNV(data[2].f4.xyz, ballot);

+    data[0].f4     = subgroupPartitionedExclusiveAddNV(data[3].f4, ballot);

+

+    data[0].i4.x   = subgroupPartitionedExclusiveAddNV(data[0].i4.x, ballot);

+    data[0].i4.xy  = subgroupPartitionedExclusiveAddNV(data[1].i4.xy, ballot);

+    data[0].i4.xyz = subgroupPartitionedExclusiveAddNV(data[2].i4.xyz, ballot);

+    data[0].i4     = subgroupPartitionedExclusiveAddNV(data[3].i4, ballot);

+

+    data[0].u4.x   = subgroupPartitionedExclusiveAddNV(data[0].u4.x, ballot);

+    data[0].u4.xy  = subgroupPartitionedExclusiveAddNV(data[1].u4.xy, ballot);

+    data[0].u4.xyz = subgroupPartitionedExclusiveAddNV(data[2].u4.xyz, ballot);

+    data[0].u4     = subgroupPartitionedExclusiveAddNV(data[3].u4, ballot);

+

+    data[0].f4.x   = subgroupPartitionedExclusiveMulNV(data[0].f4.x, ballot);

+    data[0].f4.xy  = subgroupPartitionedExclusiveMulNV(data[1].f4.xy, ballot);

+    data[0].f4.xyz = subgroupPartitionedExclusiveMulNV(data[2].f4.xyz, ballot);

+    data[0].f4     = subgroupPartitionedExclusiveMulNV(data[3].f4, ballot);

+

+    data[1].i4.x   = subgroupPartitionedExclusiveMulNV(data[0].i4.x, ballot);

+    data[1].i4.xy  = subgroupPartitionedExclusiveMulNV(data[1].i4.xy, ballot);

+    data[1].i4.xyz = subgroupPartitionedExclusiveMulNV(data[2].i4.xyz, ballot);

+    data[1].i4     = subgroupPartitionedExclusiveMulNV(data[3].i4, ballot);

+

+    data[1].u4.x   = subgroupPartitionedExclusiveMulNV(data[0].u4.x, ballot);

+    data[1].u4.xy  = subgroupPartitionedExclusiveMulNV(data[1].u4.xy, ballot);

+    data[1].u4.xyz = subgroupPartitionedExclusiveMulNV(data[2].u4.xyz, ballot);

+    data[1].u4     = subgroupPartitionedExclusiveMulNV(data[3].u4, ballot);

+

+    data[1].f4.x   = subgroupPartitionedExclusiveMinNV(data[0].f4.x, ballot);

+    data[1].f4.xy  = subgroupPartitionedExclusiveMinNV(data[1].f4.xy, ballot);

+    data[1].f4.xyz = subgroupPartitionedExclusiveMinNV(data[2].f4.xyz, ballot);

+    data[1].f4     = subgroupPartitionedExclusiveMinNV(data[3].f4, ballot);

+

+    data[1].i4.x   = subgroupPartitionedExclusiveMinNV(data[0].i4.x, ballot);

+    data[1].i4.xy  = subgroupPartitionedExclusiveMinNV(data[1].i4.xy, ballot);

+    data[1].i4.xyz = subgroupPartitionedExclusiveMinNV(data[2].i4.xyz, ballot);

+    data[1].i4     = subgroupPartitionedExclusiveMinNV(data[3].i4, ballot);

+

+    data[2].u4.x   = subgroupPartitionedExclusiveMinNV(data[0].u4.x, ballot);

+    data[2].u4.xy  = subgroupPartitionedExclusiveMinNV(data[1].u4.xy, ballot);

+    data[2].u4.xyz = subgroupPartitionedExclusiveMinNV(data[2].u4.xyz, ballot);

+    data[2].u4     = subgroupPartitionedExclusiveMinNV(data[3].u4, ballot);

+

+    data[2].f4.x   = subgroupPartitionedExclusiveMaxNV(data[0].f4.x, ballot);

+    data[2].f4.xy  = subgroupPartitionedExclusiveMaxNV(data[1].f4.xy, ballot);

+    data[2].f4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].f4.xyz, ballot);

+    data[2].f4     = subgroupPartitionedExclusiveMaxNV(data[3].f4, ballot);

+

+    data[2].i4.x   = subgroupPartitionedExclusiveMaxNV(data[0].i4.x, ballot);

+    data[2].i4.xy  = subgroupPartitionedExclusiveMaxNV(data[1].i4.xy, ballot);

+    data[2].i4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].i4.xyz, ballot);

+    data[2].i4     = subgroupPartitionedExclusiveMaxNV(data[3].i4, ballot);

+

+    data[2].u4.x   = subgroupPartitionedExclusiveMaxNV(data[0].u4.x, ballot);

+    data[2].u4.xy  = subgroupPartitionedExclusiveMaxNV(data[1].u4.xy, ballot);

+    data[2].u4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].u4.xyz, ballot);

+    data[2].u4     = subgroupPartitionedExclusiveMaxNV(data[3].u4, ballot);

+

+    data[2].i4.x   = subgroupPartitionedExclusiveAndNV(data[0].i4.x, ballot);

+    data[2].i4.xy  = subgroupPartitionedExclusiveAndNV(data[1].i4.xy, ballot);

+    data[2].i4.xyz = subgroupPartitionedExclusiveAndNV(data[2].i4.xyz, ballot);

+    data[2].i4     = subgroupPartitionedExclusiveAndNV(data[3].i4, ballot);

+

+    data[2].u4.x   = subgroupPartitionedExclusiveAndNV(data[0].u4.x, ballot);

+    data[2].u4.xy  = subgroupPartitionedExclusiveAndNV(data[1].u4.xy, ballot);

+    data[2].u4.xyz = subgroupPartitionedExclusiveAndNV(data[2].u4.xyz, ballot);

+    data[2].u4     = subgroupPartitionedExclusiveAndNV(data[3].u4, ballot);

+

+    data[3].i4.x   =   int(subgroupPartitionedExclusiveAndNV(data[0].i4.x < 0, ballot));

+    data[3].i4.xy  = ivec2(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[3].i4.xyz = ivec3(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[3].i4     = ivec4(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[3].i4.x   = subgroupPartitionedExclusiveOrNV(data[0].i4.x, ballot);

+    data[3].i4.xy  = subgroupPartitionedExclusiveOrNV(data[1].i4.xy, ballot);

+    data[3].i4.xyz = subgroupPartitionedExclusiveOrNV(data[2].i4.xyz, ballot);

+    data[3].i4     = subgroupPartitionedExclusiveOrNV(data[3].i4, ballot);

+

+    data[3].u4.x   = subgroupPartitionedExclusiveOrNV(data[0].u4.x, ballot);

+    data[3].u4.xy  = subgroupPartitionedExclusiveOrNV(data[1].u4.xy, ballot);

+    data[3].u4.xyz = subgroupPartitionedExclusiveOrNV(data[2].u4.xyz, ballot);

+    data[3].u4     = subgroupPartitionedExclusiveOrNV(data[3].u4, ballot);

+

+    data[3].i4.x   =   int(subgroupPartitionedExclusiveOrNV(data[0].i4.x < 0, ballot));

+    data[3].i4.xy  = ivec2(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[3].i4.xyz = ivec3(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[3].i4     = ivec4(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4, ivec4(0)), ballot));

+

+    data[3].i4.x   = subgroupPartitionedExclusiveXorNV(data[0].i4.x, ballot);

+    data[3].i4.xy  = subgroupPartitionedExclusiveXorNV(data[1].i4.xy, ballot);

+    data[3].i4.xyz = subgroupPartitionedExclusiveXorNV(data[2].i4.xyz, ballot);

+    data[3].i4     = subgroupPartitionedExclusiveXorNV(data[3].i4, ballot);

+

+    data[0].u4.x   = subgroupPartitionedExclusiveXorNV(data[0].u4.x, ballot);

+    data[0].u4.xy  = subgroupPartitionedExclusiveXorNV(data[1].u4.xy, ballot);

+    data[0].u4.xyz = subgroupPartitionedExclusiveXorNV(data[2].u4.xyz, ballot);

+    data[0].u4     = subgroupPartitionedExclusiveXorNV(data[3].u4, ballot);

+

+    data[0].i4.x   =   int(subgroupPartitionedExclusiveXorNV(data[0].i4.x < 0, ballot));

+    data[0].i4.xy  = ivec2(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));

+    data[0].i4.xyz = ivec3(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));

+    data[0].i4     = ivec4(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4, ivec4(0)), ballot));

+}

diff --git a/Test/glsl.es320.subgroupQuad.comp b/Test/glsl.es320.subgroupQuad.comp
new file mode 100644
index 0000000..5394999
--- /dev/null
+++ b/Test/glsl.es320.subgroupQuad.comp
@@ -0,0 +1,97 @@
+#version 320 es

+

+#extension GL_KHR_shader_subgroup_quad: enable

+

+layout (local_size_x = 8) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4u;

+

+    data[0].f4.x   = subgroupQuadBroadcast(data[0].f4.x, 1u);

+    data[0].f4.xy  = subgroupQuadBroadcast(data[1].f4.xy, 1u);

+    data[0].f4.xyz = subgroupQuadBroadcast(data[2].f4.xyz, 1u);

+    data[0].f4     = subgroupQuadBroadcast(data[3].f4, 1u);

+

+    data[0].i4.x   = subgroupQuadBroadcast(data[0].i4.x, 1u);

+    data[0].i4.xy  = subgroupQuadBroadcast(data[1].i4.xy, 1u);

+    data[0].i4.xyz = subgroupQuadBroadcast(data[2].i4.xyz, 1u);

+    data[0].i4     = subgroupQuadBroadcast(data[3].i4, 1u);

+

+    data[0].u4.x   = subgroupQuadBroadcast(data[0].u4.x, 1u);

+    data[0].u4.xy  = subgroupQuadBroadcast(data[1].u4.xy, 1u);

+    data[0].u4.xyz = subgroupQuadBroadcast(data[2].u4.xyz, 1u);

+    data[0].u4     = subgroupQuadBroadcast(data[3].u4, 1u);

+

+    data[1].i4.x   =   int(subgroupQuadBroadcast(data[0].i4.x < 0, 1u));

+    data[1].i4.xy  = ivec2(subgroupQuadBroadcast(lessThan(data[1].i4.xy, ivec2(0)), 1u));

+    data[1].i4.xyz = ivec3(subgroupQuadBroadcast(lessThan(data[1].i4.xyz, ivec3(0)), 1u));

+    data[1].i4     = ivec4(subgroupQuadBroadcast(lessThan(data[1].i4, ivec4(0)), 1u));

+

+    data[1].f4.x   = subgroupQuadSwapHorizontal(data[0].f4.x);

+    data[1].f4.xy  = subgroupQuadSwapHorizontal(data[1].f4.xy);

+    data[1].f4.xyz = subgroupQuadSwapHorizontal(data[2].f4.xyz);

+    data[1].f4     = subgroupQuadSwapHorizontal(data[3].f4);

+

+    data[1].i4.x   = subgroupQuadSwapHorizontal(data[0].i4.x);

+    data[1].i4.xy  = subgroupQuadSwapHorizontal(data[1].i4.xy);

+    data[1].i4.xyz = subgroupQuadSwapHorizontal(data[2].i4.xyz);

+    data[1].i4     = subgroupQuadSwapHorizontal(data[3].i4);

+

+    data[1].u4.x   = subgroupQuadSwapHorizontal(data[0].u4.x);

+    data[1].u4.xy  = subgroupQuadSwapHorizontal(data[1].u4.xy);

+    data[1].u4.xyz = subgroupQuadSwapHorizontal(data[2].u4.xyz);

+    data[1].u4     = subgroupQuadSwapHorizontal(data[3].u4);

+

+    data[2].i4.x   =   int(subgroupQuadSwapHorizontal(data[0].i4.x < 0));

+    data[2].i4.xy  = ivec2(subgroupQuadSwapHorizontal(lessThan(data[1].i4.xy, ivec2(0))));

+    data[2].i4.xyz = ivec3(subgroupQuadSwapHorizontal(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[2].i4     = ivec4(subgroupQuadSwapHorizontal(lessThan(data[1].i4, ivec4(0))));

+

+    data[2].f4.x   = subgroupQuadSwapVertical(data[0].f4.x);

+    data[2].f4.xy  = subgroupQuadSwapVertical(data[1].f4.xy);

+    data[2].f4.xyz = subgroupQuadSwapVertical(data[2].f4.xyz);

+    data[2].f4     = subgroupQuadSwapVertical(data[3].f4);

+

+    data[2].i4.x   = subgroupQuadSwapVertical(data[0].i4.x);

+    data[2].i4.xy  = subgroupQuadSwapVertical(data[1].i4.xy);

+    data[2].i4.xyz = subgroupQuadSwapVertical(data[2].i4.xyz);

+    data[2].i4     = subgroupQuadSwapVertical(data[3].i4);

+

+    data[2].u4.x   = subgroupQuadSwapVertical(data[0].u4.x);

+    data[2].u4.xy  = subgroupQuadSwapVertical(data[1].u4.xy);

+    data[2].u4.xyz = subgroupQuadSwapVertical(data[2].u4.xyz);

+    data[2].u4     = subgroupQuadSwapVertical(data[3].u4);

+

+    data[3].i4.x   =   int(subgroupQuadSwapVertical(data[0].i4.x < 0));

+    data[3].i4.xy  = ivec2(subgroupQuadSwapVertical(lessThan(data[1].i4.xy, ivec2(0))));

+    data[3].i4.xyz = ivec3(subgroupQuadSwapVertical(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[3].i4     = ivec4(subgroupQuadSwapVertical(lessThan(data[1].i4, ivec4(0))));

+

+    data[3].f4.x   = subgroupQuadSwapDiagonal(data[0].f4.x);

+    data[3].f4.xy  = subgroupQuadSwapDiagonal(data[1].f4.xy);

+    data[3].f4.xyz = subgroupQuadSwapDiagonal(data[2].f4.xyz);

+    data[3].f4     = subgroupQuadSwapDiagonal(data[3].f4);

+

+    data[3].i4.x   = subgroupQuadSwapDiagonal(data[0].i4.x);

+    data[3].i4.xy  = subgroupQuadSwapDiagonal(data[1].i4.xy);

+    data[3].i4.xyz = subgroupQuadSwapDiagonal(data[2].i4.xyz);

+    data[3].i4     = subgroupQuadSwapDiagonal(data[3].i4);

+

+    data[3].u4.x   = subgroupQuadSwapDiagonal(data[0].u4.x);

+    data[3].u4.xy  = subgroupQuadSwapDiagonal(data[1].u4.xy);

+    data[3].u4.xyz = subgroupQuadSwapDiagonal(data[2].u4.xyz);

+    data[3].u4     = subgroupQuadSwapDiagonal(data[3].u4);

+

+    data[3].i4.x   =   int(subgroupQuadSwapDiagonal(data[0].i4.x < 0));

+    data[3].i4.xy  = ivec2(subgroupQuadSwapDiagonal(lessThan(data[1].i4.xy, ivec2(0))));

+    data[3].i4.xyz = ivec3(subgroupQuadSwapDiagonal(lessThan(data[1].i4.xyz, ivec3(0))));

+    data[3].i4     = ivec4(subgroupQuadSwapDiagonal(lessThan(data[1].i4, ivec4(0))));

+}

diff --git a/Test/glsl.es320.subgroupShuffle.comp b/Test/glsl.es320.subgroupShuffle.comp
new file mode 100644
index 0000000..1ad480d
--- /dev/null
+++ b/Test/glsl.es320.subgroupShuffle.comp
@@ -0,0 +1,57 @@
+#version 320 es

+

+#extension GL_KHR_shader_subgroup_shuffle: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4u;

+

+    data[0].f4.x   = subgroupShuffle(data[0].f4.x,    invocation);

+    data[0].f4.xy  = subgroupShuffle(data[1].f4.xy,   invocation);

+    data[0].f4.xyz = subgroupShuffle(data[2].f4.xyz,  invocation);

+    data[0].f4     = subgroupShuffle(data[3].f4,      invocation);

+

+    data[0].i4.x   = subgroupShuffle(data[0].i4.x,    invocation);

+    data[0].i4.xy  = subgroupShuffle(data[1].i4.xy,   invocation);

+    data[0].i4.xyz = subgroupShuffle(data[2].i4.xyz,  invocation);

+    data[0].i4     = subgroupShuffle(data[3].i4,      invocation);

+

+    data[1].u4.x   = subgroupShuffle(data[0].u4.x,    invocation);

+    data[1].u4.xy  = subgroupShuffle(data[1].u4.xy,   invocation);

+    data[1].u4.xyz = subgroupShuffle(data[2].u4.xyz,  invocation);

+    data[1].u4     = subgroupShuffle(data[3].u4,      invocation);

+

+    data[1].i4.x   =   int(subgroupShuffle(data[0].i4.x < 0,                   invocation));

+    data[1].i4.xy  = ivec2(subgroupShuffle(lessThan(data[1].i4.xy, ivec2(0)),  invocation));

+    data[1].i4.xyz = ivec3(subgroupShuffle(lessThan(data[1].i4.xyz, ivec3(0)), invocation));

+    data[1].i4     = ivec4(subgroupShuffle(lessThan(data[1].i4, ivec4(0)),     invocation));

+

+    data[2].f4.x   = subgroupShuffleXor(data[0].f4.x,    invocation);

+    data[2].f4.xy  = subgroupShuffleXor(data[1].f4.xy,   invocation);

+    data[2].f4.xyz = subgroupShuffleXor(data[2].f4.xyz,  invocation);

+    data[2].f4     = subgroupShuffleXor(data[3].f4,      invocation);

+

+    data[2].i4.x   = subgroupShuffleXor(data[0].i4.x,    invocation);

+    data[2].i4.xy  = subgroupShuffleXor(data[1].i4.xy,   invocation);

+    data[2].i4.xyz = subgroupShuffleXor(data[2].i4.xyz,  invocation);

+    data[2].i4     = subgroupShuffleXor(data[3].i4,      invocation);

+

+    data[3].u4.x   = subgroupShuffleXor(data[0].u4.x,    invocation);

+    data[3].u4.xy  = subgroupShuffleXor(data[1].u4.xy,   invocation);

+    data[3].u4.xyz = subgroupShuffleXor(data[2].u4.xyz,  invocation);

+    data[3].u4     = subgroupShuffleXor(data[3].u4,      invocation);

+

+    data[3].i4.x   =   int(subgroupShuffleXor(data[0].i4.x < 0,                   invocation));

+    data[3].i4.xy  = ivec2(subgroupShuffleXor(lessThan(data[1].i4.xy, ivec2(0)),  invocation));

+    data[3].i4.xyz = ivec3(subgroupShuffleXor(lessThan(data[1].i4.xyz, ivec3(0)), invocation));

+    data[3].i4     = ivec4(subgroupShuffleXor(lessThan(data[1].i4, ivec4(0)),     invocation));

+}

diff --git a/Test/glsl.es320.subgroupShuffleRelative.comp b/Test/glsl.es320.subgroupShuffleRelative.comp
new file mode 100644
index 0000000..7c94ec7
--- /dev/null
+++ b/Test/glsl.es320.subgroupShuffleRelative.comp
@@ -0,0 +1,57 @@
+#version 320 es

+

+#extension GL_KHR_shader_subgroup_shuffle_relative: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4u;

+

+    data[0].f4.x   = subgroupShuffleUp(data[0].f4.x,    invocation);

+    data[0].f4.xy  = subgroupShuffleUp(data[1].f4.xy,   invocation);

+    data[0].f4.xyz = subgroupShuffleUp(data[2].f4.xyz,  invocation);

+    data[0].f4     = subgroupShuffleUp(data[3].f4,      invocation);

+

+    data[0].i4.x   = subgroupShuffleUp(data[0].i4.x,    invocation);

+    data[0].i4.xy  = subgroupShuffleUp(data[1].i4.xy,   invocation);

+    data[0].i4.xyz = subgroupShuffleUp(data[2].i4.xyz,  invocation);

+    data[0].i4     = subgroupShuffleUp(data[3].i4,      invocation);

+

+    data[1].u4.x   = subgroupShuffleUp(data[0].u4.x,    invocation);

+    data[1].u4.xy  = subgroupShuffleUp(data[1].u4.xy,   invocation);

+    data[1].u4.xyz = subgroupShuffleUp(data[2].u4.xyz,  invocation);

+    data[1].u4     = subgroupShuffleUp(data[3].u4,      invocation);

+

+    data[1].i4.x   =   int(subgroupShuffleUp(data[0].i4.x < 0,                   invocation));

+    data[1].i4.xy  = ivec2(subgroupShuffleUp(lessThan(data[1].i4.xy, ivec2(0)),  invocation));

+    data[1].i4.xyz = ivec3(subgroupShuffleUp(lessThan(data[1].i4.xyz, ivec3(0)), invocation));

+    data[1].i4     = ivec4(subgroupShuffleUp(lessThan(data[1].i4, ivec4(0)),     invocation));

+

+    data[2].f4.x   = subgroupShuffleDown(data[0].f4.x,    invocation);

+    data[2].f4.xy  = subgroupShuffleDown(data[1].f4.xy,   invocation);

+    data[2].f4.xyz = subgroupShuffleDown(data[2].f4.xyz,  invocation);

+    data[2].f4     = subgroupShuffleDown(data[3].f4,      invocation);

+

+    data[2].i4.x   = subgroupShuffleDown(data[0].i4.x,    invocation);

+    data[2].i4.xy  = subgroupShuffleDown(data[1].i4.xy,   invocation);

+    data[2].i4.xyz = subgroupShuffleDown(data[2].i4.xyz,  invocation);

+    data[2].i4     = subgroupShuffleDown(data[3].i4,      invocation);

+

+    data[3].u4.x   = subgroupShuffleDown(data[0].u4.x,    invocation);

+    data[3].u4.xy  = subgroupShuffleDown(data[1].u4.xy,   invocation);

+    data[3].u4.xyz = subgroupShuffleDown(data[2].u4.xyz,  invocation);

+    data[3].u4     = subgroupShuffleDown(data[3].u4,      invocation);

+

+    data[3].i4.x   =   int(subgroupShuffleDown(data[0].i4.x < 0,                   invocation));

+    data[3].i4.xy  = ivec2(subgroupShuffleDown(lessThan(data[1].i4.xy, ivec2(0)),  invocation));

+    data[3].i4.xyz = ivec3(subgroupShuffleDown(lessThan(data[1].i4.xyz, ivec3(0)), invocation));

+    data[3].i4     = ivec4(subgroupShuffleDown(lessThan(data[1].i4, ivec4(0)),     invocation));

+}

diff --git a/Test/glsl.es320.subgroupVote.comp b/Test/glsl.es320.subgroupVote.comp
new file mode 100644
index 0000000..3c44ba4
--- /dev/null
+++ b/Test/glsl.es320.subgroupVote.comp
@@ -0,0 +1,43 @@
+#version 320 es

+

+#extension GL_KHR_shader_subgroup_vote: enable

+

+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;

+

+layout(binding = 0) buffer Buffers

+{

+    vec4  f4;

+    ivec4 i4;

+    uvec4 u4;

+    int r;

+} data[4];

+

+void main()

+{

+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4u;

+

+    if (subgroupAll(data[0].r < 0))

+    {

+        data[0].r = int(subgroupAllEqual(data[0].f4.x));

+        data[0].r = int(subgroupAllEqual(data[1].f4.xy));

+        data[0].r = int(subgroupAllEqual(data[2].f4.xyz));

+        data[0].r = int(subgroupAllEqual(data[3].f4));

+

+        data[0].r = int(subgroupAllEqual(data[0].i4.x));

+        data[0].r = int(subgroupAllEqual(data[1].i4.xy));

+        data[0].r = int(subgroupAllEqual(data[2].i4.xyz));

+        data[0].r = int(subgroupAllEqual(data[3].i4));

+

+        data[0].r = int(subgroupAllEqual(data[0].u4.x));

+        data[0].r = int(subgroupAllEqual(data[1].u4.xy));

+        data[0].r = int(subgroupAllEqual(data[2].u4.xyz));

+        data[0].r = int(subgroupAllEqual(data[3].u4));

+    }

+    else if (subgroupAny(data[1].r < 0))

+    {

+        data[1].r = int(int(subgroupAllEqual(data[0].i4.x < 0)));

+        data[1].r = int(ivec2(subgroupAllEqual(lessThan(data[1].i4.xy, ivec2(0)))));

+        data[1].r = int(ivec3(subgroupAllEqual(lessThan(data[1].i4.xyz, ivec3(0)))));

+        data[1].r = int(ivec4(subgroupAllEqual(lessThan(data[1].i4, ivec4(0)))));

+    }

+}

diff --git a/Test/hlsl.earlydepthstencil.frag b/Test/hlsl.earlydepthstencil.frag
new file mode 100644
index 0000000..268baae
--- /dev/null
+++ b/Test/hlsl.earlydepthstencil.frag
@@ -0,0 +1,12 @@
+RWTexture2D<uint> Values;

+

+struct InputStruct {

+	float4 Position : SV_POSITION;

+};

+

+[earlydepthstencil]

+uint main(InputStruct input) : SV_Target {

+	uint oldVal;

+	InterlockedExchange(Values[uint2(input.Position.x, input.Position.y)], 1.0, oldVal);

+	return oldVal;

+}

diff --git a/Test/reflection.frag b/Test/reflection.frag
new file mode 100644
index 0000000..9299653
--- /dev/null
+++ b/Test/reflection.frag
@@ -0,0 +1,8 @@
+#version 440 core

+

+in float inval;

+

+void main()

+{

+    float f = inval;

+}

diff --git a/Test/reflection.linked.frag b/Test/reflection.linked.frag
new file mode 100644
index 0000000..4a88ec4
--- /dev/null
+++ b/Test/reflection.linked.frag
@@ -0,0 +1,19 @@
+#version 440 core

+

+layout(binding = 0, std140) uniform ubo_block {

+	float unused_uniform;

+	float shared_uniform;

+	float vsonly_uniform;

+	float fsonly_uniform;

+} ubo;

+

+in float vertout;

+

+out float fragout;

+

+void main()

+{

+    fragout = vertout;

+    fragout += ubo.shared_uniform;

+    fragout += ubo.fsonly_uniform;

+}

diff --git a/Test/reflection.linked.vert b/Test/reflection.linked.vert
new file mode 100644
index 0000000..e28142d
--- /dev/null
+++ b/Test/reflection.linked.vert
@@ -0,0 +1,19 @@
+#version 440 core

+

+layout(binding = 0, std140) uniform ubo_block {

+	float unused_uniform;

+	float shared_uniform;

+	float vsonly_uniform;

+	float fsonly_uniform;

+} ubo;

+

+in float vertin;

+

+out float vertout;

+

+void main()

+{

+    vertout = vertin;

+    vertout += ubo.shared_uniform;

+    vertout += ubo.vsonly_uniform;

+}

diff --git a/Test/reflection.options.geom b/Test/reflection.options.geom
new file mode 100644
index 0000000..76ba3c0
--- /dev/null
+++ b/Test/reflection.options.geom
@@ -0,0 +1,31 @@
+#version 330 core

+

+precision highp float;

+

+layout(triangles) in;

+layout(triangle_strip, max_vertices = 4) out;

+

+in block

+{

+    vec2 Color;

+    vec2 Texcoord;

+    flat ivec3 in_a;

+} In[];

+

+out block

+{

+    vec4 Color;

+    vec4 a;

+    vec2 b[3];

+} Out;

+

+void main()

+{

+    for(int i = 0; i < gl_in.length(); ++i)

+    {

+        gl_Position = gl_in[i].gl_Position;

+        Out.Color = vec4(In[i].Color, 0, 1);

+        EmitVertex();

+    }

+    EndPrimitive();

+}

diff --git a/Test/reflection.options.vert b/Test/reflection.options.vert
new file mode 100644
index 0000000..e97c910
--- /dev/null
+++ b/Test/reflection.options.vert
@@ -0,0 +1,58 @@
+#version 440 core

+

+struct VertexInfo {

+    float position[3];

+    float normal[3];

+};

+

+struct TriangleInfo {

+    VertexInfo v[3];

+};

+

+buffer VertexCollection {

+    TriangleInfo t[5];

+    uint padding[10];

+};

+

+buffer MultipleArrays {

+    TriangleInfo tri[5];

+    VertexInfo vert[5];

+    float f[5];

+} multiarray;

+

+uniform UBO {

+    VertexInfo verts[2];

+    float flt[8];

+    uvec4 unused;

+    float uniform_multi[4][3][2];

+} ubo;

+

+uniform float uniform_multi[4][3][2];

+

+struct OutputStruct {

+    float val;

+    vec3 a;

+    vec2 b[4];

+    mat2x2 c;

+};

+

+out OutputStruct outval;

+out float outarr[3];

+

+void main()

+{

+    float f;

+    f += t[0].v[0].position[0];

+    f += t[gl_InstanceID].v[gl_InstanceID].position[gl_InstanceID];

+    f += t[gl_InstanceID].v[gl_InstanceID].normal[gl_InstanceID];

+    f += multiarray.tri[gl_InstanceID].v[0].position[0];

+    f += multiarray.vert[gl_InstanceID].position[0];

+    f += multiarray.f[gl_InstanceID];

+    f += ubo.verts[gl_InstanceID].position[0];

+    f += ubo.flt[gl_InstanceID];

+    f += ubo.uniform_multi[0][0][0];

+    f += uniform_multi[gl_InstanceID][gl_InstanceID][gl_InstanceID];

+    TriangleInfo tlocal[5] = t;

+    outval.val = f;

+    outarr[2] = f;

+}

diff --git a/Test/reflection.vert b/Test/reflection.vert
index 7549f08..7b9239b 100644
--- a/Test/reflection.vert
+++ b/Test/reflection.vert
@@ -60,6 +60,14 @@
     N3 foo;

 } nest;

 

+layout(std140) uniform nested2 {

+    vec4 padding; // offset 0, size 16

+    N3 a;       // offset 16, size 32

+    N1 b[4];    // offset 48, size 64

+    N1 c[2];    // offset 112, size 32

+    N1 d[4];    // offset 144, size 64

+} nest2;

+

 struct TS {

     int a;

     int dead;

@@ -99,6 +107,7 @@
 in vec3 attributeFloat3;

 in vec4 attributeFloat4;

 in mat4 attributeMat4;

+in float attributeFloatArray[3];

 

 uniform deep3 deepA[2], deepB[2], deepC[3], deepD[2];

 

@@ -153,6 +162,22 @@
     N2 runtimeArray[];

 } buf4i;

 

+struct VertexInfo {

+    float position[3];

+    float normal[3];

+};

+

+struct TriangleInfo {

+    VertexInfo v[3];

+};

+

+buffer VertexCollection {

+    TriangleInfo t[5];

+    uint padding[10];

+};

+

+out float outval;

+

 void main()

 {

     liveFunction1(image_ui2D, sampler_2D, sampler_2DMSArray);

@@ -188,6 +213,7 @@
         f += deepB[i].d2.d1[i].va[1].x;

         deep3 d = deepC[1];

         deep3 da[2] = deepD;

+        deep1 db = deepA[i].d2.d1[i];

     } else

         f = ufDead3;

 

@@ -199,8 +225,21 @@
     f += attributeFloat3.x;

     f += attributeFloat4.x;

     f += attributeMat4[0][1];

+    f += attributeFloatArray[2];

     f += buf1i.runtimeArray[3];

     f += buf2i.runtimeArray[3].c;

     f += buf3i.runtimeArray[gl_InstanceID];

     f += buf4i.runtimeArray[gl_InstanceID].c;

+

+    N3 n = nest2.a;

+    N1 b[4] = nest2.b;

+    f += nest2.c[1].a;

+    f += nest2.d[gl_InstanceID].a;

+

+    f += t[0].v[0].position[0];

+    f += t[gl_InstanceID].v[gl_InstanceID].position[gl_InstanceID];

+    f += t[gl_InstanceID].v[gl_InstanceID].normal[gl_InstanceID];

+    TriangleInfo tlocal[5] = t;

+

+    outval = f;

 }

diff --git a/Test/runtests b/Test/runtests
index c88cb59..cc34306 100755
--- a/Test/runtests
+++ b/Test/runtests
@@ -32,6 +32,18 @@
 echo Running reflection...
 $EXE -l -q -C reflection.vert > $TARGETDIR/reflection.vert.out
 diff -b $BASEDIR/reflection.vert.out $TARGETDIR/reflection.vert.out || HASERROR=1
+$EXE -l -q -C --reflect-strict-array-suffix --reflect-basic-array-suffix --reflect-intermediate-io --reflect-separate-buffers --reflect-all-block-variables --reflect-unwrap-io-blocks reflection.options.vert > $TARGETDIR/reflection.options.vert.out
+diff -b $BASEDIR/reflection.options.vert.out $TARGETDIR/reflection.options.vert.out || HASERROR=1
+$EXE -l -q -C reflection.frag > $TARGETDIR/reflection.frag.out
+diff -b $BASEDIR/reflection.frag.out $TARGETDIR/reflection.frag.out || HASERROR=1
+$EXE -l -q -C --reflect-strict-array-suffix --reflect-basic-array-suffix --reflect-intermediate-io --reflect-separate-buffers --reflect-all-block-variables --reflect-unwrap-io-blocks reflection.frag > $TARGETDIR/reflection.options.frag.out
+diff -b $BASEDIR/reflection.options.frag.out $TARGETDIR/reflection.options.frag.out || HASERROR=1
+$EXE -l -q -C --reflect-strict-array-suffix --reflect-basic-array-suffix --reflect-intermediate-io --reflect-separate-buffers --reflect-all-block-variables --reflect-unwrap-io-blocks reflection.options.geom > $TARGETDIR/reflection.options.geom.out
+diff -b $BASEDIR/reflection.options.geom.out $TARGETDIR/reflection.options.geom.out || HASERROR=1
+$EXE -l -q -C reflection.linked.vert reflection.linked.frag > $TARGETDIR/reflection.linked.out
+diff -b $BASEDIR/reflection.linked.out $TARGETDIR/reflection.linked.out || HASERROR=1
+$EXE -l -q -C --reflect-strict-array-suffix --reflect-basic-array-suffix --reflect-intermediate-io --reflect-separate-buffers --reflect-all-block-variables --reflect-unwrap-io-blocks reflection.linked.vert reflection.linked.frag > $TARGETDIR/reflection.linked.options.out
+diff -b $BASEDIR/reflection.linked.options.out $TARGETDIR/reflection.linked.options.out || HASERROR=1
 $EXE -D -Od -e flizv -l -q -C -V -Od hlsl.reflection.vert > $TARGETDIR/hlsl.reflection.vert.out
 diff -b $BASEDIR/hlsl.reflection.vert.out $TARGETDIR/hlsl.reflection.vert.out || HASERROR=1
 $EXE -D -Od -e main -l -q -C -V -Od hlsl.reflection.binding.frag > $TARGETDIR/hlsl.reflection.binding.frag.out
diff --git a/Test/spv.1.3.coopmat.comp b/Test/spv.1.3.coopmat.comp
new file mode 100644
index 0000000..23e0b78
--- /dev/null
+++ b/Test/spv.1.3.coopmat.comp
@@ -0,0 +1,28 @@
+#version 450 core
+#extension GL_KHR_memory_scope_semantics : enable

+#extension GL_NV_cooperative_matrix : enable

+#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable

+

+#pragma use_variable_pointers

+

+layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
+

+layout(set = 0, binding = 0) coherent buffer Block {

+    float y[1024*1024];

+    float x[];

+} block;

+

+

+void main()
+{
+    fcoopmatNV<32, gl_ScopeSubgroup, 16, 8> m = fcoopmatNV<32, gl_ScopeSubgroup, 16, 8>(0.0);

+

+    m = m + m;

+    m = m - m;

+    m = -m;

+    m = 2.0*m;

+    m = m*2.0;

+

+    coopMatLoadNV(m, block.x, 16, 128, false);

+    coopMatStoreNV(m, block.x, 16, 128, false);

+}
diff --git a/Test/spv.16bitxfb.vert b/Test/spv.16bitxfb.vert
new file mode 100644
index 0000000..f971943
--- /dev/null
+++ b/Test/spv.16bitxfb.vert
@@ -0,0 +1,33 @@
+#version 450 core

+

+#extension GL_AMD_gpu_shader_half_float: enable

+#extension GL_AMD_gpu_shader_int16: enable

+

+layout(location = 0) in f16vec4 if16v4;

+layout(location = 1) in i16vec4 ii16v4;

+layout(location = 2) in u16vec4 iu16v4;

+

+layout(location = 0, xfb_buffer = 0, xfb_stride = 6, xfb_offset = 0) out f16vec3 of16v3;

+layout(location = 1, xfb_buffer = 1, xfb_stride = 6, xfb_offset = 0) out F16Out

+{

+    float16_t of16;

+    f16vec2   of16v2;

+};

+

+layout(location = 5, xfb_buffer = 2, xfb_stride = 6, xfb_offset = 0) out i16vec3 oi16v3;

+layout(location = 6, xfb_buffer = 3, xfb_stride = 6, xfb_offset = 0) out I16Out

+{

+    uint16_t ou16;

+    u16vec2  ou16v2;

+};

+

+void main()

+{

+    of16v3 = if16v4.xyz;

+    of16   = if16v4.x;

+    of16v2 = if16v4.xy;

+

+    oi16v3 = ii16v4.xyz;

+    ou16   = iu16v4.x;

+    ou16v2 = iu16v4.xy;

+}
\ No newline at end of file
diff --git a/Test/spv.RayCallable.rcall b/Test/spv.RayCallable.rcall
index 12f2884..992cce6 100644
--- a/Test/spv.RayCallable.rcall
+++ b/Test/spv.RayCallable.rcall
@@ -8,8 +8,6 @@
 {
 	uvec3 id = gl_LaunchIDNV;
 	uvec3 size = gl_LaunchSizeNV;
-    uint curFlags = gl_IncomingRayFlagsNV;
-	curFlags = curFlags & gl_RayFlagsOpaqueNV;
 	data1 = 256U;
 	executeCallableNV(2,1);
 }
diff --git a/Test/spv.RayCallable_Errors.rcall b/Test/spv.RayCallable_Errors.rcall
index 7339682..f6126a6 100644
--- a/Test/spv.RayCallable_Errors.rcall
+++ b/Test/spv.RayCallable_Errors.rcall
@@ -19,6 +19,7 @@
     mat4x3 e11 = gl_WorldToObjectNV;                        // ERROR, unsupported builtin in stage
     float e12 = gl_HitTNV;                                  // ERROR, unsupported builtin in stage
     float e13 = gl_HitKindNV;                               // ERROR, unsupported builtin in stage
+    uint curFlags = gl_IncomingRayFlagsNV;                  // ERROR, unsupported builtin in stage
     reportIntersectionNV(1.0, 1U);                          // ERROR, unsupported builtin in stage
     ignoreIntersectionNV();                                 // ERROR, unsupported builtin in stage
     terminateRayNV();                                       // ERROR, unsupported builtin in stage
diff --git a/Test/spv.RayGenShader.rgen b/Test/spv.RayGenShader.rgen
index c36cae4..a714354 100644
--- a/Test/spv.RayGenShader.rgen
+++ b/Test/spv.RayGenShader.rgen
@@ -5,8 +5,9 @@
 layout(location = 0) rayPayloadNV vec4 payload;
 layout(shaderRecordNV) buffer block
 {
-	float arr[4];
-	vec4 pad;
+	vec3 dir;
+	vec3 origin;
+
 };
 void main()
 {
@@ -14,7 +15,5 @@
     uint ly = gl_LaunchIDNV.y;
     uint sx = gl_LaunchSizeNV.x;
     uint sy = gl_LaunchSizeNV.y;
-    traceNV(accNV0, lx, ly, sx, sy, 0u, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 1);
-    arr[3] = 1.0f;
-    pad = payload;
+    traceNV(accNV0, lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
 }
diff --git a/Test/spv.RayGenShader11.rgen b/Test/spv.RayGenShader11.rgen
index 68f92b2..d010a87 100644
--- a/Test/spv.RayGenShader11.rgen
+++ b/Test/spv.RayGenShader11.rgen
@@ -4,8 +4,8 @@
 layout(location = 0) rayPayloadNV vec4 payload;
 layout(shaderRecordNV) buffer block
 {
-	float arr[4];
-	vec4 pad;
+	vec3 dir;
+	vec3 origin;
 };
 void main()
 {
@@ -13,7 +13,5 @@
     uint ly = gl_LaunchIDNV.y;
     uint sx = gl_LaunchSizeNV.x;
     uint sy = gl_LaunchSizeNV.y;
-    traceNV(accNV, lx, ly, sx, sy, 0u, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 1);
-    arr[3] = 1.0f;
-    pad = payload;
+    traceNV(accNV, lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
 }
diff --git a/Test/spv.RayGenShader_Errors.rgen b/Test/spv.RayGenShader_Errors.rgen
index d61ac21..5a590c8 100644
--- a/Test/spv.RayGenShader_Errors.rgen
+++ b/Test/spv.RayGenShader_Errors.rgen
@@ -37,4 +37,5 @@
     reportIntersectionNV(1.0, 1U);                          // ERROR, unsupported builtin in stage
     ignoreIntersectionNV();                                 // ERROR, unsupported builtin in stage
     terminateRayNV();                                       // ERROR, unsupported builtin in stage
+    d = 1.0f;                                               // ERROR, can't modify shaderRecordNV block
 }
diff --git a/Test/spv.bufferhandle10.frag b/Test/spv.bufferhandle10.frag
index 1d537e4..d720563 100644
--- a/Test/spv.bufferhandle10.frag
+++ b/Test/spv.bufferhandle10.frag
@@ -20,4 +20,6 @@
     coherent blockType b = t.f;

     b.x[0] = 2;

 

+    volatile blockType b2 = t.f;

+    b2.x[0] = 3;

 }

diff --git a/Test/spv.bufferhandle16.frag b/Test/spv.bufferhandle16.frag
new file mode 100644
index 0000000..168148c
--- /dev/null
+++ b/Test/spv.bufferhandle16.frag
@@ -0,0 +1,26 @@
+#version 450

+

+#extension GL_EXT_shader_explicit_arithmetic_types_int64 : enable

+#extension GL_EXT_buffer_reference : enable

+#extension GL_EXT_scalar_block_layout : enable

+

+layout(buffer_reference) buffer T1 {

+    int x;

+    bool y;

+};

+layout(buffer_reference) buffer T2 {

+    int x;

+};

+

+const int s = int(uint64_t(T1(T2(uint64_t(3)))));

+int x[s];

+const uint64_t t = uint64_t(true ? T2(uint64_t(10)) : T2(uint64_t(11)));

+

+void main()

+{

+    T1 a = T1(uint64_t(4)), b = T1(uint64_t(5));

+    T1 c = true ? a : b;

+    T1 d = (a,b);

+    T1 e = true ? T1(uint64_t(6)) : T1(uint64_t(7));

+    T1 f = a.y ? T1(uint64_t(8)) : T1(uint64_t(9));

+}

diff --git a/Test/spv.bufferhandle17_Errors.frag b/Test/spv.bufferhandle17_Errors.frag
new file mode 100644
index 0000000..e9997d5
--- /dev/null
+++ b/Test/spv.bufferhandle17_Errors.frag
@@ -0,0 +1,20 @@
+#version 450

+

+#extension GL_EXT_shader_explicit_arithmetic_types_int64 : enable

+#extension GL_EXT_buffer_reference : enable

+#extension GL_EXT_scalar_block_layout : enable

+

+layout(buffer_reference) buffer T1 {

+    int x;

+};

+

+const T1 a = T1(uint64_t(2));

+

+void main()

+{

+    T1 b, c;

+    const T1 d = b;

+

+    b == c;

+    b != c;

+}

diff --git a/Test/spv.coopmat.comp b/Test/spv.coopmat.comp
new file mode 100644
index 0000000..ab4292f
--- /dev/null
+++ b/Test/spv.coopmat.comp
@@ -0,0 +1,115 @@
+#version 450 core
+#extension GL_KHR_memory_scope_semantics : enable

+#extension GL_NV_cooperative_matrix : enable

+#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable

+#extension GL_EXT_buffer_reference : enable

+

+layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
+

+const int X = 8;

+layout(constant_id = 0) const int Y = 2;

+const int Z = X*Y;

+

+fcoopmatNV<16, gl_ScopeSubgroup, Z, 8> mC;

+fcoopmatNV<16, gl_ScopeSubgroup, Z, 8> mC2[3];

+

+int arr[mC.length()];

+int arr2[mC2[1].length()];

+

+layout(constant_id = 1) const float F = 3.0;

+

+const fcoopmatNV<32, gl_ScopeSubgroup, Z, 8> mD = fcoopmatNV<32, gl_ScopeSubgroup, Z, 8>(0.0);

+const fcoopmatNV<16, gl_ScopeSubgroup, 8, 8> mD2 = fcoopmatNV<16, gl_ScopeSubgroup, 8, 8>(1);

+

+struct S { int a; int b; int c; };

+

+const S s = S(12, 23, 34);

+

+layout(set = 0, binding = 0, buffer_reference) coherent buffer Block {

+    float y[1024*1024];

+    float x[];

+} block;

+

+layout(set = 0, binding = 0) coherent buffer Block16 {

+    float16_t y[1024*1024];

+    float16_t x[];

+

+    Block b;

+} block16;

+

+fcoopmatNV<16, gl_ScopeSubgroup, 8, 8> f16(fcoopmatNV<16, gl_ScopeSubgroup, 8, 8> m) { return -m; }

+fcoopmatNV<32, gl_ScopeSubgroup, 8, 8> f32(fcoopmatNV<32, gl_ScopeSubgroup, 8, 8> m) { return -m; }

+

+layout(constant_id = 2) const int SC = 1;

+fcoopmatNV<16, gl_ScopeSubgroup, SC, SC> scm[SC][SC];

+

+// sized for fcoopmatNV<16, gl_ScopeSubgroup, 16, 16>

+shared uvec4 shmatrix[16*16*2/16];

+

+void main()
+{
+    fcoopmatNV<32, gl_ScopeSubgroup, 16, (2>1?8:4)> m = fcoopmatNV<32, gl_ScopeSubgroup, 16, (2>1?8:4)>(0.0);

+

+    m = m + m;

+    m = m - m;

+    m = -m;

+    m = 2.0*m;

+    m = m*2.0;

+

+    fcoopmatNV<16, gl_ScopeSubgroup, 16, 8> m2 = fcoopmatNV<16, gl_ScopeSubgroup, 16, 8>(m);

+

+    float x = m[1];

+    m[0] = x;

+

+    coopMatLoadNV(m, block.x, 16, 128, false);

+    coopMatStoreNV(m, block.x, 16, 128, false);

+    coopMatLoadNV(m2, block16.x, 16, 128, false);

+    coopMatStoreNV(m2, block16.x, 16, 128, false);

+    coopMatLoadNV(m, block16.b.x, 16, 128, false);

+    coopMatStoreNV(m, block16.b.x, 16, 128, false);

+

+    fcoopmatNV<16, gl_ScopeSubgroup, 16, 8> A;

+    fcoopmatNV<16, gl_ScopeSubgroup, 8, 8> B;

+    fcoopmatNV<32, gl_ScopeSubgroup, 16, 8> C;

+    fcoopmatNV<32, gl_ScopeSubgroup, 16, 8> D;

+    D = coopMatMulAddNV(A, B, C);

+

+    int l = D.length();

+

+    fcoopmatNV<16, gl_ScopeSubgroup, 8, 8> E;

+

+    fcoopmatNV<16, gl_ScopeSubgroup, Z, Z> F = fcoopmatNV<16, gl_ScopeSubgroup, Z, Z>(0.0);

+

+    fcoopmatNV<32, gl_ScopeSubgroup, 16, (2>1?8:4)> a[5];

+    a[3][0] = 1.0;

+

+    float md1 = mD[1];

+

+    md1 += (m += m)[1234];

+

+    mC2[1] = mC2[2];

+

+    coopMatLoadNV(m, block.y, 16, 128, false);

+    coopMatStoreNV(m, block.y, 16, 128, false);

+    coopMatLoadNV(m2, block16.y, 16, 128, false);

+    coopMatStoreNV(m2, block16.y, 16, 128, false);

+

+    fcoopmatNV<16, gl_ScopeSubgroup, 8, 8> p1;

+    fcoopmatNV<32, gl_ScopeSubgroup, 8, 8> p2;

+

+    p1 = f16(p1);

+    p2 = f32(p2);

+

+    p1 = fcoopmatNV<16, gl_ScopeSubgroup, 8, 8>(0.0);

+    p2 = fcoopmatNV<32, gl_ScopeSubgroup, 8, 8>(0.0);

+

+    p1 /= p1;

+

+    p1 *= float16_t(2.0);

+    p2 *= 4.0;

+

+    fcoopmatNV<16, gl_ScopeSubgroup, 16, 8> ms;

+    coopMatLoadNV(ms, shmatrix, 1, 2, false);

+    coopMatStoreNV(ms, shmatrix, 1, 2, false);

+

+}
diff --git a/Test/spv.coopmat_Error.comp b/Test/spv.coopmat_Error.comp
new file mode 100644
index 0000000..220aa98
--- /dev/null
+++ b/Test/spv.coopmat_Error.comp
@@ -0,0 +1,76 @@
+#version 450 core
+#extension GL_KHR_memory_scope_semantics : enable

+#extension GL_NV_cooperative_matrix : enable

+#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable

+

+layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
+

+float<16> ftemplate16;

+

+fcoopmatNV fnoparams;

+

+fcoopmatNV<8, gl_ScopeSubgroup, 8, 8> fbadbits;

+

+fcoopmatNV<16, gl_ScopeSubgroup, 8> fbadnumparams;

+

+int X = 8;

+

+fcoopmatNV<16, gl_ScopeSubgroup, 8, X> fbadparam;

+

+layout(constant_id = 0) int Y = 1;

+

+shared fcoopmatNV<16, gl_ScopeSubgroup, 16, 16> sharedmat;

+

+layout(set = 0, binding = 0) buffer InvBlock {

+    fcoopmatNV<16, gl_ScopeSubgroup, 16, 16> bufmat;

+} invblock;

+

+void main()
+{

+    fcoopmatNV<32, gl_ScopeSubgroup, 16, 8> f32_16_8;

+    fcoopmatNV<16, gl_ScopeSubgroup, 16, 8> f16_16_8;

+

+    // invalid implicit conversions

+    f32_16_8 = f16_16_8;

+    f32_16_8 = f16_16_8 + f16_16_8;

+

+    fcoopmatNV<16, gl_ScopeSubgroup, 8, 8> f16_8_8;

+

+    // mismatching dimensions

+    f16_16_8 = f16_8_8;

+

+    fcoopmatNV<16, gl_ScopeSubgroup, 8, Y> f16_8_Y;

+    fcoopmatNV<16, gl_ScopeSubgroup, 8, (Y+1)> f16_8_Y1;

+

+    // mismatching dimensions with specialization constants

+    f16_8_Y = f16_8_Y1;

+

+    // wrong arguments for constructor

+    f16_8_8 = fcoopmatNV<16, gl_ScopeSubgroup, 8, 8>(1, 1);

+

+    // can't construct from a builtin type

+    mat4 m4;

+    fcoopmatNV<32, gl_ScopeSubgroup, 4, 4> f32_4_4 = fcoopmatNV<32, gl_ScopeSubgroup, 4, 4>(m4);

+

+    // only support a single array subscript

+    f16_16_8[0][0];

+

+    // don't support scalar component selection

+    f16_16_8.x;

+

+    f16_16_8 * f16_16_8;

+

+    f16_16_8 + 1.0;

+    f16_16_8 - 1.0;

+    f16_16_8 / 1.0;

+    f16_16_8 += 1.0;

+    f16_16_8 -= 1.0;

+    f16_16_8 /= 1.0;

+

+    f16_16_8*2.0;

+    2.0*f16_16_8;

+    f32_16_8*float16_t(2.0);

+    float16_t(2.0)*f32_16_8;

+

+    transpose(f16_8_8);

+}
diff --git a/Test/spv.memoryScopeSemantics.comp b/Test/spv.memoryScopeSemantics.comp
index c03c123..88f5481 100644
--- a/Test/spv.memoryScopeSemantics.comp
+++ b/Test/spv.memoryScopeSemantics.comp
@@ -18,6 +18,7 @@
 layout (binding = 7) nonprivate uniform BufferK { uint x; } bufferk;

 shared uint64_t atomu64;

 shared int64_t atomi64;

+layout (binding = 8) volatile buffer BufferL { uint x; } bufferl;

 

 

 void main()

@@ -57,5 +58,7 @@
 

     atomu64 = atomicMax(atomu64, uint64_t(7), gl_ScopeDevice, 0, 0);

     atomicCompSwap(atomi64, int64_t(10), int64_t(atomu64), gl_ScopeDevice, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquire, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquire);

+

+    y = bufferl.x;

 }

 

diff --git a/Test/spv.meshShaderBuiltins.mesh b/Test/spv.meshShaderBuiltins.mesh
index 8adff3d..0240a17 100644
--- a/Test/spv.meshShaderBuiltins.mesh
+++ b/Test/spv.meshShaderBuiltins.mesh
@@ -50,8 +50,9 @@
 
     BARRIER();
 
-    // should truncate 257 -> 1
-    gl_PrimitiveIndicesNV[0] = 257;
+    // check bound limits
+    gl_PrimitiveIndicesNV[0] = 257; // should truncate 257 -> 1
+    gl_PrimitiveIndicesNV[(MAX_PRIM * 3) - 1] = 2;
     gl_PrimitiveIndicesNV[gid] = gl_PrimitiveIndicesNV[gid-1];
 
     // writes 4 indices at offset gl_DrawID
diff --git a/Test/spv.meshShaderRedeclBuiltins.mesh b/Test/spv.meshShaderRedeclBuiltins.mesh
index 38107b2..1b19a75 100644
--- a/Test/spv.meshShaderRedeclBuiltins.mesh
+++ b/Test/spv.meshShaderRedeclBuiltins.mesh
@@ -22,14 +22,16 @@
     float gl_PointSize;
     float gl_ClipDistance[4];
     float gl_CullDistance[4];
-} gl_MeshVerticesNV[];
+} gl_MeshVerticesNV[MAX_VER];                   // explicitly sized to MAX_VER
 
 perprimitiveNV out gl_MeshPerPrimitiveNV {
     int gl_PrimitiveID;
     int gl_Layer;
     int gl_ViewportIndex;
     int gl_ViewportMask[];
-} gl_MeshPrimitivesNV[];
+} gl_MeshPrimitivesNV[];                        // implicitly sized to MAX_PRIM
+
+out uint gl_PrimitiveIndicesNV[MAX_PRIM*3];     // explicitly sized to MAX_PRIM * 3
 
 void main()
 {
@@ -63,4 +65,9 @@
     gl_MeshPrimitivesNV[iid+1].gl_ViewportMask[0] = gl_MeshPrimitivesNV[iid].gl_ViewportMask[0];
 
     BARRIER();
+
+    // check bound limits
+    gl_PrimitiveIndicesNV[0] = 1;
+    gl_PrimitiveIndicesNV[(MAX_PRIM * 3) - 1] = 2;
+    gl_PrimitiveCountNV = MAX_PRIM * 3;
 }
diff --git a/Test/spv.meshTaskShader.task b/Test/spv.meshTaskShader.task
index c12b3bd..ff94e6d 100644
--- a/Test/spv.meshTaskShader.task
+++ b/Test/spv.meshTaskShader.task
@@ -1,5 +1,7 @@
 #version 450
 
+#define MAX_VIEWS gl_MaxMeshViewCountNV
+
 #define BARRIER() \
     memoryBarrierShared(); \
     barrier();
@@ -19,12 +21,14 @@
 taskNV out Task {
     vec2 dummy;
     vec2 submesh[3];
+    uint viewID;
 } mytask;
 
 void main()
 {
     uint iid = gl_LocalInvocationID.x;
     uint gid = gl_WorkGroupID.x;
+    uint viewID = gl_MeshViewIndicesNV[gl_MeshViewCountNV%MAX_VIEWS];
 
     // 1. shared memory load and stores
     for (uint i = 0; i < 10; ++i) {
@@ -41,6 +45,7 @@
     mytask.submesh[0] = vec2(32.0, 33.0);
     mytask.submesh[1] = vec2(34.0, 35.0);
     mytask.submesh[2] = mytask.submesh[gid%2];
+    mytask.viewID     = viewID;
 
     BARRIER();
 
diff --git a/Test/vulkan.vert b/Test/vulkan.vert
index a6af2d5..0fad1de 100644
--- a/Test/vulkan.vert
+++ b/Test/vulkan.vert
@@ -46,9 +46,9 @@
 #error VULKAN should be 100

 #endif

 

-float AofA0[2][arraySize];              // ERROR, only outer dimension

-float AofA1[arraySize][arraySize];      // ERROR, only outer dimension

-float AofA2[arraySize][2 + arraySize];  // ERROR, only outer dimension

+float AofA0[2][arraySize];

+float AofA1[arraySize][arraySize];

+float AofA2[arraySize][2 + arraySize];

 float AofA3[arraySize][2];

 

 out ban1 {                              // ERROR, only outer dimension

diff --git a/glslang/Include/Common.h b/glslang/Include/Common.h
index b136dde..98e5a1a 100644
--- a/glslang/Include/Common.h
+++ b/glslang/Include/Common.h
@@ -250,7 +250,8 @@
             return nullptr;
         return name->c_str();
     }
-    TString* name; // descriptive name for this string
+    const char* getFilenameStr() const { return name == nullptr ? "" : name->c_str(); }
+    TString* name; // descriptive name for this string, when a textual name is available, otherwise nullptr
     int string;
     int line;
     int column;
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index edd5cfc..d0d9b60 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -81,6 +81,7 @@
     bool   combined : 1;  // true means texture is combined with a sampler, false means texture with no sampler
     bool    sampler : 1;  // true means a pure sampler, other fields should be clear()
     bool   external : 1;  // GL_OES_EGL_image_external
+    bool        yuv : 1;  // GL_EXT_YUV_target
     unsigned int vectorSize : 3;  // vector return type size.
 
     // Some languages support structures as sample results.  Storing the whole structure in the
@@ -116,6 +117,7 @@
         combined = false;
         sampler = false;
         external = false;
+        yuv = false;
         structReturnIndex = noReturnStruct;
 
         // by default, returns a single vec4;
@@ -186,6 +188,7 @@
                 combined == right.combined &&
                  sampler == right.sampler &&
                 external == right.external &&
+                     yuv == right.yuv &&
               vectorSize == right.vectorSize &&
        structReturnIndex == right.structReturnIndex;            
     }
@@ -233,6 +236,9 @@
             s.append("ExternalOES");
             return s;
         }
+        if (yuv) {
+            return "__" + s + "External2DY2YEXT";
+        }
         switch (dim) {
         case Esd1D:      s.append("1D");      break;
         case Esd2D:      s.append("2D");      break;
@@ -537,6 +543,11 @@
     {
         return subgroupcoherent || workgroupcoherent || queuefamilycoherent || devicecoherent || coherent || volatil || restrict || readonly || writeonly;
     }
+    bool bufferReferenceNeedsVulkanMemoryModel() const
+    {
+        // include qualifiers that map to load/store availability/visibility/nonprivate memory access operands
+        return subgroupcoherent || workgroupcoherent || queuefamilycoherent || devicecoherent || coherent || nonprivate;
+    }
 
     bool isInterpolation() const
     {
@@ -1224,9 +1235,11 @@
     int vectorSize : 4;
     int matrixCols : 4;
     int matrixRows : 4;
+    bool coopmat   : 1;
     TArraySizes* arraySizes;
     const TType* userDef;
     TSourceLoc loc;
+    TArraySizes* typeParameters;
 
     void initType(const TSourceLoc& l)
     {
@@ -1237,6 +1250,8 @@
         arraySizes = nullptr;
         userDef = nullptr;
         loc = l;
+        typeParameters = nullptr;
+        coopmat = false;
     }
 
     void initQualifiers(bool global = false)
@@ -1288,8 +1303,8 @@
     // for "empty" type (no args) or simple scalar/vector/matrix
     explicit TType(TBasicType t = EbtVoid, TStorageQualifier q = EvqTemporary, int vs = 1, int mc = 0, int mr = 0,
                    bool isVector = false) :
-                            basicType(t), vectorSize(vs), matrixCols(mc), matrixRows(mr), vector1(isVector && vs == 1),
-                            arraySizes(nullptr), structure(nullptr), fieldName(nullptr), typeName(nullptr)
+                            basicType(t), vectorSize(vs), matrixCols(mc), matrixRows(mr), vector1(isVector && vs == 1), coopmat(false),
+                            arraySizes(nullptr), structure(nullptr), fieldName(nullptr), typeName(nullptr), typeParameters(nullptr)
                             {
                                 sampler.clear();
                                 qualifier.clear();
@@ -1299,8 +1314,8 @@
     // for explicit precision qualifier
     TType(TBasicType t, TStorageQualifier q, TPrecisionQualifier p, int vs = 1, int mc = 0, int mr = 0,
           bool isVector = false) :
-                            basicType(t), vectorSize(vs), matrixCols(mc), matrixRows(mr), vector1(isVector && vs == 1),
-                            arraySizes(nullptr), structure(nullptr), fieldName(nullptr), typeName(nullptr)
+                            basicType(t), vectorSize(vs), matrixCols(mc), matrixRows(mr), vector1(isVector && vs == 1), coopmat(false),
+                            arraySizes(nullptr), structure(nullptr), fieldName(nullptr), typeName(nullptr), typeParameters(nullptr)
                             {
                                 sampler.clear();
                                 qualifier.clear();
@@ -1312,8 +1327,8 @@
     // for turning a TPublicType into a TType, using a shallow copy
     explicit TType(const TPublicType& p) :
                             basicType(p.basicType),
-                            vectorSize(p.vectorSize), matrixCols(p.matrixCols), matrixRows(p.matrixRows), vector1(false),
-                            arraySizes(p.arraySizes), structure(nullptr), fieldName(nullptr), typeName(nullptr)
+                            vectorSize(p.vectorSize), matrixCols(p.matrixCols), matrixRows(p.matrixRows), vector1(false), coopmat(p.coopmat),
+                            arraySizes(p.arraySizes), structure(nullptr), fieldName(nullptr), typeName(nullptr), typeParameters(p.typeParameters)
                             {
                                 if (basicType == EbtSampler)
                                     sampler = p.sampler;
@@ -1329,12 +1344,18 @@
                                     }
                                     typeName = NewPoolTString(p.userDef->getTypeName().c_str());
                                 }
+                                if (p.coopmat && p.basicType == EbtFloat &&
+                                    p.typeParameters && p.typeParameters->getNumDims() > 0 &&
+                                    p.typeParameters->getDimSize(0) == 16) {
+                                    basicType = EbtFloat16;
+                                    qualifier.precision = EpqNone;
+                                }
                             }
     // for construction of sampler types
     TType(const TSampler& sampler, TStorageQualifier q = EvqUniform, TArraySizes* as = nullptr) :
-        basicType(EbtSampler), vectorSize(1), matrixCols(0), matrixRows(0), vector1(false),
+        basicType(EbtSampler), vectorSize(1), matrixCols(0), matrixRows(0), vector1(false), coopmat(false),
         arraySizes(as), structure(nullptr), fieldName(nullptr), typeName(nullptr),
-        sampler(sampler)
+        sampler(sampler), typeParameters(nullptr)
     {
         qualifier.clear();
         qualifier.storage = q;
@@ -1375,13 +1396,16 @@
                                         // dereference from vector to scalar
                                         vectorSize = 1;
                                         vector1 = false;
+                                    } else if (isCoopMat()) {
+                                        coopmat = false;
+                                        typeParameters = nullptr;
                                     }
                                 }
                             }
     // for making structures, ...
     TType(TTypeList* userDef, const TString& n) :
-                            basicType(EbtStruct), vectorSize(1), matrixCols(0), matrixRows(0), vector1(false),
-                            arraySizes(nullptr), structure(userDef), fieldName(nullptr)
+                            basicType(EbtStruct), vectorSize(1), matrixCols(0), matrixRows(0), vector1(false), coopmat(false),
+                            arraySizes(nullptr), structure(userDef), fieldName(nullptr), typeParameters(nullptr)
                             {
                                 sampler.clear();
                                 qualifier.clear();
@@ -1389,8 +1413,8 @@
                             }
     // For interface blocks
     TType(TTypeList* userDef, const TString& n, const TQualifier& q) :
-                            basicType(EbtBlock), vectorSize(1), matrixCols(0), matrixRows(0), vector1(false),
-                            qualifier(q), arraySizes(nullptr), structure(userDef), fieldName(nullptr)
+                            basicType(EbtBlock), vectorSize(1), matrixCols(0), matrixRows(0), vector1(false), coopmat(false),
+                            qualifier(q), arraySizes(nullptr), structure(userDef), fieldName(nullptr), typeParameters(nullptr)
                             {
                                 sampler.clear();
                                 typeName = NewPoolTString(n.c_str());
@@ -1428,6 +1452,8 @@
         } else {
             referentType = copyOf.referentType;
         }
+        typeParameters = copyOf.typeParameters;
+        coopmat = copyOf.coopmat;
     }
 
     // Make complete copy of the whole type graph rooted at 'copyOf'.
@@ -1491,6 +1517,8 @@
     virtual const TArraySizes* getArraySizes() const { return arraySizes; }
     virtual       TArraySizes* getArraySizes()       { return arraySizes; }
     virtual TType* getReferentType() const { return referentType; }
+    virtual const TArraySizes* getTypeParameters() const { return typeParameters; }
+    virtual       TArraySizes* getTypeParameters()       { return typeParameters; }
 
     virtual bool isScalar() const { return ! isVector() && ! isMatrix() && ! isStruct() && ! isArray(); }
     virtual bool isScalarOrVec1() const { return isScalar() || vector1; }
@@ -1533,6 +1561,8 @@
     virtual bool isImage()   const { return basicType == EbtSampler && getSampler().isImage(); }
     virtual bool isSubpass() const { return basicType == EbtSampler && getSampler().isSubpass(); }
     virtual bool isTexture() const { return basicType == EbtSampler && getSampler().isTexture(); }
+    virtual bool isParameterized()  const { return typeParameters != nullptr; }
+    virtual bool isCoopMat() const { return coopmat; }
 
     // return true if this type contains any subtype which satisfies the given predicate.
     template <typename P>
@@ -1598,6 +1628,7 @@
             case EbtInt64:
             case EbtUint64:
             case EbtBool:
+            case EbtReference:
                 return true;
             default:
                 return false;
@@ -1622,6 +1653,11 @@
         return containsBasicType(EbtInt8) || containsBasicType(EbtUint8);
     }
 
+    virtual bool containsCoopMat() const
+    {
+        return contains([](const TType* t) { return t->coopmat; } );
+    }
+
     // Array editing methods.  Array descriptors can be shared across
     // type instances.  This allows all uses of the same array
     // to be updated at once.  E.g., all nodes can be explicitly sized
@@ -1694,6 +1730,46 @@
         }
     }
 
+
+    void updateTypeParameters(const TType& type)
+    {
+        // For when we may already be sharing existing array descriptors,
+        // keeping the pointers the same, just updating the contents.
+        assert(typeParameters != nullptr);
+        assert(type.typeParameters != nullptr);
+        *typeParameters = *type.typeParameters;
+    }
+    void copyTypeParameters(const TArraySizes& s)
+    {
+        // For setting a fresh new set of type parameters, not yet worrying about sharing.
+        typeParameters = new TArraySizes;
+        *typeParameters = s;
+    }
+    void transferTypeParameters(TArraySizes* s)
+    {
+        // For setting an already allocated set of sizes that this type can use
+        // (no copy made).
+        typeParameters = s;
+    }
+    void clearTypeParameters()
+    {
+        typeParameters = nullptr;
+    }
+
+    // Add inner array sizes, to any existing sizes, via copy; the
+    // sizes passed in can still be reused for other purposes.
+    void copyTypeParametersInnerSizes(const TArraySizes* s)
+    {
+        if (s != nullptr) {
+            if (typeParameters == nullptr)
+                copyTypeParameters(*s);
+            else
+                typeParameters->addInnerSizes(*s);
+        }
+    }
+
+
+
     const char* getBasicString() const
     {
         return TType::getBasicString(basicType);
@@ -1908,6 +1984,15 @@
                 }
             }
         }
+        if (isParameterized()) {
+            appendStr("<");
+            for(int i = 0; i < (int)typeParameters->getNumDims(); ++i) {
+                appendInt(typeParameters->getDimSize(i));
+                if (i != (int)typeParameters->getNumDims() - 1)
+                    appendStr(", ");
+            }
+            appendStr(">");
+        }
         if (qualifier.precision != EpqNone) {
             appendStr(" ");
             appendStr(getPrecisionQualifierString());
@@ -2064,6 +2149,13 @@
         return arraySizes->sameInnerArrayness(*right.arraySizes);
     }
 
+    // See if two type's parameters match
+    bool sameTypeParameters(const TType& right) const
+    {
+        return ((typeParameters == nullptr && right.typeParameters == nullptr) ||
+                (typeParameters != nullptr && right.typeParameters != nullptr && *typeParameters == *right.typeParameters));
+    }
+
     // See if two type's elements match in all ways except basic type
     bool sameElementShape(const TType& right) const
     {
@@ -2072,14 +2164,23 @@
                matrixCols == right.matrixCols &&
                matrixRows == right.matrixRows &&
                   vector1 == right.vector1    &&
+                  coopmat == right.coopmat    &&
                sameStructType(right)          &&
                sameReferenceType(right);
     }
 
+    // See if a cooperative matrix type parameter with unspecified parameters is
+    // an OK function parameter
+    bool coopMatParameterOK(const TType& right) const
+    {
+        return coopmat && right.coopmat &&
+               typeParameters == nullptr && right.typeParameters != nullptr;
+    }
+
     // See if two types match in all ways (just the actual type, not qualification)
     bool operator==(const TType& right) const
     {
-        return sameElementType(right) && sameArrayness(right);
+        return sameElementType(right) && sameArrayness(right) && sameTypeParameters(right);
     }
 
     bool operator!=(const TType& right) const
@@ -2087,6 +2188,16 @@
         return ! operator==(right);
     }
 
+    unsigned int getBufferReferenceAlignment() const
+    {
+        if (getBasicType() == glslang::EbtReference) {
+            return getReferentType()->getQualifier().hasBufferReferenceAlign() ?
+                        (1u << getReferentType()->getQualifier().layoutBufferReferenceAlign) : 16u;
+        } else {
+            return 0;
+        }
+    }
+
 protected:
     // Require consumer to pick between deep copy and shallow copy.
     TType(const TType& type);
@@ -2104,6 +2215,11 @@
             *arraySizes = *copyOf.arraySizes;
         }
 
+        if (copyOf.typeParameters) {
+            typeParameters = new TArraySizes;
+            *typeParameters = *copyOf.typeParameters;
+        }
+
         if (copyOf.isStruct() && copyOf.structure) {
             auto prevCopy = copiedMap.find(copyOf.structure);
             if (prevCopy != copiedMap.end())
@@ -2139,6 +2255,7 @@
                                // functionality is added.
                                // HLSL does have a 1-component vectors, so this will be true to disambiguate
                                // from a scalar.
+    bool coopmat         : 1;
     TQualifier qualifier;
 
     TArraySizes* arraySizes;    // nullptr unless an array; can be shared across types
@@ -2151,6 +2268,7 @@
     TString *fieldName;         // for structure field names
     TString *typeName;          // for structure type name
     TSampler sampler;
+    TArraySizes* typeParameters;// nullptr unless a parameterized type; can be shared across types
 };
 
 } // end namespace glslang
diff --git a/glslang/Include/arrays.h b/glslang/Include/arrays.h
index af8f560..7f047d9 100644
--- a/glslang/Include/arrays.h
+++ b/glslang/Include/arrays.h
@@ -254,7 +254,9 @@
     void addInnerSize() { addInnerSize((unsigned)UnsizedArraySize); }
     void addInnerSize(int s) { addInnerSize((unsigned)s, nullptr); }
     void addInnerSize(int s, TIntermTyped* n) { sizes.push_back((unsigned)s, n); }
-    void addInnerSize(TArraySize pair) { sizes.push_back(pair.size, pair.node); }
+    void addInnerSize(TArraySize pair) {
+        sizes.push_back(pair.size, pair.node);
+    }
     void addInnerSizes(const TArraySizes& s) { sizes.push_back(s.sizes); }
     void changeOuterSize(int s) { sizes.changeFront((unsigned)s); }
     int getImplicitSize() const { return implicitArraySize; }
@@ -318,8 +320,8 @@
     void setVariablyIndexed() { variablyIndexed = true; }
     bool isVariablyIndexed() const { return variablyIndexed; }
 
-    bool operator==(const TArraySizes& rhs) { return sizes == rhs.sizes; }
-    bool operator!=(const TArraySizes& rhs) { return sizes != rhs.sizes; }
+    bool operator==(const TArraySizes& rhs) const { return sizes == rhs.sizes; }
+    bool operator!=(const TArraySizes& rhs) const { return sizes != rhs.sizes; }
 
 protected:
     TSmallArrayVector sizes;
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
index 4b6bcb7..32e684c 100644
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -615,6 +615,10 @@
     EOpAny,
     EOpAll,
 
+    EOpCooperativeMatrixLoad,
+    EOpCooperativeMatrixStore,
+    EOpCooperativeMatrixMulAdd,
+
     //
     // Branch
     //
@@ -737,6 +741,7 @@
     EOpConstructTextureSampler,
     EOpConstructNonuniform,     // expected to be transformed away, not present in final AST
     EOpConstructReference,
+    EOpConstructCooperativeMatrix,
     EOpConstructGuardEnd,
 
     //
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 702c89e..f810a33 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -1,3 +1,3 @@
 // This header is generated by the make-revision script.
 
-#define GLSLANG_PATCH_LEVEL 3057
+#define GLSLANG_PATCH_LEVEL 3170
diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp
old mode 100755
new mode 100644
index a6adab1..b75e3ef
--- a/glslang/MachineIndependent/Constant.cpp
+++ b/glslang/MachineIndependent/Constant.cpp
@@ -941,6 +941,10 @@
             newConstArray[i].setDConst(unionArray[i].getDConst()); break;
         case EOpConvDoubleToFloat:
             newConstArray[i].setDConst(unionArray[i].getDConst()); break;
+        case EOpConvPtrToUint64:
+        case EOpConvUint64ToPtr:
+        case EOpConstructReference:
+            newConstArray[i].setU64Const(unionArray[i].getU64Const()); break;
 
 
 
@@ -1354,7 +1358,9 @@
     // arrays, vectors, matrices, all use simple multiplicative math
     // while structures need to add up heterogeneous members
     int start;
-    if (node->isArray() || ! node->isStruct())
+    if (node->getType().isCoopMat())
+        start = 0;
+    else if (node->isArray() || ! node->isStruct())
         start = size * index;
     else {
         // it is a structure
diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
old mode 100755
new mode 100644
index a20d3be..0498b48
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -1604,6 +1604,16 @@
                 "\n");
             }
             commonBuiltins.append(
+                "highp ivec2 textureSize(__samplerExternal2DY2YEXT, int lod);" // GL_EXT_YUV_target
+                "vec4 texture(__samplerExternal2DY2YEXT, vec2);"               // GL_EXT_YUV_target
+                "vec4 texture(__samplerExternal2DY2YEXT, vec2, float bias);"   // GL_EXT_YUV_target
+                "vec4 textureProj(__samplerExternal2DY2YEXT, vec3);"           // GL_EXT_YUV_target
+                "vec4 textureProj(__samplerExternal2DY2YEXT, vec3, float bias);" // GL_EXT_YUV_target
+                "vec4 textureProj(__samplerExternal2DY2YEXT, vec4);"           // GL_EXT_YUV_target
+                "vec4 textureProj(__samplerExternal2DY2YEXT, vec4, float bias);" // GL_EXT_YUV_target
+                "vec4 texelFetch(__samplerExternal2DY2YEXT sampler, ivec2, int lod);" // GL_EXT_YUV_target
+                "\n");
+            commonBuiltins.append(
                 "vec4 texture2DGradEXT(sampler2D, vec2, vec2, vec2);"      // GL_EXT_shader_texture_lod
                 "vec4 texture2DProjGradEXT(sampler2D, vec3, vec2, vec2);"  // GL_EXT_shader_texture_lod
                 "vec4 texture2DProjGradEXT(sampler2D, vec4, vec2, vec2);"  // GL_EXT_shader_texture_lod
@@ -1863,7 +1873,8 @@
     }
 
     // GL_KHR_shader_subgroup
-    if (spvVersion.vulkan > 0) {
+    if ((profile == EEsProfile && version >= 310) ||
+        (profile != EEsProfile && version >= 140)) {
         commonBuiltins.append(
             "void subgroupBarrier();"
             "void subgroupMemoryBarrier();"
@@ -4918,6 +4929,34 @@
     commonBuiltins.append("void controlBarrier(int, int, int, int);\n"
                           "void memoryBarrier(int, int, int);\n");
 
+    if (profile != EEsProfile && version >= 450) {
+        // coopMatStoreNV perhaps ought to have "out" on the buf parameter, but
+        // adding it introduces undesirable tempArgs on the stack. What we want
+        // is more like "buf" thought of as a pointer value being an in parameter.
+        stageBuiltins[EShLangCompute].append(
+            "void coopMatLoadNV(out fcoopmatNV m, volatile coherent float16_t[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatLoadNV(out fcoopmatNV m, volatile coherent float[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n"
+
+            "void coopMatStoreNV(fcoopmatNV m, volatile coherent float16_t[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatStoreNV(fcoopmatNV m, volatile coherent float[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatStoreNV(fcoopmatNV m, volatile coherent float64_t[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatStoreNV(fcoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatStoreNV(fcoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatStoreNV(fcoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatStoreNV(fcoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatStoreNV(fcoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n"
+            "void coopMatStoreNV(fcoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n"
+
+            "fcoopmatNV coopMatMulAddNV(fcoopmatNV A, fcoopmatNV B, fcoopmatNV C);\n"
+            );
+    }
+
     //============================================================================
     //
     // Prototypes for built-in functions seen by fragment shaders only.
@@ -5347,6 +5386,9 @@
             "in highp uvec3 gl_GlobalInvocationID;"
             "in highp uint gl_LocalInvocationIndex;"
 
+            "in uint gl_MeshViewCountNV;"
+            "in uint gl_MeshViewIndicesNV[4];"
+
             "\n");
     }
 
@@ -5753,7 +5795,14 @@
             "patch out highp float gl_TessLevelOuter[4];"
             "patch out highp float gl_TessLevelInner[2];"
             "patch out highp vec4 gl_BoundingBoxOES[2];"
+            "patch out highp vec4 gl_BoundingBoxEXT[2];"
             "\n");
+        if (profile == EEsProfile && version >= 320) {
+            stageBuiltins[EShLangTessControl].append(
+                "patch out highp vec4 gl_BoundingBox[2];"
+                "\n"
+            );
+        }
     }
 
     if ((profile != EEsProfile && version >= 140) ||
@@ -6078,7 +6127,8 @@
     }
 
     // GL_KHR_shader_subgroup
-    if (spvVersion.vulkan > 0) {
+    if ((profile == EEsProfile && version >= 310) ||
+        (profile != EEsProfile && version >= 140)) {
         const char* ballotDecls = 
             "in mediump uint  gl_SubgroupSize;"
             "in mediump uint  gl_SubgroupInvocationID;"
@@ -6192,7 +6242,6 @@
         const char *callableDecls =
             "in    uvec3  gl_LaunchIDNV;"
             "in    uvec3  gl_LaunchSizeNV;"
-            "in    uint   gl_IncomingRayFlagsNV;"
             "\n";
 
         stageBuiltins[EShLangRayGenNV].append(rayGenDecls);
@@ -7737,11 +7786,12 @@
 static void SpecialQualifier(const char* name, TStorageQualifier qualifier, TBuiltInVariable builtIn, TSymbolTable& symbolTable)
 {
     TSymbol* symbol = symbolTable.find(name);
-    if (symbol) {
-        TQualifier& symQualifier = symbol->getWritableType().getQualifier();
-        symQualifier.storage = qualifier;
-        symQualifier.builtIn = builtIn;
-    }
+    if (symbol == nullptr)
+        return;
+
+    TQualifier& symQualifier = symbol->getWritableType().getQualifier();
+    symQualifier.storage = qualifier;
+    symQualifier.builtIn = builtIn;
 }
 
 //
@@ -7757,7 +7807,7 @@
 static void BuiltInVariable(const char* name, TBuiltInVariable builtIn, TSymbolTable& symbolTable)
 {
     TSymbol* symbol = symbolTable.find(name);
-    if (! symbol)
+    if (symbol == nullptr)
         return;
 
     TQualifier& symQualifier = symbol->getWritableType().getQualifier();
@@ -7774,7 +7824,7 @@
 static void BuiltInVariable(const char* blockName, const char* name, TBuiltInVariable builtIn, TSymbolTable& symbolTable)
 {
     TSymbol* symbol = symbolTable.find(blockName);
-    if (! symbol)
+    if (symbol == nullptr)
         return;
 
     TTypeList& structure = *symbol->getWritableType().getWritableStruct();
@@ -7972,10 +8022,16 @@
 
     case EShLangTessControl:
         if (profile == EEsProfile && version >= 310) {
+            BuiltInVariable("gl_BoundingBoxEXT", EbvBoundingBox, symbolTable);
+            symbolTable.setVariableExtensions("gl_BoundingBoxEXT", 1,
+                                              &E_GL_EXT_primitive_bounding_box);
             BuiltInVariable("gl_BoundingBoxOES", EbvBoundingBox, symbolTable);
-            if (version < 320)
-                symbolTable.setVariableExtensions("gl_BoundingBoxOES", Num_AEP_primitive_bounding_box,
-                                                  AEP_primitive_bounding_box);
+            symbolTable.setVariableExtensions("gl_BoundingBoxOES", 1,
+                                              &E_GL_OES_primitive_bounding_box);
+
+            if (version >= 320) {
+                BuiltInVariable("gl_BoundingBox", EbvBoundingBox, symbolTable);
+            }
         }
 
         // Fall through
@@ -8030,9 +8086,18 @@
         BuiltInVariable("gl_ViewportMaskPerViewNV",     EbvViewportMaskPerViewNV,   symbolTable);
 
         if (language != EShLangVertex) {
+            symbolTable.setVariableExtensions("gl_in", "gl_SecondaryPositionNV", 1, &E_GL_NV_stereo_view_rendering);
+            symbolTable.setVariableExtensions("gl_in", "gl_PositionPerViewNV",   1, &E_GL_NVX_multiview_per_view_attributes);
+
             BuiltInVariable("gl_in", "gl_SecondaryPositionNV", EbvSecondaryPositionNV, symbolTable);
             BuiltInVariable("gl_in", "gl_PositionPerViewNV",   EbvPositionPerViewNV,   symbolTable);
         }
+        symbolTable.setVariableExtensions("gl_out", "gl_ViewportMask",            1, &E_GL_NV_viewport_array2);
+        symbolTable.setVariableExtensions("gl_out", "gl_SecondaryPositionNV",     1, &E_GL_NV_stereo_view_rendering);
+        symbolTable.setVariableExtensions("gl_out", "gl_SecondaryViewportMaskNV", 1, &E_GL_NV_stereo_view_rendering);
+        symbolTable.setVariableExtensions("gl_out", "gl_PositionPerViewNV",       1, &E_GL_NVX_multiview_per_view_attributes);
+        symbolTable.setVariableExtensions("gl_out", "gl_ViewportMaskPerViewNV",   1, &E_GL_NVX_multiview_per_view_attributes);
+
         BuiltInVariable("gl_out", "gl_ViewportMask",            EbvViewportMaskNV,          symbolTable);
         BuiltInVariable("gl_out", "gl_SecondaryPositionNV",     EbvSecondaryPositionNV,     symbolTable);
         BuiltInVariable("gl_out", "gl_SecondaryViewportMaskNV", EbvSecondaryViewportMaskNV, symbolTable);
@@ -8076,15 +8141,16 @@
 
         // gl_PointSize, when it needs to be tied to an extension, is always a member of a block.
         // (Sometimes with an instance name, sometimes anonymous).
-        // However, the current automatic extension scheme does not work per block member,
-        // so for now check when parsing.
-        //
-        // if (profile == EEsProfile) {
-        //    if (language == EShLangGeometry)
-        //        symbolTable.setVariableExtensions("gl_PointSize", Num_AEP_geometry_point_size, AEP_geometry_point_size);
-        //    else if (language == EShLangTessEvaluation || language == EShLangTessControl)
-        //        symbolTable.setVariableExtensions("gl_PointSize", Num_AEP_tessellation_point_size, AEP_tessellation_point_size);
-        //}
+        if (profile == EEsProfile) {
+            if (language == EShLangGeometry) {
+                symbolTable.setVariableExtensions("gl_PointSize", Num_AEP_geometry_point_size, AEP_geometry_point_size);
+                symbolTable.setVariableExtensions("gl_in", "gl_PointSize", Num_AEP_geometry_point_size, AEP_geometry_point_size);
+            } else if (language == EShLangTessEvaluation || language == EShLangTessControl) {
+                // gl_in tessellation settings of gl_PointSize are in the context-dependent paths
+                symbolTable.setVariableExtensions("gl_PointSize", Num_AEP_tessellation_point_size, AEP_tessellation_point_size);
+                symbolTable.setVariableExtensions("gl_out", "gl_PointSize", Num_AEP_tessellation_point_size, AEP_tessellation_point_size);
+            }
+        }
 
         if ((profile != EEsProfile && version >= 140) ||
             (profile == EEsProfile && version >= 310)) {
@@ -8095,7 +8161,8 @@
         }
         
         // GL_KHR_shader_subgroup
-        if (spvVersion.vulkan > 0) {
+        if ((profile == EEsProfile && version >= 310) ||
+            (profile != EEsProfile && version >= 140)) {
             symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupEqMask",       1, &E_GL_KHR_shader_subgroup_ballot);
@@ -8414,7 +8481,8 @@
         }
 
         // GL_KHR_shader_subgroup
-        if (spvVersion.vulkan > 0) {
+        if ((profile == EEsProfile && version >= 310) ||
+            (profile != EEsProfile && version >= 140)) {
             symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupEqMask",       1, &E_GL_KHR_shader_subgroup_ballot);
@@ -8598,7 +8666,8 @@
         }
 
         // GL_KHR_shader_subgroup
-        if (spvVersion.vulkan > 0) {
+        if ((profile == EEsProfile && version >= 310) ||
+            (profile != EEsProfile && version >= 140)) {
             symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupEqMask",       1, &E_GL_KHR_shader_subgroup_ballot);
@@ -8625,7 +8694,8 @@
         }
 
         // GL_KHR_shader_subgroup
-        if (spvVersion.vulkan > 0) {
+        if ((profile == EEsProfile && version >= 310) ||
+            (profile != EEsProfile && version >= 140)) {
             symbolTable.setVariableExtensions("gl_NumSubgroups", 1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupID",   1, &E_GL_KHR_shader_subgroup_basic);
 
@@ -8634,6 +8704,11 @@
 
             symbolTable.setFunctionExtensions("subgroupMemoryBarrierShared", 1, &E_GL_KHR_shader_subgroup_basic);
         }
+
+        symbolTable.setFunctionExtensions("coopMatLoadNV",              1, &E_GL_NV_cooperative_matrix);
+        symbolTable.setFunctionExtensions("coopMatStoreNV",             1, &E_GL_NV_cooperative_matrix);
+        symbolTable.setFunctionExtensions("coopMatMulAddNV",            1, &E_GL_NV_cooperative_matrix);
+
         break;
 #ifdef NV_EXTENSIONS
     case EShLangRayGenNV:
@@ -8683,25 +8758,44 @@
         break;
     case EShLangMeshNV:
         if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) {
-            // Per-vertex builtins
+            // per-vertex builtins
+            symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_Position",     1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_PointSize",    1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_ClipDistance", 1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_CullDistance", 1, &E_GL_NV_mesh_shader);
+
             BuiltInVariable("gl_MeshVerticesNV", "gl_Position",     EbvPosition,     symbolTable);
             BuiltInVariable("gl_MeshVerticesNV", "gl_PointSize",    EbvPointSize,    symbolTable);
             BuiltInVariable("gl_MeshVerticesNV", "gl_ClipDistance", EbvClipDistance, symbolTable);
             BuiltInVariable("gl_MeshVerticesNV", "gl_CullDistance", EbvCullDistance, symbolTable);
-            // Per-view builtins
+
+            symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_PositionPerViewNV",     1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_ClipDistancePerViewNV", 1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_CullDistancePerViewNV", 1, &E_GL_NV_mesh_shader);
+
             BuiltInVariable("gl_MeshVerticesNV", "gl_PositionPerViewNV",     EbvPositionPerViewNV,     symbolTable);
             BuiltInVariable("gl_MeshVerticesNV", "gl_ClipDistancePerViewNV", EbvClipDistancePerViewNV, symbolTable);
             BuiltInVariable("gl_MeshVerticesNV", "gl_CullDistancePerViewNV", EbvCullDistancePerViewNV, symbolTable);
 
-            // Per-primitive builtins
+            // per-primitive builtins
+            symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_PrimitiveID",   1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_Layer",         1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_ViewportIndex", 1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_ViewportMask",  1, &E_GL_NV_mesh_shader);
+
             BuiltInVariable("gl_MeshPrimitivesNV", "gl_PrimitiveID",   EbvPrimitiveId,    symbolTable);
             BuiltInVariable("gl_MeshPrimitivesNV", "gl_Layer",         EbvLayer,          symbolTable);
             BuiltInVariable("gl_MeshPrimitivesNV", "gl_ViewportIndex", EbvViewportIndex,  symbolTable);
             BuiltInVariable("gl_MeshPrimitivesNV", "gl_ViewportMask",  EbvViewportMaskNV, symbolTable);
-            // Per-view builtins
+
+            // per-view per-primitive builtins
+            symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_LayerPerViewNV",        1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_ViewportMaskPerViewNV", 1, &E_GL_NV_mesh_shader);
+
             BuiltInVariable("gl_MeshPrimitivesNV", "gl_LayerPerViewNV",        EbvLayerPerViewNV,        symbolTable);
             BuiltInVariable("gl_MeshPrimitivesNV", "gl_ViewportMaskPerViewNV", EbvViewportMaskPerViewNV, symbolTable);
 
+            // other builtins
             symbolTable.setVariableExtensions("gl_PrimitiveCountNV",     1, &E_GL_NV_mesh_shader);
             symbolTable.setVariableExtensions("gl_PrimitiveIndicesNV",   1, &E_GL_NV_mesh_shader);
             symbolTable.setVariableExtensions("gl_MeshViewCountNV",      1, &E_GL_NV_mesh_shader);
@@ -8722,11 +8816,13 @@
             BuiltInVariable("gl_GlobalInvocationID",   EbvGlobalInvocationId,   symbolTable);
             BuiltInVariable("gl_LocalInvocationIndex", EbvLocalInvocationIndex, symbolTable);
 
+            // builtin constants
             symbolTable.setVariableExtensions("gl_MaxMeshOutputVerticesNV",   1, &E_GL_NV_mesh_shader);
             symbolTable.setVariableExtensions("gl_MaxMeshOutputPrimitivesNV", 1, &E_GL_NV_mesh_shader);
             symbolTable.setVariableExtensions("gl_MaxMeshWorkGroupSizeNV",    1, &E_GL_NV_mesh_shader);
             symbolTable.setVariableExtensions("gl_MaxMeshViewCountNV",        1, &E_GL_NV_mesh_shader);
 
+            // builtin functions
             symbolTable.setFunctionExtensions("barrier",                      1, &E_GL_NV_mesh_shader);
             symbolTable.setFunctionExtensions("memoryBarrierShared",          1, &E_GL_NV_mesh_shader);
             symbolTable.setFunctionExtensions("groupMemoryBarrier",           1, &E_GL_NV_mesh_shader);
@@ -8768,7 +8864,8 @@
         }
 
         // GL_KHR_shader_subgroup
-        if (spvVersion.vulkan > 0) {
+        if ((profile == EEsProfile && version >= 310) ||
+            (profile != EEsProfile && version >= 140)) {
             symbolTable.setVariableExtensions("gl_NumSubgroups",         1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupID",           1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
@@ -8801,6 +8898,8 @@
             symbolTable.setVariableExtensions("gl_LocalInvocationID",    1, &E_GL_NV_mesh_shader);
             symbolTable.setVariableExtensions("gl_GlobalInvocationID",   1, &E_GL_NV_mesh_shader);
             symbolTable.setVariableExtensions("gl_LocalInvocationIndex", 1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshViewCountNV",      1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshViewIndicesNV",    1, &E_GL_NV_mesh_shader);
 
             BuiltInVariable("gl_TaskCountNV",          EbvTaskCountNV,          symbolTable);
             BuiltInVariable("gl_WorkGroupSize",        EbvWorkGroupSize,        symbolTable);
@@ -8808,8 +8907,11 @@
             BuiltInVariable("gl_LocalInvocationID",    EbvLocalInvocationId,    symbolTable);
             BuiltInVariable("gl_GlobalInvocationID",   EbvGlobalInvocationId,   symbolTable);
             BuiltInVariable("gl_LocalInvocationIndex", EbvLocalInvocationIndex, symbolTable);
+            BuiltInVariable("gl_MeshViewCountNV",      EbvMeshViewCountNV,      symbolTable);
+            BuiltInVariable("gl_MeshViewIndicesNV",    EbvMeshViewIndicesNV,    symbolTable);
 
             symbolTable.setVariableExtensions("gl_MaxTaskWorkGroupSizeNV", 1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MaxMeshViewCountNV",     1, &E_GL_NV_mesh_shader);
 
             symbolTable.setFunctionExtensions("barrier",                   1, &E_GL_NV_mesh_shader);
             symbolTable.setFunctionExtensions("memoryBarrierShared",       1, &E_GL_NV_mesh_shader);
@@ -8852,7 +8954,8 @@
         }
 
         // GL_KHR_shader_subgroup
-        if (spvVersion.vulkan > 0) {
+        if ((profile == EEsProfile && version >= 310) ||
+            (profile != EEsProfile && version >= 140)) {
             symbolTable.setVariableExtensions("gl_NumSubgroups",         1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupID",           1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
@@ -9269,7 +9372,8 @@
         }
 
         // GL_KHR_shader_subgroup
-        if (spvVersion.vulkan > 0) {
+        if ((profile == EEsProfile && version >= 310) ||
+            (profile != EEsProfile && version >= 140)) {
             symbolTable.relateToOperator("subgroupBarrier",                 EOpSubgroupBarrier);
             symbolTable.relateToOperator("subgroupMemoryBarrier",           EOpSubgroupMemoryBarrier);
             symbolTable.relateToOperator("subgroupMemoryBarrierBuffer",     EOpSubgroupMemoryBarrierBuffer);
@@ -9412,6 +9516,9 @@
             symbolTable.relateToOperator("fwidthCoarse",EOpFwidthCoarse);
         }
 #endif
+        symbolTable.relateToOperator("coopMatLoadNV",              EOpCooperativeMatrixLoad);
+        symbolTable.relateToOperator("coopMatStoreNV",             EOpCooperativeMatrixStore);
+        symbolTable.relateToOperator("coopMatMulAddNV",            EOpCooperativeMatrixMulAdd);
         break;
 
 #ifdef NV_EXTENSIONS
@@ -9511,6 +9618,12 @@
         BuiltInVariable("gl_in", "gl_BackSecondaryColor",  EbvBackSecondaryColor,  symbolTable);
         BuiltInVariable("gl_in", "gl_TexCoord",            EbvTexCoord,            symbolTable);
         BuiltInVariable("gl_in", "gl_FogFragCoord",        EbvFogFragCoord,        symbolTable);
+
+        // extension requirements
+        if (profile == EEsProfile) {
+            symbolTable.setVariableExtensions("gl_in", "gl_PointSize", Num_AEP_tessellation_point_size, AEP_tessellation_point_size);
+        }
+
         break;
 
     default:
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
old mode 100755
new mode 100644
index 32b38a0..5e9c784
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -725,6 +725,11 @@
     return newNode;
 }
 
+TIntermTyped* TIntermediate::addConversion(TBasicType convertTo, TIntermTyped* node) const
+{
+    return createConversion(convertTo, node);
+}
+
 // For converting a pair of operands to a binary operation to compatible
 // types with each other, relative to the operation in 'op'.
 // This does not cover assignment operations, which is asymmetric in that the
@@ -738,7 +743,7 @@
 // Returns the converted pair of nodes.
 // Returns <nullptr, nullptr> when there is no conversion.
 std::tuple<TIntermTyped*, TIntermTyped*>
-TIntermediate::addConversion(TOperator op, TIntermTyped* node0, TIntermTyped* node1) const
+TIntermediate::addConversion(TOperator op, TIntermTyped* node0, TIntermTyped* node1)
 {
     if (!isConversionAllowed(op, node0) || !isConversionAllowed(op, node1))
         return std::make_tuple(nullptr, nullptr);
@@ -751,6 +756,10 @@
         // If differing arrays, then no conversions.
         if (node0->getType().isArray() || node1->getType().isArray())
             return std::make_tuple(nullptr, nullptr);
+
+        // No implicit conversions for operations involving cooperative matrices
+        if (node0->getType().isCoopMat() || node1->getType().isCoopMat())
+            return std::make_tuple(node0, node1);
     }
 
     auto promoteTo = std::make_tuple(EbtNumTypes, EbtNumTypes);
@@ -867,7 +876,7 @@
 //
 // Return nullptr if a conversion can't be done.
 //
-TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TIntermTyped* node) const
+TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TIntermTyped* node)
 {
     if (!isConversionAllowed(op, node))
         return nullptr;
@@ -983,6 +992,7 @@
 
     case EOpSequence:
     case EOpConstructStruct:
+    case EOpConstructCooperativeMatrix:
 
         if (type.getBasicType() == EbtReference || node->getType().getBasicType() == EbtReference) {
             // types must match to assign a reference
@@ -998,7 +1008,7 @@
         if (canImplicitlyPromote(node->getBasicType(), type.getBasicType(), op))
             promoteTo = type.getBasicType();
         else
-           return nullptr;
+            return nullptr;
         break;
 
     // For GLSL, there are no conversions needed; the shift amount just needs to be an
@@ -1847,6 +1857,9 @@
     if (type.getQualifier().nonUniform)
         return EOpConstructNonuniform;
 
+    if (type.isCoopMat())
+        return EOpConstructCooperativeMatrix;
+
     switch (type.getBasicType()) {
     case EbtStruct:
         op = EOpConstructStruct;
@@ -3319,6 +3332,40 @@
         break;
     }
 
+    if (left->getType().isCoopMat() || right->getType().isCoopMat()) {
+        if (left->getType().isCoopMat() && right->getType().isCoopMat() &&
+            *left->getType().getTypeParameters() != *right->getType().getTypeParameters()) {
+            return false;
+        }
+        switch (op) {
+        case EOpMul:
+        case EOpMulAssign:
+            if (left->getType().isCoopMat() && right->getType().isCoopMat()) {
+                return false;
+            }
+            if (op == EOpMulAssign && right->getType().isCoopMat()) {
+                return false;
+            }
+            node.setOp(op == EOpMulAssign ? EOpMatrixTimesScalarAssign : EOpMatrixTimesScalar);
+            if (right->getType().isCoopMat()) {
+                node.setType(right->getType());
+            }
+            return true;
+        case EOpAdd:
+        case EOpSub:
+        case EOpDiv:
+        case EOpAssign:
+            // These require both to be cooperative matrices
+            if (!left->getType().isCoopMat() || !right->getType().isCoopMat()) {
+                return false;
+            }
+            return true;
+        default:
+            break;
+        }
+        return false;
+    }
+
     // Finish handling the case, for all ops, where both operands are scalars.
     if (left->isScalar() && right->isScalar())
         return true;
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index 7a968ce..c9ddaea 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -152,6 +152,10 @@
     case EvqBuffer:
         if (node->getQualifier().readonly)
             message = "can't modify a readonly buffer";
+#ifdef NV_EXTENSIONS
+        if (node->getQualifier().layoutShaderRecordNV)
+            message = "can't modify a shaderrecordnv qualified buffer";
+#endif
         break;
 #ifdef NV_EXTENSIONS
     case EvqHitAttrNV:
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
old mode 100755
new mode 100644
index d16dc99..e1e2ee9
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -275,6 +275,12 @@
         if (tokens.size() != 1)
             error(loc, "extra tokens", "#pragma", "");
         intermediate.setUseVulkanMemoryModel();
+    } else if (spvVersion.spv > 0 && tokens[0].compare("use_variable_pointers") == 0) {
+        if (tokens.size() != 1)
+            error(loc, "extra tokens", "#pragma", "");
+        if (spvVersion.spv < glslang::EShTargetSpv_1_3)
+            error(loc, "requires SPIR-V 1.3", "#pragma use_variable_pointers", "");
+        intermediate.setUseVariablePointers();
     } else if (tokens[0].compare("once") == 0) {
         warn(loc, "not implemented", "#pragma once", "");
     } else if (tokens[0].compare("glslang_binary_double_output") == 0)
@@ -312,9 +318,6 @@
     if (anon) {
         // It was a member of an anonymous container.
 
-        // The "getNumExtensions()" mechanism above doesn't yet work for block members
-        blockMemberExtensionCheck(loc, nullptr, *string);
-
         // Create a subtree for its dereference.
         variable = anon->getAnonContainer().getAsVariable();
         TIntermTyped* container = intermediate.addSymbol(*variable, loc);
@@ -355,7 +358,7 @@
         intermediate.addIoAccessed(*string);
 
     if (variable->getType().getBasicType() == EbtReference &&
-        variable->getType().getQualifier().isMemory()) {
+        variable->getType().getQualifier().bufferReferenceNeedsVulkanMemoryModel()) {
         intermediate.setUseVulkanMemoryModel();
     }
 
@@ -374,7 +377,7 @@
     // basic type checks...
     variableCheck(base);
 
-    if (! base->isArray() && ! base->isMatrix() && ! base->isVector()) {
+    if (! base->isArray() && ! base->isMatrix() && ! base->isVector() && ! base->getType().isCoopMat()) {
         if (base->getAsSymbolNode())
             error(loc, " left of '[' is not of type array, matrix, or vector ", base->getAsSymbolNode()->getName().c_str(), "");
         else
@@ -575,7 +578,7 @@
 
     // fix array size, if it can be fixed and needs to be fixed (will allow variable indexing)
     if (symbolNode->getType().isUnsizedArray()) {
-        int newSize = getIoArrayImplicitSize(symbolNode->getType().getQualifier().isPerPrimitive());
+        int newSize = getIoArrayImplicitSize(symbolNode->getType().getQualifier());
         if (newSize > 0)
             symbolNode->getWritableType().changeOuterArraySize(newSize);
     }
@@ -589,59 +592,80 @@
 // Types without an array size will be given one.
 // Types already having a size that is wrong will get an error.
 //
-void TParseContext::checkIoArraysConsistency(const TSourceLoc& loc, bool tailOnly, bool isPerPrimitive)
+void TParseContext::checkIoArraysConsistency(const TSourceLoc &loc, bool tailOnly)
 {
-    int requiredSize = getIoArrayImplicitSize(isPerPrimitive);
-    if (requiredSize == 0)
-        return;
+    int requiredSize = 0;
+    TString featureString;
+    size_t listSize = ioArraySymbolResizeList.size();
+    size_t i = 0;
 
-    const char* feature;
-    if (language == EShLangGeometry)
-        feature = TQualifier::getGeometryString(intermediate.getInputPrimitive());
-    else if (language == EShLangTessControl
+    // If tailOnly = true, only check the last array symbol in the list.
+    if (tailOnly) {
+        i = listSize - 1;
+    }
+    for (bool firstIteration = true; i < listSize; ++i) {
+        TType &type = ioArraySymbolResizeList[i]->getWritableType();
+
+        // As I/O array sizes don't change, fetch requiredSize only once,
+        // except for mesh shaders which could have different I/O array sizes based on type qualifiers.
+        if (firstIteration
 #ifdef NV_EXTENSIONS
-          || language == EShLangFragment
+            || (language == EShLangMeshNV)
 #endif
         )
+        {
+            requiredSize = getIoArrayImplicitSize(type.getQualifier(), &featureString);
+            if (requiredSize == 0)
+                break;
+            firstIteration = false;
+        }
 
-        feature = "vertices";
-#ifdef NV_EXTENSIONS
-     else if (language == EShLangMeshNV) {
-        feature = isPerPrimitive ? "max_primitives" : "max_vertices";
-     }
-#endif
-    else
-        feature = "unknown";
-
-    if (tailOnly) {
-        checkIoArrayConsistency(loc, requiredSize, feature, ioArraySymbolResizeList.back()->getWritableType(), ioArraySymbolResizeList.back()->getName());
-        return;
+        checkIoArrayConsistency(loc, requiredSize, featureString.c_str(), type,
+                                ioArraySymbolResizeList[i]->getName());
     }
-
-    for (size_t i = 0; i < ioArraySymbolResizeList.size(); ++i)
-        checkIoArrayConsistency(loc, requiredSize, feature, ioArraySymbolResizeList[i]->getWritableType(), ioArraySymbolResizeList[i]->getName());
 }
 
-int TParseContext::getIoArrayImplicitSize(bool isPerPrimitive) const
+int TParseContext::getIoArrayImplicitSize(const TQualifier &qualifier, TString *featureString) const
 {
-    if (language == EShLangGeometry)
-        return TQualifier::mapGeometryToSize(intermediate.getInputPrimitive());
-    else if (language == EShLangTessControl)
-        return intermediate.getVertices() != TQualifier::layoutNotSet ? intermediate.getVertices() : 0;
+    int expectedSize = 0;
+    TString str = "unknown";
+    unsigned int maxVertices = intermediate.getVertices() != TQualifier::layoutNotSet ? intermediate.getVertices() : 0;
+
+    if (language == EShLangGeometry) {
+        expectedSize = TQualifier::mapGeometryToSize(intermediate.getInputPrimitive());
+        str = TQualifier::getGeometryString(intermediate.getInputPrimitive());
+    }
+    else if (language == EShLangTessControl) {
+        expectedSize = maxVertices;
+        str = "vertices";
+    }
 #ifdef NV_EXTENSIONS
-    else if (language == EShLangFragment)
-        return 3; //Number of vertices for Fragment shader is always three.
+    else if (language == EShLangFragment) {
+        // Number of vertices for Fragment shader is always three.
+        expectedSize = 3;
+        str = "vertices";
+    }
     else if (language == EShLangMeshNV) {
-        if (isPerPrimitive) {
-            return intermediate.getPrimitives() != TQualifier::layoutNotSet ? intermediate.getPrimitives() : 0;
-        } else {
-            return intermediate.getVertices() != TQualifier::layoutNotSet ? intermediate.getVertices() : 0;
+        unsigned int maxPrimitives =
+            intermediate.getPrimitives() != TQualifier::layoutNotSet ? intermediate.getPrimitives() : 0;
+        if (qualifier.builtIn == EbvPrimitiveIndicesNV) {
+            expectedSize = maxPrimitives * TQualifier::mapGeometryToSize(intermediate.getOutputPrimitive());
+            str = "max_primitives*";
+            str += TQualifier::getGeometryString(intermediate.getOutputPrimitive());
+        }
+        else if (qualifier.isPerPrimitive()) {
+            expectedSize = maxPrimitives;
+            str = "max_primitives";
+        }
+        else {
+            expectedSize = maxVertices;
+            str = "max_vertices";
         }
     }
 #endif
-
-    else
-        return 0;
+    if (featureString)
+        *featureString = str;
+    return expectedSize;
 }
 
 void TParseContext::checkIoArrayConsistency(const TSourceLoc& loc, int requiredSize, const char* feature, TType& type, const TString& name)
@@ -749,7 +773,7 @@
             const char* feature = ".length() on vectors and matrices";
             requireProfile(loc, ~EEsProfile, feature);
             profileRequires(loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, feature);
-        } else {
+        } else if (!base->getType().isCoopMat()) {
             error(loc, "does not operate on this type:", field.c_str(), base->getType().getCompleteString().c_str());
 
             return base;
@@ -766,6 +790,11 @@
         return base;
     }
 
+    if (base->getType().isCoopMat()) {
+        error(loc, "cannot apply to a cooperative matrix type:", ".", field.c_str());
+        return base;
+    }
+
     // It's neither an array nor .length() if we get here,
     // leaving swizzles and struct/block dereferences.
 
@@ -834,7 +863,7 @@
             if (base->getType().getQualifier().isFrontEndConstant())
                 result = intermediate.foldDereference(base, member, loc);
             else {
-                blockMemberExtensionCheck(loc, base, field);
+                blockMemberExtensionCheck(loc, base, member, field);
                 TIntermTyped* index = intermediate.addConstantUnion(member, loc);
                 result = intermediate.addIndex(EOpIndexDirectStruct, base, index, loc);
                 result->setType(*(*fields)[member].type);
@@ -857,14 +886,30 @@
     return result;
 }
 
-void TParseContext::blockMemberExtensionCheck(const TSourceLoc& loc, const TIntermTyped* /*base*/, const TString& field)
+void TParseContext::blockMemberExtensionCheck(const TSourceLoc& loc, const TIntermTyped* base, int member, const TString& memberName)
 {
-    if (profile == EEsProfile && field == "gl_PointSize") {
-        if (language == EShLangGeometry)
-            requireExtensions(loc, Num_AEP_geometry_point_size, AEP_geometry_point_size, "gl_PointSize");
-        else if (language == EShLangTessControl || language == EShLangTessEvaluation)
-            requireExtensions(loc, Num_AEP_tessellation_point_size, AEP_tessellation_point_size, "gl_PointSize");
-    }
+    // a block that needs extension checking is either 'base', or if arrayed,
+    // one level removed to the left
+    const TIntermSymbol* baseSymbol = nullptr;
+    if (base->getAsBinaryNode() == nullptr)
+        baseSymbol = base->getAsSymbolNode();
+    else
+        baseSymbol = base->getAsBinaryNode()->getLeft()->getAsSymbolNode();
+    if (baseSymbol == nullptr)
+        return;
+    const TSymbol* symbol = symbolTable.find(baseSymbol->getName());
+    if (symbol == nullptr)
+        return;
+    const TVariable* variable = symbol->getAsVariable();
+    if (variable == nullptr)
+        return;
+    if (!variable->hasMemberExtensions())
+        return;
+
+    // We now have a variable that is the base of a dot reference
+    // with members that need extension checking.
+    if (variable->getNumMemberExtensions(member) > 0)
+        requireExtensions(loc, variable->getNumMemberExtensions(member), variable->getMemberExtensions(member), memberName.c_str());
 }
 
 //
@@ -1170,6 +1215,13 @@
                 }
                 result = addOutputArgumentConversions(*fnCandidate, *result->getAsAggregate());
             }
+
+            if (result->getAsTyped()->getType().isCoopMat() &&
+               !result->getAsTyped()->getType().isParameterized()) {
+                assert(fnCandidate->getBuiltInOp() == EOpCooperativeMatrixMulAdd);
+
+                result->setType(result->getAsAggregate()->getSequence()[2]->getAsTyped()->getType());
+            }
         }
     }
 
@@ -1373,7 +1425,7 @@
 #endif
                         )
                     {
-                        length = getIoArrayImplicitSize(type.getQualifier().isPerPrimitive());
+                        length = getIoArrayImplicitSize(type.getQualifier());
                     }
                 }
                 if (length == 0) {
@@ -1396,6 +1448,8 @@
             length = type.getMatrixCols();
         else if (type.isVector())
             length = type.getVectorSize();
+        else if (type.isCoopMat())
+            return intermediate.addBuiltInFunctionCall(loc, EOpArrayLength, true, intermNode, TType(EbtInt));
         else {
             // we should not get here, because earlier semantic checking should have prevented this path
             error(loc, ".length()", "unexpected use of .length()", "");
@@ -1422,7 +1476,8 @@
         // means take 'arguments' itself as the one argument.
         TIntermTyped* arg = function.getParamCount() == 1 ? arguments->getAsTyped() : (aggregate ? aggregate->getSequence()[i]->getAsTyped() : arguments->getAsTyped());
         if (*function[i].type != arg->getType()) {
-            if (function[i].type->getQualifier().isParamInput()) {
+            if (function[i].type->getQualifier().isParamInput() &&
+               !function[i].type->isCoopMat()) {
                 // In-qualified arguments just need an extra node added above the argument to
                 // convert to the correct type.
                 arg = intermediate.addConversion(EOpFunctionCall, *function[i].type, arg);
@@ -1490,7 +1545,14 @@
             if (function[i].type->getQualifier().isParamOutput()) {
                 // Out-qualified arguments need to use the topology set up above.
                 // do the " ...(tempArg, ...), arg = tempArg" bit from above
-                TVariable* tempArg = makeInternalVariable("tempArg", *function[i].type);
+                TType paramType;
+                paramType.shallowCopy(*function[i].type);
+                if (arguments[i]->getAsTyped()->getType().isParameterized() &&
+                    !paramType.isParameterized()) {
+                    paramType.shallowCopy(arguments[i]->getAsTyped()->getType());
+                    paramType.copyTypeParameters(*arguments[i]->getAsTyped()->getType().getTypeParameters());
+                }
+                TVariable* tempArg = makeInternalVariable("tempArg", paramType);
                 tempArg->getWritableType().getQualifier().makeTemporary();
                 TIntermSymbol* tempArgNode = intermediate.addSymbol(*tempArg, intermNode.getLoc());
                 TIntermTyped* tempAssign = intermediate.addAssign(EOpAssign, arguments[i]->getAsTyped(), tempArgNode, arguments[i]->getLoc());
@@ -2879,6 +2941,16 @@
         return true;
     }
 
+    if (type.isCoopMat() && function.getParamCount() != 1) {
+        error(loc, "wrong number of arguments", "constructor", "");
+        return true;
+    }
+    if (type.isCoopMat() &&
+        !(function[0].type->isScalar() || function[0].type->isCoopMat())) {
+        error(loc, "Cooperative matrix constructor argument must be scalar or cooperative matrix", "constructor", "");
+        return true;
+    }
+
     TIntermTyped* typed = node->getAsTyped();
     if (typed == nullptr) {
         error(loc, "constructor argument does not have a type", "constructor", "");
@@ -2993,6 +3065,9 @@
             requireExtensions(loc, 1, &E_GL_OES_EGL_image_external_essl3, "samplerExternalOES");
         }
     }
+    if (type.getSampler().yuv) {
+        requireExtensions(loc, 1, &E_GL_EXT_YUV_target, "__samplerExternal2DY2YEXT");
+    }
 
     if (type.getQualifier().storage == EvqUniform)
         return;
@@ -3497,7 +3572,7 @@
 //
 // Do size checking for an array type's size.
 //
-void TParseContext::arraySizeCheck(const TSourceLoc& loc, TIntermTyped* expr, TArraySize& sizePair)
+void TParseContext::arraySizeCheck(const TSourceLoc& loc, TIntermTyped* expr, TArraySize& sizePair, const char *sizeType)
 {
     bool isConst = false;
     sizePair.node = nullptr;
@@ -3517,18 +3592,24 @@
             TIntermSymbol* symbol = expr->getAsSymbolNode();
             if (symbol && symbol->getConstArray().size() > 0)
                 size = symbol->getConstArray()[0].getIConst();
+        } else if (expr->getAsUnaryNode() &&
+                   expr->getAsUnaryNode()->getOp() == glslang::EOpArrayLength &&
+                   expr->getAsUnaryNode()->getOperand()->getType().isCoopMat()) {
+            isConst = true;
+            size = 1;
+            sizePair.node = expr->getAsUnaryNode();
         }
     }
 
     sizePair.size = size;
 
     if (! isConst || (expr->getBasicType() != EbtInt && expr->getBasicType() != EbtUint)) {
-        error(loc, "array size must be a constant integer expression", "", "");
+        error(loc, sizeType, "", "must be a constant integer expression");
         return;
     }
 
     if (size <= 0) {
-        error(loc, "array size must be a positive integer", "", "");
+        error(loc, sizeType, "", "must be a positive integer");
         return;
     }
 }
@@ -3586,7 +3667,7 @@
 //
 void TParseContext::arraySizeRequiredCheck(const TSourceLoc& loc, const TArraySizes& arraySizes)
 {
-    if (arraySizes.hasUnsized())
+    if (!parsingBuiltins && arraySizes.hasUnsized())
         error(loc, "array size required", "", "");
 }
 
@@ -3623,7 +3704,8 @@
         arraySizes->clearInnerUnsized();
     }
 
-    if (arraySizes->isInnerSpecialization())
+    if (arraySizes->isInnerSpecialization() &&
+        (qualifier.storage != EvqTemporary && qualifier.storage != EvqGlobal && qualifier.storage != EvqShared && qualifier.storage != EvqConst))
         error(loc, "only outermost dimension of an array of arrays can be a specialization constant", "[]", "");
 
     // desktop always allows outer-dimension-unsized variable arrays,
@@ -3714,7 +3796,7 @@
             if (! symbolTable.atBuiltInLevel()) {
                 if (isIoResizeArray(type)) {
                     ioArraySymbolResizeList.push_back(symbol);
-                    checkIoArraysConsistency(loc, true, type.getQualifier().isPerPrimitive());
+                    checkIoArraysConsistency(loc, true);
                 } else
                     fixIoArraySize(loc, symbol->getWritableType());
             }
@@ -3767,7 +3849,7 @@
     existingType.updateArraySizes(type);
 
     if (isIoResizeArray(type))
-        checkIoArraysConsistency(loc, false, type.getQualifier().isPerPrimitive());
+        checkIoArraysConsistency(loc);
 }
 
 // Policy and error check for needing a runtime sized array.
@@ -3923,6 +4005,7 @@
 #ifdef NV_EXTENSIONS
          identifier == "gl_SampleMask"                                                              ||
          identifier == "gl_Layer"                                                                   ||
+         identifier == "gl_PrimitiveIndicesNV"                                                      ||
 #endif
          identifier == "gl_TexCoord") {
 
@@ -4002,7 +4085,11 @@
                     error(loc, "all redeclarations must use the same depth layout on", "redeclaration", symbol->getName().c_str());
             }
         }
-        else if (identifier == "gl_FragStencilRefARB") {
+        else if (
+#ifdef NV_EXTENSIONS
+            identifier == "gl_PrimitiveIndicesNV" ||
+#endif
+            identifier == "gl_FragStencilRefARB") {
             if (qualifier.hasLayout())
                 error(loc, "cannot apply layout qualifier to", "redeclaration", symbol->getName().c_str());
             if (qualifier.storage != EvqVaryingOut)
@@ -4254,7 +4341,7 @@
     // Tracking for implicit sizing of array
     if (isIoResizeArray(block->getType())) {
         ioArraySymbolResizeList.push_back(block);
-        checkIoArraysConsistency(loc, true, block->getType().getQualifier().isPerPrimitive());
+        checkIoArraysConsistency(loc, true);
     } else if (block->getType().isArray())
         fixIoArraySize(loc, block->getWritableType());
 
@@ -4348,6 +4435,12 @@
         error(loc, "can't use with samplers or structs containing samplers", op, "");
 }
 
+void TParseContext::referenceCheck(const TSourceLoc& loc, const TType& type, const char* op)
+{
+    if (containsFieldWithBasicType(type, EbtReference))
+        error(loc, "can't use with reference types", op, "");
+}
+
 void TParseContext::storage16BitAssignmentCheck(const TSourceLoc& loc, const TType& type, const char* op)
 {
     if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtFloat16))
@@ -5062,7 +5155,7 @@
         if (! IsPow2(value))
             error(loc, "must be a power of 2", "buffer_reference_align", "");
         else
-            publicType.qualifier.layoutBufferReferenceAlign = std::log2(value);
+            publicType.qualifier.layoutBufferReferenceAlign = (unsigned int)std::log2(value);
         return;
     }
 
@@ -5447,14 +5540,23 @@
 
         // "The offset must be a multiple of the size of the first component of the first
         // qualified variable or block member, or a compile-time error results. Further, if applied to an aggregate
-        // containing a double, the offset must also be a multiple of 8..."
-        if (type.containsBasicType(EbtDouble) && ! IsMultipleOfPow2(qualifier.layoutXfbOffset, 8))
-            error(loc, "type contains double; xfb_offset must be a multiple of 8", "xfb_offset", "");
-        // ..., if applied to an aggregate containing a float16_t, the offset must also be a multiple of 2..."
-        else if (type.containsBasicType(EbtFloat16) && !IsMultipleOfPow2(qualifier.layoutXfbOffset, 2))
-            error(loc, "type contains half float; xfb_offset must be a multiple of 2", "xfb_offset", "");
+        // containing a double or 64-bit integer, the offset must also be a multiple of 8..."
+        if ((type.containsBasicType(EbtDouble) || type.containsBasicType(EbtInt64) || type.containsBasicType(EbtUint64)) &&
+            ! IsMultipleOfPow2(qualifier.layoutXfbOffset, 8))
+            error(loc, "type contains double or 64-bit integer; xfb_offset must be a multiple of 8", "xfb_offset", "");
+#ifdef AMD_EXTENSIONS
+        else if ((type.containsBasicType(EbtBool) || type.containsBasicType(EbtFloat) ||
+                  type.containsBasicType(EbtInt) || type.containsBasicType(EbtUint)) &&
+                 ! IsMultipleOfPow2(qualifier.layoutXfbOffset, 4))
+            error(loc, "must be a multiple of size of first component", "xfb_offset", "");
+        // ..., if applied to an aggregate containing a half float or 16-bit integer, the offset must also be a multiple of 2..."
+        else if ((type.containsBasicType(EbtFloat16) || type.containsBasicType(EbtInt16) || type.containsBasicType(EbtUint16)) &&
+                 !IsMultipleOfPow2(qualifier.layoutXfbOffset, 2))
+            error(loc, "type contains half float or 16-bit integer; xfb_offset must be a multiple of 2", "xfb_offset", "");
+#else
         else if (! IsMultipleOfPow2(qualifier.layoutXfbOffset, 4))
             error(loc, "must be a multiple of size of first component", "xfb_offset", "");
+#endif
     }
 
     if (qualifier.hasXfbStride() && qualifier.hasXfbBuffer()) {
@@ -5984,9 +6086,18 @@
     symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn);
 
     // can 'from' convert to 'to'?
-    const auto convertible = [this](const TType& from, const TType& to, TOperator, int) -> bool {
+    const auto convertible = [this,builtIn](const TType& from, const TType& to, TOperator, int) -> bool {
         if (from == to)
             return true;
+        if (from.coopMatParameterOK(to))
+            return true;
+        // Allow a sized array to be passed through an unsized array parameter, for coopMatLoad/Store functions
+        if (builtIn && from.isArray() && to.isUnsizedArray()) {
+            TType fromElementType(from, 0);
+            TType toElementType(to, 0);
+            if (fromElementType == toElementType)
+                return true;
+        }
         if (from.isArray() || to.isArray() || ! from.sameElementShape(to))
             return false;
         return intermediate.canImplicitlyPromote(from.getBasicType(), to.getBasicType());
@@ -6049,9 +6160,18 @@
     symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn);
 
     // can 'from' convert to 'to'?
-    const auto convertible = [this](const TType& from, const TType& to, TOperator, int) -> bool {
+    const auto convertible = [this,builtIn](const TType& from, const TType& to, TOperator, int) -> bool {
         if (from == to)
             return true;
+        if (from.coopMatParameterOK(to))
+            return true;
+        // Allow a sized array to be passed through an unsized array parameter, for coopMatLoad/Store functions
+        if (builtIn && from.isArray() && to.isUnsizedArray()) {
+            TType fromElementType(from, 0);
+            TType toElementType(to, 0);
+            if (fromElementType == toElementType)
+                return true;
+        }
         if (from.isArray() || to.isArray() || ! from.sameElementShape(to))
             return false;
         return intermediate.canImplicitlyPromote(from.getBasicType(), to.getBasicType());
@@ -6143,6 +6263,25 @@
     type.copyArrayInnerSizes(publicType.arraySizes);
     arrayOfArrayVersionCheck(loc, type.getArraySizes());
 
+    if (type.isCoopMat()) {
+        intermediate.setUseVulkanMemoryModel();
+        intermediate.setUseStorageBuffer();
+
+        if (!publicType.typeParameters || publicType.typeParameters->getNumDims() != 4) {
+            error(loc, "expected four type parameters", identifier.c_str(), "");
+        }
+        if (publicType.typeParameters &&
+            publicType.typeParameters->getDimSize(0) != 16 &&
+            publicType.typeParameters->getDimSize(0) != 32 &&
+            publicType.typeParameters->getDimSize(0) != 64) {
+            error(loc, "expected 16, 32, or 64 bits for first type parameter", identifier.c_str(), "");
+        }
+    } else {
+        if (publicType.typeParameters && publicType.typeParameters->getNumDims() != 0) {
+            error(loc, "unexpected type parameters", identifier.c_str(), "");
+        }
+    }
+
     if (voidErrorCheck(loc, identifier, type.getBasicType()))
         return nullptr;
 
@@ -6157,6 +6296,9 @@
 #ifdef NV_EXTENSIONS
     accStructNVCheck(loc, type, identifier);
 #endif
+    if (type.getQualifier().storage == EvqConst && type.containsBasicType(EbtReference)) {
+        error(loc, "variables with reference type can't have qualifier 'const'", "qualifier", "");
+    }
 
     if (type.getQualifier().storage != EvqUniform && type.getQualifier().storage != EvqBuffer) {
         if (type.containsBasicType(EbtFloat16))
@@ -6167,6 +6309,10 @@
             requireInt8Arithmetic(loc, "qualifier", "(u)int8 types can only be in uniform block or buffer storage");
     }
 
+    if (type.getQualifier().storage == EvqShared &&
+        type.containsCoopMat())
+        error(loc, "qualifier", "Cooperative matrix types must not be used in shared memory", "");
+
     if (identifier != "gl_FragCoord" && (publicType.shaderQualifiers.originUpperLeft || publicType.shaderQualifiers.pixelCenterInteger))
         error(loc, "can only apply origin_upper_left and pixel_center_origin to gl_FragCoord", "layout qualifier", "");
     if (identifier != "gl_FragDepth" && publicType.shaderQualifiers.layoutDepth != EldNone)
@@ -6219,11 +6365,6 @@
     // fix up
     fixOffset(loc, *symbol);
 
-    if (symbol->getType().getBasicType() == EbtStruct) {
-       fixXfbOffsets(symbol->getWritableType().getQualifier(),
-                     *(symbol->getWritableType().getWritableStruct()));
-    }
-
     return initNode;
 }
 
@@ -6728,7 +6869,7 @@
 
     case EOpConstructUint64:
         if (type.isScalar() && node->getType().getBasicType() == EbtReference) {
-            TIntermUnary* newNode = intermediate.addUnaryNode(EOpConvPtrToUint64, node, node->getLoc(), type);
+            TIntermTyped* newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvPtrToUint64, true, node, type);
             return newNode;
         }
         // fall through
@@ -6753,16 +6894,43 @@
     case EOpConstructReference:
         // construct reference from reference
         if (node->getType().getBasicType() == EbtReference) {
-            newNode = intermediate.addUnaryNode(EOpConstructReference, node, node->getLoc(), type);
+            newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConstructReference, true, node, type);
             return newNode;
         // construct reference from uint64
         } else if (node->getType().isScalar() && node->getType().getBasicType() == EbtUint64) {
-            TIntermUnary* newNode = intermediate.addUnaryNode(EOpConvUint64ToPtr, node, node->getLoc(), type);
+            TIntermTyped* newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvUint64ToPtr, true, node, type);
             return newNode;
         } else {
             return nullptr;
         }
 
+    case EOpConstructCooperativeMatrix:
+        if (!node->getType().isCoopMat()) {
+            if (type.getBasicType() != node->getType().getBasicType()) {
+                node = intermediate.addConversion(type.getBasicType(), node);
+            }
+            node = intermediate.setAggregateOperator(node, EOpConstructCooperativeMatrix, type, node->getLoc());
+        } else {
+            switch (type.getBasicType()) {
+            default:
+                assert(0);
+                break;
+            case EbtFloat:
+                assert(node->getType().getBasicType() == EbtFloat16);
+                node = intermediate.addUnaryNode(EOpConvFloat16ToFloat, node, node->getLoc(), type);
+                break;
+            case EbtFloat16:
+                assert(node->getType().getBasicType() == EbtFloat);
+                node = intermediate.addUnaryNode(EOpConvFloatToFloat16, node, node->getLoc(), type);
+                break;
+            }
+            // If it's a (non-specialization) constant, it must be folded.
+            if (node->getAsUnaryNode()->getOperand()->getAsConstantUnion())
+                return node->getAsUnaryNode()->getOperand()->getAsConstantUnion()->fold(op, node->getType());
+        }
+
+        return node;
+
     default:
         error(loc, "unsupported construction", "", "");
 
@@ -6849,6 +7017,9 @@
 
         if (memberType.containsOpaque())
             error(memberLoc, "member of block cannot be or contain a sampler, image, or atomic_uint type", typeList[member].type->getFieldName().c_str(), "");
+
+        if (memberType.containsCoopMat())
+            error(memberLoc, "member of block cannot be or contain a cooperative matrix type", typeList[member].type->getFieldName().c_str(), "");
     }
 
     // This might be a redeclaration of a built-in block.  If so, redeclareBuiltinBlock() will
@@ -7082,7 +7253,7 @@
     // fix up
     if (isIoResizeArray(blockType)) {
         ioArraySymbolResizeList.push_back(&variable);
-        checkIoArraysConsistency(loc, true, blockType.getQualifier().isPerPrimitive());
+        checkIoArraysConsistency(loc, true);
     } else
         fixIoArraySize(loc, variable.getWritableType());
 
@@ -7270,13 +7441,25 @@
     int nextOffset = qualifier.layoutXfbOffset;
     for (unsigned int member = 0; member < typeList.size(); ++member) {
         TQualifier& memberQualifier = typeList[member].type->getQualifier();
-        bool containsDouble = false;
-        int memberSize = intermediate.computeTypeXfbSize(*typeList[member].type, containsDouble);
+        bool contains64BitType = false;
+#ifdef AMD_EXTENSIONS
+        bool contains32BitType = false;
+        bool contains16BitType = false;
+        int memberSize = intermediate.computeTypeXfbSize(*typeList[member].type, contains64BitType, contains32BitType, contains16BitType);
+#else
+        int memberSize = intermediate.computeTypeXfbSize(*typeList[member].type, contains64BitType);
+#endif
         // see if we need to auto-assign an offset to this member
         if (! memberQualifier.hasXfbOffset()) {
-            // "if applied to an aggregate containing a double, the offset must also be a multiple of 8"
-            if (containsDouble)
+            // "if applied to an aggregate containing a double or 64-bit integer, the offset must also be a multiple of 8"
+            if (contains64BitType)
                 RoundToPow2(nextOffset, 8);
+#ifdef AMD_EXTENSIONS
+            else if (contains32BitType)
+                RoundToPow2(nextOffset, 4);
+            else if (contains16BitType)
+                RoundToPow2(nextOffset, 2);
+#endif
             memberQualifier.layoutXfbOffset = nextOffset;
         } else
             nextOffset = memberQualifier.layoutXfbOffset;
@@ -7653,6 +7836,14 @@
         else
             error(loc, "can only apply to 'in'", "derivative_group_linearNV", "");
     }
+    // Check mesh out array sizes, once all the necessary out qualifiers are defined.
+    if ((language == EShLangMeshNV) &&
+        (intermediate.getVertices() != TQualifier::layoutNotSet) &&
+        (intermediate.getPrimitives() != TQualifier::layoutNotSet) &&
+        (intermediate.getOutputPrimitive() != ElgNone))
+    {
+        checkIoArraysConsistency(loc);
+    }
 #endif 
     const TQualifier& qualifier = publicType.qualifier;
 
@@ -7803,3 +7994,4 @@
 }
 
 } // end namespace glslang
+
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
old mode 100755
new mode 100644
index 768a241..a1ffe64
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -299,14 +299,14 @@
     void fixIoArraySize(const TSourceLoc&, TType&);
     void ioArrayCheck(const TSourceLoc&, const TType&, const TString& identifier);
     void handleIoResizeArrayAccess(const TSourceLoc&, TIntermTyped* base);
-    void checkIoArraysConsistency(const TSourceLoc&, bool tailOnly = false, bool isPerPrimitive = false);
-    int getIoArrayImplicitSize(bool isPerPrimitive = false) const;
+    void checkIoArraysConsistency(const TSourceLoc&, bool tailOnly = false);
+    int getIoArrayImplicitSize(const TQualifier&, TString* featureString = nullptr) const;
     void checkIoArrayConsistency(const TSourceLoc&, int requiredSize, const char* feature, TType&, const TString&);
 
     TIntermTyped* handleBinaryMath(const TSourceLoc&, const char* str, TOperator op, TIntermTyped* left, TIntermTyped* right);
     TIntermTyped* handleUnaryMath(const TSourceLoc&, const char* str, TOperator op, TIntermTyped* childNode);
     TIntermTyped* handleDotDereference(const TSourceLoc&, TIntermTyped* base, const TString& field);
-    void blockMemberExtensionCheck(const TSourceLoc&, const TIntermTyped* base, const TString& field);
+    void blockMemberExtensionCheck(const TSourceLoc&, const TIntermTyped* base, int member, const TString& memberName);
     TFunction* handleFunctionDeclarator(const TSourceLoc&, TFunction& function, bool prototype);
     TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&);
     TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermNode*);
@@ -337,7 +337,7 @@
     void globalCheck(const TSourceLoc&, const char* token);
     bool constructorError(const TSourceLoc&, TIntermNode*, TFunction&, TOperator, TType&);
     bool constructorTextureSamplerError(const TSourceLoc&, const TFunction&);
-    void arraySizeCheck(const TSourceLoc&, TIntermTyped* expr, TArraySize&);
+    void arraySizeCheck(const TSourceLoc&, TIntermTyped* expr, TArraySize&, const char *sizeType);
     bool arrayQualifierError(const TSourceLoc&, const TQualifier&);
     bool arrayError(const TSourceLoc&, const TType&);
     void arraySizeRequiredCheck(const TSourceLoc&, const TArraySizes&);
@@ -370,6 +370,7 @@
     void nestedStructCheck(const TSourceLoc&);
     void arrayObjectCheck(const TSourceLoc&, const TType&, const char* op);
     void opaqueCheck(const TSourceLoc&, const TType&, const char* op);
+    void referenceCheck(const TSourceLoc&, const TType&, const char* op);
     void storage16BitAssignmentCheck(const TSourceLoc&, const TType&, const char* op);
     void specializationCheck(const TSourceLoc&, const TType&, const char* op);
     void structTypeCheck(const TSourceLoc&, TPublicType&);
diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp
index 2ec26c6..482f6ba 100644
--- a/glslang/MachineIndependent/Scan.cpp
+++ b/glslang/MachineIndependent/Scan.cpp
@@ -592,6 +592,8 @@
 
     (*KeywordMap)["samplerExternalOES"] =      SAMPLEREXTERNALOES; // GL_OES_EGL_image_external
 
+    (*KeywordMap)["__samplerExternal2DY2YEXT"] = SAMPLEREXTERNAL2DY2YEXT; // GL_EXT_YUV_target
+
     (*KeywordMap)["sampler"] =                 SAMPLER;
     (*KeywordMap)["samplerShadow"] =           SAMPLERSHADOW;
 
@@ -712,6 +714,8 @@
     (*KeywordMap)["taskNV"] =                  PERTASKNV;
 #endif
 
+    (*KeywordMap)["fcoopmatNV"] =              FCOOPMATNV;
+
     ReservedSet = new std::unordered_set<const char*, str_hash, str_eq>;
 
     ReservedSet->insert("common");
@@ -1410,6 +1414,13 @@
             return keyword;
         return identifierOrType();
 
+    case SAMPLEREXTERNAL2DY2YEXT:
+        afterType = true;
+        if (parseContext.symbolTable.atBuiltInLevel() ||
+            parseContext.extensionTurnedOn(E_GL_EXT_YUV_target))
+            return keyword;
+        return identifierOrType();
+
     case TEXTURE2D:
     case TEXTURECUBE:
     case TEXTURECUBEARRAY:
@@ -1603,6 +1614,13 @@
         return identifierOrType();
 #endif
 
+    case FCOOPMATNV:
+        afterType = true;
+        if (parseContext.symbolTable.atBuiltInLevel() ||
+            parseContext.extensionTurnedOn(E_GL_NV_cooperative_matrix))
+            return keyword;
+        return identifierOrType();
+
     default:
         parseContext.infoSink.info.message(EPrefixInternalError, "Unknown glslang keyword", loc);
         return 0;
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index 3d93aa2..adfe534 100755
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -1335,7 +1335,7 @@
 //
 // Cleanup symbol tables
 //
-int __fastcall ShFinalize()
+int ShFinalize()
 {
     glslang::GetGlobalLock();
     --NumberOfClients;
@@ -1966,12 +1966,27 @@
 // Reflection implementation.
 //
 
-bool TProgram::buildReflection()
+bool TProgram::buildReflection(int opts)
 {
     if (! linked || reflection)
         return false;
 
-    reflection = new TReflection;
+    int firstStage = EShLangVertex, lastStage = EShLangFragment;
+
+    if (opts & EShReflectionIntermediateIO) {
+        // if we're reflecting intermediate I/O, determine the first and last stage linked and use those as the
+        // boundaries for which stages generate pipeline inputs/outputs
+        firstStage = EShLangCount;
+        lastStage = 0;
+        for (int s = 0; s < EShLangCount; ++s) {
+            if (intermediate[s]) {
+                firstStage = std::min(firstStage, s);
+                lastStage = std::max(lastStage, s);
+            }
+        }
+    }
+
+    reflection = new TReflection((EShReflectionOptions)opts, (EShLanguage)firstStage, (EShLanguage)lastStage);
 
     for (int s = 0; s < EShLangCount; ++s) {
         if (intermediate[s]) {
@@ -1983,27 +1998,23 @@
     return true;
 }
 
-int TProgram::getNumLiveUniformVariables() const             { return reflection->getNumUniforms(); }
-int TProgram::getNumLiveUniformBlocks() const                { return reflection->getNumUniformBlocks(); }
-const char* TProgram::getUniformName(int index) const        { return reflection->getUniform(index).name.c_str(); }
-const char* TProgram::getUniformBlockName(int index) const   { return reflection->getUniformBlock(index).name.c_str(); }
-int TProgram::getUniformBlockSize(int index) const           { return reflection->getUniformBlock(index).size; }
-int TProgram::getUniformIndex(const char* name) const        { return reflection->getIndex(name); }
-int TProgram::getUniformBinding(int index) const             { return reflection->getUniform(index).getBinding(); }
-EShLanguageMask TProgram::getUniformStages(int index) const  { return reflection->getUniform(index).stages; }
-int TProgram::getUniformBlockBinding(int index) const        { return reflection->getUniformBlock(index).getBinding(); }
-int TProgram::getUniformBlockIndex(int index) const          { return reflection->getUniform(index).index; }
-int TProgram::getUniformBlockCounterIndex(int index) const   { return reflection->getUniformBlock(index).counterIndex; }
-int TProgram::getUniformType(int index) const                { return reflection->getUniform(index).glDefineType; }
-int TProgram::getUniformBufferOffset(int index) const        { return reflection->getUniform(index).offset; }
-int TProgram::getUniformArraySize(int index) const           { return reflection->getUniform(index).size; }
-int TProgram::getNumLiveAttributes() const                   { return reflection->getNumAttributes(); }
-const char* TProgram::getAttributeName(int index) const      { return reflection->getAttribute(index).name.c_str(); }
-int TProgram::getAttributeType(int index) const              { return reflection->getAttribute(index).glDefineType; }
-const TType* TProgram::getAttributeTType(int index) const    { return reflection->getAttribute(index).getType(); }
-const TType* TProgram::getUniformTType(int index) const      { return reflection->getUniform(index).getType(); }
-const TType* TProgram::getUniformBlockTType(int index) const { return reflection->getUniformBlock(index).getType(); }
-unsigned TProgram::getLocalSize(int dim) const               { return reflection->getLocalSize(dim); }
+unsigned TProgram::getLocalSize(int dim) const                      { return reflection->getLocalSize(dim); }
+int TProgram::getReflectionIndex(const char* name) const            { return reflection->getIndex(name); }
+
+int TProgram::getNumUniformVariables() const                          { return reflection->getNumUniforms(); }
+const TObjectReflection& TProgram::getUniform(int index) const        { return reflection->getUniform(index); }
+int TProgram::getNumUniformBlocks() const                             { return reflection->getNumUniformBlocks(); }
+const TObjectReflection& TProgram::getUniformBlock(int index) const   { return reflection->getUniformBlock(index); }
+int TProgram::getNumPipeInputs() const                                { return reflection->getNumPipeInputs(); }
+const TObjectReflection& TProgram::getPipeInput(int index) const      { return reflection->getPipeInput(index); }
+int TProgram::getNumPipeOutputs() const                               { return reflection->getNumPipeOutputs(); }
+const TObjectReflection& TProgram::getPipeOutput(int index) const     { return reflection->getPipeOutput(index); }
+int TProgram::getNumBufferVariables() const                           { return reflection->getNumBufferVariables(); }
+const TObjectReflection& TProgram::getBufferVariable(int index) const { return reflection->getBufferVariable(index); }
+int TProgram::getNumBufferBlocks() const                              { return reflection->getNumStorageBuffers(); }
+const TObjectReflection& TProgram::getBufferBlock(int index) const    { return reflection->getStorageBufferBlock(index); }
+int TProgram::getNumAtomicCounters() const                            { return reflection->getNumAtomicCounters(); }
+const TObjectReflection& TProgram::getAtomicCounter(int index) const  { return reflection->getAtomicCounter(index); }
 
 void TProgram::dumpReflection()                      { reflection->dump(); }
 
diff --git a/glslang/MachineIndependent/SymbolTable.cpp b/glslang/MachineIndependent/SymbolTable.cpp
index c164ac8..d8d6846 100755
--- a/glslang/MachineIndependent/SymbolTable.cpp
+++ b/glslang/MachineIndependent/SymbolTable.cpp
@@ -99,6 +99,8 @@
             mangledName += "S";
         if (sampler.external)
             mangledName += "E";
+        if (sampler.yuv)
+            mangledName += "Y";
         switch (sampler.dim) {
         case Esd1D:       mangledName += "1";  break;
         case Esd2D:       mangledName += "2";  break;
@@ -287,19 +289,25 @@
 {
     type.deepCopy(copyOf.type);
     userType = copyOf.userType;
-    numExtensions = 0;
-    extensions = 0;
-    if (copyOf.numExtensions != 0)
-        setExtensions(copyOf.numExtensions, copyOf.extensions);
+
+    // we don't support specialization-constant subtrees in cloned tables, only extensions
+    constSubtree = nullptr;
+    extensions = nullptr;
+    memberExtensions = nullptr;
+    if (copyOf.getNumExtensions() > 0)
+        setExtensions(copyOf.getNumExtensions(), copyOf.getExtensions());
+    if (copyOf.hasMemberExtensions()) {
+        for (int m = 0; m < (int)copyOf.type.getStruct()->size(); ++m) {
+            if (copyOf.getNumMemberExtensions(m) > 0)
+                setMemberExtensions(m, copyOf.getNumMemberExtensions(m), copyOf.getMemberExtensions(m));
+        }
+    }
 
     if (! copyOf.constArray.empty()) {
         assert(! copyOf.type.isStruct());
         TConstUnionArray newArray(copyOf.constArray, 0, copyOf.constArray.size());
         constArray = newArray;
     }
-
-    // don't support specialization-constant subtrees in cloned tables
-    constSubtree = nullptr;
 }
 
 TVariable* TVariable::clone() const
@@ -317,10 +325,9 @@
         parameters.back().copyParam(copyOf.parameters[i]);
     }
 
-    numExtensions = 0;
-    extensions = 0;
-    if (copyOf.extensions != 0)
-        setExtensions(copyOf.numExtensions, copyOf.extensions);
+    extensions = nullptr;
+    if (copyOf.getNumExtensions() > 0)
+        setExtensions(copyOf.getNumExtensions(), copyOf.getExtensions());
     returnType.deepCopy(copyOf.returnType);
     mangledName = copyOf.mangledName;
     op = copyOf.op;
@@ -359,12 +366,12 @@
         const TAnonMember* anon = iter->second->getAsAnonMember();
         if (anon) {
             // Insert all the anonymous members of this same container at once,
-            // avoid inserting the other members in the future, once this has been done,
+            // avoid inserting the remaining members in the future, once this has been done,
             // allowing them to all be part of the same new container.
             if (! containerCopied[anon->getAnonId()]) {
                 TVariable* container = anon->getAnonContainer().clone();
                 container->changeName(NewPoolTString(""));
-                // insert the whole container
+                // insert the container and all its members
                 symTableLevel->insert(*container, false);
                 containerCopied[anon->getAnonId()] = true;
             }
diff --git a/glslang/MachineIndependent/SymbolTable.h b/glslang/MachineIndependent/SymbolTable.h
index a69d87e..f9c1903 100755
--- a/glslang/MachineIndependent/SymbolTable.h
+++ b/glslang/MachineIndependent/SymbolTable.h
@@ -79,10 +79,12 @@
 class TFunction;
 class TAnonMember;
 
+typedef TVector<const char*> TExtensionList;
+
 class TSymbol {
 public:
     POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
-    explicit TSymbol(const TString *n) :  name(n), numExtensions(0), extensions(0), writable(true) { }
+    explicit TSymbol(const TString *n) :  name(n), extensions(0), writable(true) { }
     virtual TSymbol* clone() const = 0;
     virtual ~TSymbol() { }  // rely on all symbol owned memory coming from the pool
 
@@ -104,17 +106,16 @@
     virtual TType& getWritableType() = 0;
     virtual void setUniqueId(int id) { uniqueId = id; }
     virtual int getUniqueId() const { return uniqueId; }
-    virtual void setExtensions(int num, const char* const exts[])
+    virtual void setExtensions(int numExts, const char* const exts[])
     {
         assert(extensions == 0);
-        assert(num > 0);
-        numExtensions = num;
-        extensions = NewPoolObject(exts[0], num);
-        for (int e = 0; e < num; ++e)
-            extensions[e] = exts[e];
+        assert(numExts > 0);
+        extensions = NewPoolObject(extensions);
+        for (int e = 0; e < numExts; ++e)
+            extensions->push_back(exts[e]);
     }
-    virtual int getNumExtensions() const { return numExtensions; }
-    virtual const char** getExtensions() const { return extensions; }
+    virtual int getNumExtensions() const { return extensions == nullptr ? 0 : (int)extensions->size(); }
+    virtual const char** getExtensions() const { return extensions->data(); }
     virtual void dump(TInfoSink &infoSink) const = 0;
 
     virtual bool isReadOnly() const { return ! writable; }
@@ -129,8 +130,7 @@
 
     // For tracking what extensions must be present
     // (don't use if correct version/profile is present).
-    int numExtensions;
-    const char** extensions; // an array of pointers to existing constant char strings
+    TExtensionList* extensions; // an array of pointers to existing constant char strings
 
     //
     // N.B.: Non-const functions that will be generally used should assert on this,
@@ -155,7 +155,9 @@
         : TSymbol(name),
           userType(uT),
           constSubtree(nullptr),
-          anonId(-1) { type.shallowCopy(t); }
+          memberExtensions(nullptr),
+          anonId(-1)
+        { type.shallowCopy(t); }
     virtual TVariable* clone() const;
     virtual ~TVariable() { }
 
@@ -172,6 +174,24 @@
     virtual void setAnonId(int i) { anonId = i; }
     virtual int getAnonId() const { return anonId; }
 
+    virtual void setMemberExtensions(int member, int numExts, const char* const exts[])
+    {
+        assert(type.isStruct());
+        assert(numExts > 0);
+        if (memberExtensions == nullptr) {
+            memberExtensions = NewPoolObject(memberExtensions);
+            memberExtensions->resize(type.getStruct()->size());
+        }
+        for (int e = 0; e < numExts; ++e)
+            (*memberExtensions)[member].push_back(exts[e]);
+    }
+    virtual bool hasMemberExtensions() const { return memberExtensions != nullptr; }
+    virtual int getNumMemberExtensions(int member) const 
+    {
+        return memberExtensions == nullptr ? 0 : (int)(*memberExtensions)[member].size();
+    }
+    virtual const char** getMemberExtensions(int member) const { return (*memberExtensions)[member].data(); }
+
     virtual void dump(TInfoSink &infoSink) const;
 
 protected:
@@ -180,15 +200,14 @@
 
     TType type;
     bool userType;
+
     // we are assuming that Pool Allocator will free the memory allocated to unionArray
     // when this object is destroyed
 
-    // TODO: these two should be a union
-    // A variable could be a compile-time constant, or a specialization
-    // constant, or neither, but never both.
-    TConstUnionArray constArray;  // for compile-time constant value
-    TIntermTyped* constSubtree;   // for specialization constant computation
-    int anonId;                   // the ID used for anonymous blocks: TODO: see if uniqueId could serve a dual purpose
+    TConstUnionArray constArray;               // for compile-time constant value
+    TIntermTyped* constSubtree;                // for specialization constant computation
+    TVector<TExtensionList>* memberExtensions; // per-member extension list, allocated only when needed
+    int anonId; // the ID used for anonymous blocks: TODO: see if uniqueId could serve a dual purpose
 };
 
 //
@@ -325,35 +344,42 @@
 //
 class TAnonMember : public TSymbol {
 public:
-    TAnonMember(const TString* n, unsigned int m, const TVariable& a, int an) : TSymbol(n), anonContainer(a), memberNumber(m), anonId(an) { }
-    virtual TAnonMember* clone() const;
+    TAnonMember(const TString* n, unsigned int m, TVariable& a, int an) : TSymbol(n), anonContainer(a), memberNumber(m), anonId(an) { }
+    virtual TAnonMember* clone() const override;
     virtual ~TAnonMember() { }
 
-    virtual const TAnonMember* getAsAnonMember() const { return this; }
+    virtual const TAnonMember* getAsAnonMember() const override { return this; }
     virtual const TVariable& getAnonContainer() const { return anonContainer; }
     virtual unsigned int getMemberNumber() const { return memberNumber; }
 
-    virtual const TType& getType() const
+    virtual const TType& getType() const override
     {
         const TTypeList& types = *anonContainer.getType().getStruct();
         return *types[memberNumber].type;
     }
 
-    virtual TType& getWritableType()
+    virtual TType& getWritableType() override
     {
         assert(writable);
         const TTypeList& types = *anonContainer.getType().getStruct();
         return *types[memberNumber].type;
     }
 
+    virtual void setExtensions(int numExts, const char* const exts[]) override
+    {
+        anonContainer.setMemberExtensions(memberNumber, numExts, exts);
+    }
+    virtual int getNumExtensions() const override { return anonContainer.getNumMemberExtensions(memberNumber); }
+    virtual const char** getExtensions() const override { return anonContainer.getMemberExtensions(memberNumber); }
+
     virtual int getAnonId() const { return anonId; }
-    virtual void dump(TInfoSink &infoSink) const;
+    virtual void dump(TInfoSink &infoSink) const override;
 
 protected:
     explicit TAnonMember(const TAnonMember&);
     TAnonMember& operator=(const TAnonMember&);
 
-    const TVariable& anonContainer;
+    TVariable& anonContainer;
     unsigned int memberNumber;
     int anonId;
 };
@@ -789,11 +815,30 @@
             table[level]->setFunctionExtensions(name, num, extensions);
     }
 
-    void setVariableExtensions(const char* name, int num, const char* const extensions[])
+    void setVariableExtensions(const char* name, int numExts, const char* const extensions[])
     {
         TSymbol* symbol = find(TString(name));
-        if (symbol)
-            symbol->setExtensions(num, extensions);
+        if (symbol == nullptr)
+            return;
+
+        symbol->setExtensions(numExts, extensions);
+    }
+
+    void setVariableExtensions(const char* blockName, const char* name, int numExts, const char* const extensions[])
+    {
+        TSymbol* symbol = find(TString(blockName));
+        if (symbol == nullptr)
+            return;
+        TVariable* variable = symbol->getAsVariable();
+        assert(variable != nullptr);
+
+        const TTypeList& structure = *variable->getAsVariable()->getType().getStruct();
+        for (int member = 0; member < (int)structure.size(); ++member) {
+            if (structure[member].type->getFieldName().compare(name) == 0) {
+                variable->setMemberExtensions(member, numExts, extensions);
+                return;
+            }
+        }
     }
 
     int getMaxSymbolId() { return uniqueId; }
diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp
old mode 100755
new mode 100644
index 8088845..0d4b994
--- a/glslang/MachineIndependent/Versions.cpp
+++ b/glslang/MachineIndependent/Versions.cpp
@@ -157,6 +157,7 @@
     extensionBehavior[E_GL_EXT_frag_depth]                   = EBhDisable;
     extensionBehavior[E_GL_OES_EGL_image_external]           = EBhDisable;
     extensionBehavior[E_GL_OES_EGL_image_external_essl3]     = EBhDisable;
+    extensionBehavior[E_GL_EXT_YUV_target]                   = EBhDisable;
     extensionBehavior[E_GL_EXT_shader_texture_lod]           = EBhDisable;
     extensionBehavior[E_GL_EXT_shadow_samplers]              = EBhDisable;
     extensionBehavior[E_GL_ARB_texture_rectangle]            = EBhDisable;
@@ -247,6 +248,8 @@
     extensionBehavior[E_GL_NV_mesh_shader]                           = EBhDisable;
 #endif
 
+    extensionBehavior[E_GL_NV_cooperative_matrix]                    = EBhDisable;
+
     // AEP
     extensionBehavior[E_GL_ANDROID_extension_pack_es31a]             = EBhDisable;
     extensionBehavior[E_GL_KHR_blend_equation_advanced]              = EBhDisable;
@@ -307,6 +310,7 @@
             "#define GL_EXT_frag_depth 1\n"
             "#define GL_OES_EGL_image_external 1\n"
             "#define GL_OES_EGL_image_external_essl3 1\n"
+            "#define GL_EXT_YUV_target 1\n"
             "#define GL_EXT_shader_texture_lod 1\n"
             "#define GL_EXT_shadow_samplers 1\n"
 
@@ -425,6 +429,8 @@
             "#define GL_NV_shader_texture_footprint 1\n"
             "#define GL_NV_mesh_shader 1\n"
 #endif
+            "#define GL_NV_cooperative_matrix 1\n"
+
             "#define GL_EXT_shader_explicit_arithmetic_types 1\n"
             "#define GL_EXT_shader_explicit_arithmetic_types_int8 1\n"
             "#define GL_EXT_shader_explicit_arithmetic_types_int16 1\n"
@@ -1023,7 +1029,7 @@
 void TParseVersions::explicitInt16Check(const TSourceLoc& loc, const char* op, bool builtIn)
 {
     if (! builtIn) {
-    	const char* const extensions[] = {
+        const char* const extensions[] = {
 #if AMD_EXTENSIONS
                                            E_GL_AMD_gpu_shader_int16,
 #endif
@@ -1081,6 +1087,14 @@
     }
 }
 
+void TParseVersions::fcoopmatCheck(const TSourceLoc& loc, const char* op, bool builtIn)
+{
+    if (!builtIn) {
+        const char* const extensions[] = {E_GL_NV_cooperative_matrix};
+        requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op);
+    }
+}
+
 // Call for any operation removed because SPIR-V is in use.
 void TParseVersions::spvRemoved(const TSourceLoc& loc, const char* op)
 {
diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h
index 0606e8e..e571b51 100755
--- a/glslang/MachineIndependent/Versions.h
+++ b/glslang/MachineIndependent/Versions.h
@@ -74,7 +74,7 @@
 }
 
 //
-// What source rules, validation rules, target language, etc. are needed
+// What source rules, validation rules, target language, etc. are needed or
 // desired for SPIR-V?
 //
 // 0 means a target or rule set is not enabled (ignore rules from that entity).
@@ -110,6 +110,7 @@
 const char* const E_GL_EXT_frag_depth                   = "GL_EXT_frag_depth";
 const char* const E_GL_OES_EGL_image_external           = "GL_OES_EGL_image_external";
 const char* const E_GL_OES_EGL_image_external_essl3     = "GL_OES_EGL_image_external_essl3";
+const char* const E_GL_EXT_YUV_target                   = "GL_EXT_YUV_target";
 const char* const E_GL_EXT_shader_texture_lod           = "GL_EXT_shader_texture_lod";
 const char* const E_GL_EXT_shadow_samplers              = "GL_EXT_shadow_samplers";
 
@@ -224,6 +225,8 @@
 const int Num_viewportEXTs = sizeof(viewportEXTs) / sizeof(viewportEXTs[0]);
 #endif
 
+const char* const E_GL_NV_cooperative_matrix                    = "GL_NV_cooperative_matrix";
+
 // AEP
 const char* const E_GL_ANDROID_extension_pack_es31a             = "GL_ANDROID_extension_pack_es31a";
 const char* const E_GL_KHR_blend_equation_advanced              = "GL_KHR_blend_equation_advanced";
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
old mode 100755
new mode 100644
index afa2115..b5691a2
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -100,6 +100,7 @@
             glslang::TArraySizes* arraySizes;
             glslang::TIdentifierList* identifierList;
         };
+        glslang::TArraySizes* typeParameters;
     } interm;
 }
 
@@ -166,6 +167,7 @@
 %token <lex> F64MAT4X2 F64MAT4X3 F64MAT4X4
 %token <lex> ATOMIC_UINT
 %token <lex> ACCSTRUCTNV
+%token <lex> FCOOPMATNV
 
 // combined image/sampler
 %token <lex> SAMPLER1D SAMPLER2D SAMPLER3D SAMPLERCUBE SAMPLER1DSHADOW SAMPLER2DSHADOW
@@ -180,6 +182,7 @@
 %token <lex> SAMPLER2DMS ISAMPLER2DMS USAMPLER2DMS
 %token <lex> SAMPLER2DMSARRAY ISAMPLER2DMSARRAY USAMPLER2DMSARRAY
 %token <lex> SAMPLEREXTERNALOES
+%token <lex> SAMPLEREXTERNAL2DY2YEXT
 
 %token <lex> F16SAMPLER1D F16SAMPLER2D F16SAMPLER3D F16SAMPLER2DRECT F16SAMPLERCUBE
 %token <lex> F16SAMPLER1DARRAY F16SAMPLER2DARRAY F16SAMPLERCUBEARRAY
@@ -272,6 +275,10 @@
 %type <interm.type> layout_qualifier layout_qualifier_id_list layout_qualifier_id
 %type <interm.type> non_uniform_qualifier
 
+%type <interm.typeParameters> type_parameter_specifier
+%type <interm.typeParameters> type_parameter_specifier_opt
+%type <interm.typeParameters> type_parameter_specifier_list
+
 %type <interm.type> type_qualifier fully_specified_type type_specifier
 %type <interm.type> single_type_qualifier
 %type <interm.type> type_specifier_nonarray
@@ -472,8 +479,8 @@
 
         if ($$.function == 0) {
             // error recover
-            TString empty("");
-            $$.function = new TFunction(&empty, TType(EbtVoid), EOpNull);
+            TString* empty = NewPoolTString("");
+            $$.function = new TFunction(empty, TType(EbtVoid), EOpNull);
         }
     }
     | non_uniform_qualifier {
@@ -606,6 +613,7 @@
         parseContext.arrayObjectCheck($2.loc, $1->getType(), "array comparison");
         parseContext.opaqueCheck($2.loc, $1->getType(), "==");
         parseContext.specializationCheck($2.loc, $1->getType(), "==");
+        parseContext.referenceCheck($2.loc, $1->getType(), "==");
         $$ = parseContext.handleBinaryMath($2.loc, "==", EOpEqual, $1, $3);
         if ($$ == 0)
             $$ = parseContext.intermediate.addConstantUnion(false, $2.loc);
@@ -614,6 +622,7 @@
         parseContext.arrayObjectCheck($2.loc, $1->getType(), "array comparison");
         parseContext.opaqueCheck($2.loc, $1->getType(), "!=");
         parseContext.specializationCheck($2.loc, $1->getType(), "!=");
+        parseContext.referenceCheck($2.loc, $1->getType(), "!=");
         $$ = parseContext.handleBinaryMath($2.loc, "!=", EOpNotEqual, $1, $3);
         if ($$ == 0)
             $$ = parseContext.intermediate.addConstantUnion(false, $2.loc);
@@ -1486,15 +1495,17 @@
     ;
 
 type_specifier
-    : type_specifier_nonarray {
+    : type_specifier_nonarray type_parameter_specifier_opt {
         $$ = $1;
         $$.qualifier.precision = parseContext.getDefaultPrecision($$);
+        $$.typeParameters = $2;
     }
-    | type_specifier_nonarray array_specifier {
-        parseContext.arrayOfArrayVersionCheck($2.loc, $2.arraySizes);
+    | type_specifier_nonarray type_parameter_specifier_opt array_specifier {
+        parseContext.arrayOfArrayVersionCheck($3.loc, $3.arraySizes);
         $$ = $1;
         $$.qualifier.precision = parseContext.getDefaultPrecision($$);
-        $$.arraySizes = $2.arraySizes;
+        $$.typeParameters = $2;
+        $$.arraySizes = $3.arraySizes;
     }
     ;
 
@@ -1509,7 +1520,7 @@
         $$.arraySizes = new TArraySizes;
 
         TArraySize size;
-        parseContext.arraySizeCheck($2->getLoc(), $2, size);
+        parseContext.arraySizeCheck($2->getLoc(), $2, size, "array size");
         $$.arraySizes->addInnerSize(size);
     }
     | array_specifier LEFT_BRACKET RIGHT_BRACKET {
@@ -1520,11 +1531,43 @@
         $$ = $1;
 
         TArraySize size;
-        parseContext.arraySizeCheck($3->getLoc(), $3, size);
+        parseContext.arraySizeCheck($3->getLoc(), $3, size, "array size");
         $$.arraySizes->addInnerSize(size);
     }
     ;
 
+type_parameter_specifier_opt
+    : type_parameter_specifier {
+        $$ = $1;
+    }
+    | /* May be null */ {
+        $$ = 0;
+    }
+    ;
+
+type_parameter_specifier
+    : LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE {
+        $$ = $2;
+    }
+    ;
+
+type_parameter_specifier_list
+    : unary_expression {
+        $$ = new TArraySizes;
+
+        TArraySize size;
+        parseContext.arraySizeCheck($1->getLoc(), $1, size, "type parameter");
+        $$->addInnerSize(size);
+    }
+    | type_parameter_specifier_list COMMA unary_expression {
+        $$ = $1;
+
+        TArraySize size;
+        parseContext.arraySizeCheck($3->getLoc(), $3, size, "type parameter");
+        $$->addInnerSize(size);
+    }
+    ;
+
 type_specifier_nonarray
     : VOID {
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
@@ -3111,6 +3154,12 @@
         $$.sampler.set(EbtFloat, Esd2D);
         $$.sampler.external = true;
     }
+    | SAMPLEREXTERNAL2DY2YEXT { // GL_EXT_YUV_target
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtSampler;
+        $$.sampler.set(EbtFloat, Esd2D);
+        $$.sampler.yuv = true;
+    }
     | SUBPASSINPUT {
         parseContext.requireStage($1.loc, EShLangFragment, "subpass input");
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
@@ -3165,6 +3214,12 @@
         $$.basicType = EbtSampler;
         $$.sampler.setSubpass(EbtUint, true);
     }
+    | FCOOPMATNV {
+        parseContext.fcoopmatCheck($1.loc, "fcoopmatNV", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.coopmat = true;
+    }
     | struct_specifier {
         $$ = $1;
         $$.qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
index e57edb5..07feffe 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp
+++ b/glslang/MachineIndependent/glslang_tab.cpp
@@ -62,7 +62,7 @@
 
 
 /* Copy the first part of user declarations.  */
-#line 42 "MachineIndependent/glslang.y" /* yacc.c:339  */
+#line 43 "MachineIndependent/glslang.y" /* yacc.c:339  */
 
 
 /* Based on:
@@ -298,234 +298,236 @@
     F64MAT4X4 = 430,
     ATOMIC_UINT = 431,
     ACCSTRUCTNV = 432,
-    SAMPLER1D = 433,
-    SAMPLER2D = 434,
-    SAMPLER3D = 435,
-    SAMPLERCUBE = 436,
-    SAMPLER1DSHADOW = 437,
-    SAMPLER2DSHADOW = 438,
-    SAMPLERCUBESHADOW = 439,
-    SAMPLER1DARRAY = 440,
-    SAMPLER2DARRAY = 441,
-    SAMPLER1DARRAYSHADOW = 442,
-    SAMPLER2DARRAYSHADOW = 443,
-    ISAMPLER1D = 444,
-    ISAMPLER2D = 445,
-    ISAMPLER3D = 446,
-    ISAMPLERCUBE = 447,
-    ISAMPLER1DARRAY = 448,
-    ISAMPLER2DARRAY = 449,
-    USAMPLER1D = 450,
-    USAMPLER2D = 451,
-    USAMPLER3D = 452,
-    USAMPLERCUBE = 453,
-    USAMPLER1DARRAY = 454,
-    USAMPLER2DARRAY = 455,
-    SAMPLER2DRECT = 456,
-    SAMPLER2DRECTSHADOW = 457,
-    ISAMPLER2DRECT = 458,
-    USAMPLER2DRECT = 459,
-    SAMPLERBUFFER = 460,
-    ISAMPLERBUFFER = 461,
-    USAMPLERBUFFER = 462,
-    SAMPLERCUBEARRAY = 463,
-    SAMPLERCUBEARRAYSHADOW = 464,
-    ISAMPLERCUBEARRAY = 465,
-    USAMPLERCUBEARRAY = 466,
-    SAMPLER2DMS = 467,
-    ISAMPLER2DMS = 468,
-    USAMPLER2DMS = 469,
-    SAMPLER2DMSARRAY = 470,
-    ISAMPLER2DMSARRAY = 471,
-    USAMPLER2DMSARRAY = 472,
-    SAMPLEREXTERNALOES = 473,
-    F16SAMPLER1D = 474,
-    F16SAMPLER2D = 475,
-    F16SAMPLER3D = 476,
-    F16SAMPLER2DRECT = 477,
-    F16SAMPLERCUBE = 478,
-    F16SAMPLER1DARRAY = 479,
-    F16SAMPLER2DARRAY = 480,
-    F16SAMPLERCUBEARRAY = 481,
-    F16SAMPLERBUFFER = 482,
-    F16SAMPLER2DMS = 483,
-    F16SAMPLER2DMSARRAY = 484,
-    F16SAMPLER1DSHADOW = 485,
-    F16SAMPLER2DSHADOW = 486,
-    F16SAMPLER1DARRAYSHADOW = 487,
-    F16SAMPLER2DARRAYSHADOW = 488,
-    F16SAMPLER2DRECTSHADOW = 489,
-    F16SAMPLERCUBESHADOW = 490,
-    F16SAMPLERCUBEARRAYSHADOW = 491,
-    SAMPLER = 492,
-    SAMPLERSHADOW = 493,
-    TEXTURE1D = 494,
-    TEXTURE2D = 495,
-    TEXTURE3D = 496,
-    TEXTURECUBE = 497,
-    TEXTURE1DARRAY = 498,
-    TEXTURE2DARRAY = 499,
-    ITEXTURE1D = 500,
-    ITEXTURE2D = 501,
-    ITEXTURE3D = 502,
-    ITEXTURECUBE = 503,
-    ITEXTURE1DARRAY = 504,
-    ITEXTURE2DARRAY = 505,
-    UTEXTURE1D = 506,
-    UTEXTURE2D = 507,
-    UTEXTURE3D = 508,
-    UTEXTURECUBE = 509,
-    UTEXTURE1DARRAY = 510,
-    UTEXTURE2DARRAY = 511,
-    TEXTURE2DRECT = 512,
-    ITEXTURE2DRECT = 513,
-    UTEXTURE2DRECT = 514,
-    TEXTUREBUFFER = 515,
-    ITEXTUREBUFFER = 516,
-    UTEXTUREBUFFER = 517,
-    TEXTURECUBEARRAY = 518,
-    ITEXTURECUBEARRAY = 519,
-    UTEXTURECUBEARRAY = 520,
-    TEXTURE2DMS = 521,
-    ITEXTURE2DMS = 522,
-    UTEXTURE2DMS = 523,
-    TEXTURE2DMSARRAY = 524,
-    ITEXTURE2DMSARRAY = 525,
-    UTEXTURE2DMSARRAY = 526,
-    F16TEXTURE1D = 527,
-    F16TEXTURE2D = 528,
-    F16TEXTURE3D = 529,
-    F16TEXTURE2DRECT = 530,
-    F16TEXTURECUBE = 531,
-    F16TEXTURE1DARRAY = 532,
-    F16TEXTURE2DARRAY = 533,
-    F16TEXTURECUBEARRAY = 534,
-    F16TEXTUREBUFFER = 535,
-    F16TEXTURE2DMS = 536,
-    F16TEXTURE2DMSARRAY = 537,
-    SUBPASSINPUT = 538,
-    SUBPASSINPUTMS = 539,
-    ISUBPASSINPUT = 540,
-    ISUBPASSINPUTMS = 541,
-    USUBPASSINPUT = 542,
-    USUBPASSINPUTMS = 543,
-    F16SUBPASSINPUT = 544,
-    F16SUBPASSINPUTMS = 545,
-    IMAGE1D = 546,
-    IIMAGE1D = 547,
-    UIMAGE1D = 548,
-    IMAGE2D = 549,
-    IIMAGE2D = 550,
-    UIMAGE2D = 551,
-    IMAGE3D = 552,
-    IIMAGE3D = 553,
-    UIMAGE3D = 554,
-    IMAGE2DRECT = 555,
-    IIMAGE2DRECT = 556,
-    UIMAGE2DRECT = 557,
-    IMAGECUBE = 558,
-    IIMAGECUBE = 559,
-    UIMAGECUBE = 560,
-    IMAGEBUFFER = 561,
-    IIMAGEBUFFER = 562,
-    UIMAGEBUFFER = 563,
-    IMAGE1DARRAY = 564,
-    IIMAGE1DARRAY = 565,
-    UIMAGE1DARRAY = 566,
-    IMAGE2DARRAY = 567,
-    IIMAGE2DARRAY = 568,
-    UIMAGE2DARRAY = 569,
-    IMAGECUBEARRAY = 570,
-    IIMAGECUBEARRAY = 571,
-    UIMAGECUBEARRAY = 572,
-    IMAGE2DMS = 573,
-    IIMAGE2DMS = 574,
-    UIMAGE2DMS = 575,
-    IMAGE2DMSARRAY = 576,
-    IIMAGE2DMSARRAY = 577,
-    UIMAGE2DMSARRAY = 578,
-    F16IMAGE1D = 579,
-    F16IMAGE2D = 580,
-    F16IMAGE3D = 581,
-    F16IMAGE2DRECT = 582,
-    F16IMAGECUBE = 583,
-    F16IMAGE1DARRAY = 584,
-    F16IMAGE2DARRAY = 585,
-    F16IMAGECUBEARRAY = 586,
-    F16IMAGEBUFFER = 587,
-    F16IMAGE2DMS = 588,
-    F16IMAGE2DMSARRAY = 589,
-    STRUCT = 590,
-    VOID = 591,
-    WHILE = 592,
-    IDENTIFIER = 593,
-    TYPE_NAME = 594,
-    FLOATCONSTANT = 595,
-    DOUBLECONSTANT = 596,
-    INT16CONSTANT = 597,
-    UINT16CONSTANT = 598,
-    INT32CONSTANT = 599,
-    UINT32CONSTANT = 600,
-    INTCONSTANT = 601,
-    UINTCONSTANT = 602,
-    INT64CONSTANT = 603,
-    UINT64CONSTANT = 604,
-    BOOLCONSTANT = 605,
-    FLOAT16CONSTANT = 606,
-    LEFT_OP = 607,
-    RIGHT_OP = 608,
-    INC_OP = 609,
-    DEC_OP = 610,
-    LE_OP = 611,
-    GE_OP = 612,
-    EQ_OP = 613,
-    NE_OP = 614,
-    AND_OP = 615,
-    OR_OP = 616,
-    XOR_OP = 617,
-    MUL_ASSIGN = 618,
-    DIV_ASSIGN = 619,
-    ADD_ASSIGN = 620,
-    MOD_ASSIGN = 621,
-    LEFT_ASSIGN = 622,
-    RIGHT_ASSIGN = 623,
-    AND_ASSIGN = 624,
-    XOR_ASSIGN = 625,
-    OR_ASSIGN = 626,
-    SUB_ASSIGN = 627,
-    LEFT_PAREN = 628,
-    RIGHT_PAREN = 629,
-    LEFT_BRACKET = 630,
-    RIGHT_BRACKET = 631,
-    LEFT_BRACE = 632,
-    RIGHT_BRACE = 633,
-    DOT = 634,
-    COMMA = 635,
-    COLON = 636,
-    EQUAL = 637,
-    SEMICOLON = 638,
-    BANG = 639,
-    DASH = 640,
-    TILDE = 641,
-    PLUS = 642,
-    STAR = 643,
-    SLASH = 644,
-    PERCENT = 645,
-    LEFT_ANGLE = 646,
-    RIGHT_ANGLE = 647,
-    VERTICAL_BAR = 648,
-    CARET = 649,
-    AMPERSAND = 650,
-    QUESTION = 651,
-    INVARIANT = 652,
-    PRECISE = 653,
-    HIGH_PRECISION = 654,
-    MEDIUM_PRECISION = 655,
-    LOW_PRECISION = 656,
-    PRECISION = 657,
-    PACKED = 658,
-    RESOURCE = 659,
-    SUPERP = 660
+    FCOOPMATNV = 433,
+    SAMPLER1D = 434,
+    SAMPLER2D = 435,
+    SAMPLER3D = 436,
+    SAMPLERCUBE = 437,
+    SAMPLER1DSHADOW = 438,
+    SAMPLER2DSHADOW = 439,
+    SAMPLERCUBESHADOW = 440,
+    SAMPLER1DARRAY = 441,
+    SAMPLER2DARRAY = 442,
+    SAMPLER1DARRAYSHADOW = 443,
+    SAMPLER2DARRAYSHADOW = 444,
+    ISAMPLER1D = 445,
+    ISAMPLER2D = 446,
+    ISAMPLER3D = 447,
+    ISAMPLERCUBE = 448,
+    ISAMPLER1DARRAY = 449,
+    ISAMPLER2DARRAY = 450,
+    USAMPLER1D = 451,
+    USAMPLER2D = 452,
+    USAMPLER3D = 453,
+    USAMPLERCUBE = 454,
+    USAMPLER1DARRAY = 455,
+    USAMPLER2DARRAY = 456,
+    SAMPLER2DRECT = 457,
+    SAMPLER2DRECTSHADOW = 458,
+    ISAMPLER2DRECT = 459,
+    USAMPLER2DRECT = 460,
+    SAMPLERBUFFER = 461,
+    ISAMPLERBUFFER = 462,
+    USAMPLERBUFFER = 463,
+    SAMPLERCUBEARRAY = 464,
+    SAMPLERCUBEARRAYSHADOW = 465,
+    ISAMPLERCUBEARRAY = 466,
+    USAMPLERCUBEARRAY = 467,
+    SAMPLER2DMS = 468,
+    ISAMPLER2DMS = 469,
+    USAMPLER2DMS = 470,
+    SAMPLER2DMSARRAY = 471,
+    ISAMPLER2DMSARRAY = 472,
+    USAMPLER2DMSARRAY = 473,
+    SAMPLEREXTERNALOES = 474,
+    SAMPLEREXTERNAL2DY2YEXT = 475,
+    F16SAMPLER1D = 476,
+    F16SAMPLER2D = 477,
+    F16SAMPLER3D = 478,
+    F16SAMPLER2DRECT = 479,
+    F16SAMPLERCUBE = 480,
+    F16SAMPLER1DARRAY = 481,
+    F16SAMPLER2DARRAY = 482,
+    F16SAMPLERCUBEARRAY = 483,
+    F16SAMPLERBUFFER = 484,
+    F16SAMPLER2DMS = 485,
+    F16SAMPLER2DMSARRAY = 486,
+    F16SAMPLER1DSHADOW = 487,
+    F16SAMPLER2DSHADOW = 488,
+    F16SAMPLER1DARRAYSHADOW = 489,
+    F16SAMPLER2DARRAYSHADOW = 490,
+    F16SAMPLER2DRECTSHADOW = 491,
+    F16SAMPLERCUBESHADOW = 492,
+    F16SAMPLERCUBEARRAYSHADOW = 493,
+    SAMPLER = 494,
+    SAMPLERSHADOW = 495,
+    TEXTURE1D = 496,
+    TEXTURE2D = 497,
+    TEXTURE3D = 498,
+    TEXTURECUBE = 499,
+    TEXTURE1DARRAY = 500,
+    TEXTURE2DARRAY = 501,
+    ITEXTURE1D = 502,
+    ITEXTURE2D = 503,
+    ITEXTURE3D = 504,
+    ITEXTURECUBE = 505,
+    ITEXTURE1DARRAY = 506,
+    ITEXTURE2DARRAY = 507,
+    UTEXTURE1D = 508,
+    UTEXTURE2D = 509,
+    UTEXTURE3D = 510,
+    UTEXTURECUBE = 511,
+    UTEXTURE1DARRAY = 512,
+    UTEXTURE2DARRAY = 513,
+    TEXTURE2DRECT = 514,
+    ITEXTURE2DRECT = 515,
+    UTEXTURE2DRECT = 516,
+    TEXTUREBUFFER = 517,
+    ITEXTUREBUFFER = 518,
+    UTEXTUREBUFFER = 519,
+    TEXTURECUBEARRAY = 520,
+    ITEXTURECUBEARRAY = 521,
+    UTEXTURECUBEARRAY = 522,
+    TEXTURE2DMS = 523,
+    ITEXTURE2DMS = 524,
+    UTEXTURE2DMS = 525,
+    TEXTURE2DMSARRAY = 526,
+    ITEXTURE2DMSARRAY = 527,
+    UTEXTURE2DMSARRAY = 528,
+    F16TEXTURE1D = 529,
+    F16TEXTURE2D = 530,
+    F16TEXTURE3D = 531,
+    F16TEXTURE2DRECT = 532,
+    F16TEXTURECUBE = 533,
+    F16TEXTURE1DARRAY = 534,
+    F16TEXTURE2DARRAY = 535,
+    F16TEXTURECUBEARRAY = 536,
+    F16TEXTUREBUFFER = 537,
+    F16TEXTURE2DMS = 538,
+    F16TEXTURE2DMSARRAY = 539,
+    SUBPASSINPUT = 540,
+    SUBPASSINPUTMS = 541,
+    ISUBPASSINPUT = 542,
+    ISUBPASSINPUTMS = 543,
+    USUBPASSINPUT = 544,
+    USUBPASSINPUTMS = 545,
+    F16SUBPASSINPUT = 546,
+    F16SUBPASSINPUTMS = 547,
+    IMAGE1D = 548,
+    IIMAGE1D = 549,
+    UIMAGE1D = 550,
+    IMAGE2D = 551,
+    IIMAGE2D = 552,
+    UIMAGE2D = 553,
+    IMAGE3D = 554,
+    IIMAGE3D = 555,
+    UIMAGE3D = 556,
+    IMAGE2DRECT = 557,
+    IIMAGE2DRECT = 558,
+    UIMAGE2DRECT = 559,
+    IMAGECUBE = 560,
+    IIMAGECUBE = 561,
+    UIMAGECUBE = 562,
+    IMAGEBUFFER = 563,
+    IIMAGEBUFFER = 564,
+    UIMAGEBUFFER = 565,
+    IMAGE1DARRAY = 566,
+    IIMAGE1DARRAY = 567,
+    UIMAGE1DARRAY = 568,
+    IMAGE2DARRAY = 569,
+    IIMAGE2DARRAY = 570,
+    UIMAGE2DARRAY = 571,
+    IMAGECUBEARRAY = 572,
+    IIMAGECUBEARRAY = 573,
+    UIMAGECUBEARRAY = 574,
+    IMAGE2DMS = 575,
+    IIMAGE2DMS = 576,
+    UIMAGE2DMS = 577,
+    IMAGE2DMSARRAY = 578,
+    IIMAGE2DMSARRAY = 579,
+    UIMAGE2DMSARRAY = 580,
+    F16IMAGE1D = 581,
+    F16IMAGE2D = 582,
+    F16IMAGE3D = 583,
+    F16IMAGE2DRECT = 584,
+    F16IMAGECUBE = 585,
+    F16IMAGE1DARRAY = 586,
+    F16IMAGE2DARRAY = 587,
+    F16IMAGECUBEARRAY = 588,
+    F16IMAGEBUFFER = 589,
+    F16IMAGE2DMS = 590,
+    F16IMAGE2DMSARRAY = 591,
+    STRUCT = 592,
+    VOID = 593,
+    WHILE = 594,
+    IDENTIFIER = 595,
+    TYPE_NAME = 596,
+    FLOATCONSTANT = 597,
+    DOUBLECONSTANT = 598,
+    INT16CONSTANT = 599,
+    UINT16CONSTANT = 600,
+    INT32CONSTANT = 601,
+    UINT32CONSTANT = 602,
+    INTCONSTANT = 603,
+    UINTCONSTANT = 604,
+    INT64CONSTANT = 605,
+    UINT64CONSTANT = 606,
+    BOOLCONSTANT = 607,
+    FLOAT16CONSTANT = 608,
+    LEFT_OP = 609,
+    RIGHT_OP = 610,
+    INC_OP = 611,
+    DEC_OP = 612,
+    LE_OP = 613,
+    GE_OP = 614,
+    EQ_OP = 615,
+    NE_OP = 616,
+    AND_OP = 617,
+    OR_OP = 618,
+    XOR_OP = 619,
+    MUL_ASSIGN = 620,
+    DIV_ASSIGN = 621,
+    ADD_ASSIGN = 622,
+    MOD_ASSIGN = 623,
+    LEFT_ASSIGN = 624,
+    RIGHT_ASSIGN = 625,
+    AND_ASSIGN = 626,
+    XOR_ASSIGN = 627,
+    OR_ASSIGN = 628,
+    SUB_ASSIGN = 629,
+    LEFT_PAREN = 630,
+    RIGHT_PAREN = 631,
+    LEFT_BRACKET = 632,
+    RIGHT_BRACKET = 633,
+    LEFT_BRACE = 634,
+    RIGHT_BRACE = 635,
+    DOT = 636,
+    COMMA = 637,
+    COLON = 638,
+    EQUAL = 639,
+    SEMICOLON = 640,
+    BANG = 641,
+    DASH = 642,
+    TILDE = 643,
+    PLUS = 644,
+    STAR = 645,
+    SLASH = 646,
+    PERCENT = 647,
+    LEFT_ANGLE = 648,
+    RIGHT_ANGLE = 649,
+    VERTICAL_BAR = 650,
+    CARET = 651,
+    AMPERSAND = 652,
+    QUESTION = 653,
+    INVARIANT = 654,
+    PRECISE = 655,
+    HIGH_PRECISION = 656,
+    MEDIUM_PRECISION = 657,
+    LOW_PRECISION = 658,
+    PRECISION = 659,
+    PACKED = 660,
+    RESOURCE = 661,
+    SUPERP = 662
   };
 #endif
 
@@ -534,7 +536,7 @@
 
 union YYSTYPE
 {
-#line 70 "MachineIndependent/glslang.y" /* yacc.c:355  */
+#line 71 "MachineIndependent/glslang.y" /* yacc.c:355  */
 
     struct {
         glslang::TSourceLoc loc;
@@ -567,9 +569,10 @@
             glslang::TArraySizes* arraySizes;
             glslang::TIdentifierList* identifierList;
         };
+        glslang::TArraySizes* typeParameters;
     } interm;
 
-#line 573 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355  */
+#line 576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355  */
 };
 
 typedef union YYSTYPE YYSTYPE;
@@ -584,7 +587,7 @@
 #endif /* !YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED  */
 
 /* Copy the second part of user declarations.  */
-#line 105 "MachineIndependent/glslang.y" /* yacc.c:358  */
+#line 107 "MachineIndependent/glslang.y" /* yacc.c:358  */
 
 
 /* windows only pragma */
@@ -600,7 +603,7 @@
 extern int yylex(YYSTYPE*, TParseContext&);
 
 
-#line 604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358  */
+#line 607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -840,23 +843,23 @@
 #endif /* !YYCOPY_NEEDED */
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  381
+#define YYFINAL  384
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   9294
+#define YYLAST   9348
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  406
+#define YYNTOKENS  408
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  107
+#define YYNNTS  110
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  571
+#define YYNRULES  578
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  712
+#define YYNSTATES  722
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   660
+#define YYMAXUTOK   662
 
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -931,71 +934,71 @@
      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
-     405
+     405,   406,   407
 };
 
 #if YYDEBUG
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   294,   294,   300,   303,   307,   311,   314,   318,   322,
-     326,   330,   334,   337,   341,   345,   348,   356,   359,   362,
-     365,   368,   373,   381,   388,   395,   401,   405,   412,   415,
-     421,   428,   438,   446,   451,   478,   486,   492,   496,   500,
-     520,   521,   522,   523,   529,   530,   535,   540,   549,   550,
-     555,   563,   564,   570,   579,   580,   585,   590,   595,   603,
-     604,   612,   623,   624,   633,   634,   643,   644,   653,   654,
-     662,   663,   671,   672,   680,   681,   681,   699,   700,   716,
-     720,   724,   728,   733,   737,   741,   745,   749,   753,   757,
-     764,   767,   778,   785,   790,   795,   803,   807,   811,   815,
-     820,   825,   834,   834,   845,   849,   856,   863,   866,   873,
-     881,   901,   924,   939,   964,   975,   985,   995,  1005,  1014,
-    1017,  1021,  1025,  1030,  1038,  1043,  1048,  1053,  1058,  1067,
-    1078,  1105,  1114,  1121,  1128,  1139,  1148,  1158,  1170,  1179,
-    1191,  1197,  1200,  1207,  1211,  1215,  1223,  1232,  1235,  1246,
-    1249,  1252,  1256,  1260,  1264,  1268,  1274,  1278,  1290,  1304,
-    1309,  1315,  1321,  1328,  1334,  1339,  1344,  1349,  1359,  1369,
-    1379,  1389,  1398,  1410,  1414,  1419,  1424,  1429,  1434,  1439,
-    1443,  1447,  1451,  1455,  1461,  1470,  1477,  1480,  1488,  1492,
-    1501,  1506,  1514,  1518,  1528,  1532,  1536,  1541,  1546,  1551,
-    1556,  1560,  1565,  1570,  1575,  1580,  1585,  1590,  1595,  1600,
-    1605,  1609,  1614,  1619,  1624,  1630,  1636,  1642,  1648,  1654,
-    1660,  1666,  1672,  1678,  1684,  1690,  1696,  1701,  1706,  1711,
-    1716,  1721,  1726,  1732,  1738,  1744,  1750,  1756,  1762,  1768,
-    1774,  1780,  1786,  1792,  1798,  1804,  1810,  1816,  1822,  1828,
-    1834,  1840,  1846,  1852,  1858,  1864,  1870,  1876,  1882,  1888,
-    1893,  1898,  1903,  1908,  1913,  1918,  1923,  1928,  1933,  1938,
-    1943,  1948,  1954,  1960,  1966,  1972,  1978,  1984,  1990,  1996,
-    2002,  2008,  2014,  2020,  2026,  2032,  2038,  2044,  2050,  2056,
-    2062,  2068,  2074,  2080,  2086,  2092,  2098,  2104,  2110,  2116,
-    2122,  2128,  2134,  2140,  2146,  2152,  2158,  2164,  2170,  2176,
-    2182,  2188,  2194,  2200,  2206,  2212,  2218,  2224,  2230,  2236,
-    2242,  2247,  2252,  2257,  2262,  2267,  2272,  2277,  2282,  2287,
-    2292,  2297,  2302,  2307,  2312,  2320,  2328,  2336,  2344,  2352,
-    2360,  2368,  2376,  2384,  2392,  2400,  2408,  2416,  2421,  2426,
-    2431,  2436,  2441,  2446,  2451,  2456,  2461,  2466,  2471,  2476,
-    2481,  2486,  2491,  2496,  2504,  2512,  2517,  2522,  2527,  2535,
-    2540,  2545,  2550,  2558,  2563,  2568,  2573,  2581,  2586,  2591,
-    2596,  2601,  2606,  2614,  2619,  2627,  2632,  2640,  2645,  2653,
-    2658,  2666,  2671,  2679,  2684,  2692,  2697,  2702,  2707,  2712,
-    2717,  2722,  2727,  2732,  2737,  2742,  2747,  2752,  2757,  2762,
-    2767,  2775,  2780,  2785,  2790,  2798,  2803,  2808,  2813,  2821,
-    2826,  2831,  2836,  2844,  2849,  2854,  2859,  2867,  2872,  2877,
-    2882,  2890,  2895,  2900,  2905,  2913,  2918,  2923,  2928,  2936,
-    2941,  2946,  2951,  2959,  2964,  2969,  2974,  2982,  2987,  2992,
-    2997,  3005,  3010,  3015,  3020,  3028,  3033,  3038,  3043,  3051,
-    3056,  3061,  3066,  3074,  3079,  3084,  3089,  3097,  3102,  3107,
-    3113,  3119,  3125,  3134,  3143,  3149,  3155,  3161,  3167,  3172,
-    3188,  3193,  3198,  3206,  3206,  3217,  3217,  3227,  3230,  3243,
-    3265,  3292,  3296,  3302,  3307,  3318,  3321,  3327,  3336,  3339,
-    3345,  3349,  3350,  3356,  3357,  3358,  3359,  3360,  3361,  3362,
-    3366,  3367,  3371,  3367,  3383,  3384,  3388,  3388,  3395,  3395,
-    3409,  3412,  3420,  3428,  3439,  3440,  3444,  3447,  3453,  3460,
-    3464,  3472,  3476,  3489,  3492,  3498,  3498,  3518,  3521,  3527,
-    3539,  3551,  3554,  3560,  3560,  3575,  3575,  3591,  3591,  3612,
-    3615,  3621,  3624,  3630,  3634,  3641,  3646,  3651,  3658,  3661,
-    3670,  3674,  3683,  3686,  3689,  3697,  3697,  3719,  3725,  3728,
-    3733,  3736
+       0,   302,   302,   308,   311,   315,   319,   322,   326,   330,
+     334,   338,   342,   345,   349,   353,   356,   364,   367,   370,
+     373,   376,   381,   389,   396,   403,   409,   413,   420,   423,
+     429,   436,   446,   454,   459,   486,   494,   500,   504,   508,
+     528,   529,   530,   531,   537,   538,   543,   548,   557,   558,
+     563,   571,   572,   578,   587,   588,   593,   598,   603,   611,
+     612,   621,   633,   634,   643,   644,   653,   654,   663,   664,
+     672,   673,   681,   682,   690,   691,   691,   709,   710,   726,
+     730,   734,   738,   743,   747,   751,   755,   759,   763,   767,
+     774,   777,   788,   795,   800,   805,   813,   817,   821,   825,
+     830,   835,   844,   844,   855,   859,   866,   873,   876,   883,
+     891,   911,   934,   949,   974,   985,   995,  1005,  1015,  1024,
+    1027,  1031,  1035,  1040,  1048,  1053,  1058,  1063,  1068,  1077,
+    1088,  1115,  1124,  1131,  1138,  1149,  1158,  1168,  1180,  1189,
+    1201,  1207,  1210,  1217,  1221,  1225,  1233,  1242,  1245,  1256,
+    1259,  1262,  1266,  1270,  1274,  1278,  1284,  1288,  1300,  1314,
+    1319,  1325,  1331,  1338,  1344,  1349,  1354,  1359,  1369,  1379,
+    1389,  1399,  1408,  1420,  1424,  1429,  1434,  1439,  1444,  1449,
+    1453,  1457,  1461,  1465,  1471,  1480,  1487,  1490,  1498,  1503,
+    1513,  1518,  1526,  1530,  1540,  1543,  1549,  1555,  1562,  1572,
+    1576,  1580,  1585,  1590,  1595,  1600,  1604,  1609,  1614,  1619,
+    1624,  1629,  1634,  1639,  1644,  1649,  1653,  1658,  1663,  1668,
+    1674,  1680,  1686,  1692,  1698,  1704,  1710,  1716,  1722,  1728,
+    1734,  1740,  1745,  1750,  1755,  1760,  1765,  1770,  1776,  1782,
+    1788,  1794,  1800,  1806,  1812,  1818,  1824,  1830,  1836,  1842,
+    1848,  1854,  1860,  1866,  1872,  1878,  1884,  1890,  1896,  1902,
+    1908,  1914,  1920,  1926,  1932,  1937,  1942,  1947,  1952,  1957,
+    1962,  1967,  1972,  1977,  1982,  1987,  1992,  1998,  2004,  2010,
+    2016,  2022,  2028,  2034,  2040,  2046,  2052,  2058,  2064,  2070,
+    2076,  2082,  2088,  2094,  2100,  2106,  2112,  2118,  2124,  2130,
+    2136,  2142,  2148,  2154,  2160,  2166,  2172,  2178,  2184,  2190,
+    2196,  2202,  2208,  2214,  2220,  2226,  2232,  2238,  2244,  2250,
+    2256,  2262,  2268,  2274,  2280,  2286,  2291,  2296,  2301,  2306,
+    2311,  2316,  2321,  2326,  2331,  2336,  2341,  2346,  2351,  2356,
+    2364,  2372,  2380,  2388,  2396,  2404,  2412,  2420,  2428,  2436,
+    2444,  2452,  2460,  2465,  2470,  2475,  2480,  2485,  2490,  2495,
+    2500,  2505,  2510,  2515,  2520,  2525,  2530,  2535,  2540,  2548,
+    2556,  2561,  2566,  2571,  2579,  2584,  2589,  2594,  2602,  2607,
+    2612,  2617,  2625,  2630,  2635,  2640,  2645,  2650,  2658,  2663,
+    2671,  2676,  2684,  2689,  2697,  2702,  2710,  2715,  2723,  2728,
+    2736,  2741,  2746,  2751,  2756,  2761,  2766,  2771,  2776,  2781,
+    2786,  2791,  2796,  2801,  2806,  2811,  2819,  2824,  2829,  2834,
+    2842,  2847,  2852,  2857,  2865,  2870,  2875,  2880,  2888,  2893,
+    2898,  2903,  2911,  2916,  2921,  2926,  2934,  2939,  2944,  2949,
+    2957,  2962,  2967,  2972,  2980,  2985,  2990,  2995,  3003,  3008,
+    3013,  3018,  3026,  3031,  3036,  3041,  3049,  3054,  3059,  3064,
+    3072,  3077,  3082,  3087,  3095,  3100,  3105,  3110,  3118,  3123,
+    3128,  3133,  3141,  3146,  3151,  3157,  3163,  3169,  3175,  3184,
+    3193,  3199,  3205,  3211,  3217,  3223,  3228,  3244,  3249,  3254,
+    3262,  3262,  3273,  3273,  3283,  3286,  3299,  3321,  3348,  3352,
+    3358,  3363,  3374,  3377,  3383,  3392,  3395,  3401,  3405,  3406,
+    3412,  3413,  3414,  3415,  3416,  3417,  3418,  3422,  3423,  3427,
+    3423,  3439,  3440,  3444,  3444,  3451,  3451,  3465,  3468,  3476,
+    3484,  3495,  3496,  3500,  3503,  3509,  3516,  3520,  3528,  3532,
+    3545,  3548,  3554,  3554,  3574,  3577,  3583,  3595,  3607,  3610,
+    3616,  3616,  3631,  3631,  3647,  3647,  3668,  3671,  3677,  3680,
+    3686,  3690,  3697,  3702,  3707,  3714,  3717,  3726,  3730,  3739,
+    3742,  3745,  3753,  3753,  3775,  3781,  3784,  3789,  3792
 };
 #endif
 
@@ -1034,48 +1037,49 @@
   "F32MAT3X4", "F32MAT4X2", "F32MAT4X3", "F32MAT4X4", "F64MAT2X2",
   "F64MAT2X3", "F64MAT2X4", "F64MAT3X2", "F64MAT3X3", "F64MAT3X4",
   "F64MAT4X2", "F64MAT4X3", "F64MAT4X4", "ATOMIC_UINT", "ACCSTRUCTNV",
-  "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE", "SAMPLER1DSHADOW",
-  "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER1DARRAY",
-  "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW", "SAMPLER2DARRAYSHADOW",
-  "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D", "ISAMPLERCUBE",
-  "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D", "USAMPLER2D",
-  "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY", "USAMPLER2DARRAY",
-  "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW", "ISAMPLER2DRECT",
-  "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER", "USAMPLERBUFFER",
-  "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW", "ISAMPLERCUBEARRAY",
-  "USAMPLERCUBEARRAY", "SAMPLER2DMS", "ISAMPLER2DMS", "USAMPLER2DMS",
-  "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY", "USAMPLER2DMSARRAY",
-  "SAMPLEREXTERNALOES", "F16SAMPLER1D", "F16SAMPLER2D", "F16SAMPLER3D",
-  "F16SAMPLER2DRECT", "F16SAMPLERCUBE", "F16SAMPLER1DARRAY",
-  "F16SAMPLER2DARRAY", "F16SAMPLERCUBEARRAY", "F16SAMPLERBUFFER",
-  "F16SAMPLER2DMS", "F16SAMPLER2DMSARRAY", "F16SAMPLER1DSHADOW",
-  "F16SAMPLER2DSHADOW", "F16SAMPLER1DARRAYSHADOW",
-  "F16SAMPLER2DARRAYSHADOW", "F16SAMPLER2DRECTSHADOW",
-  "F16SAMPLERCUBESHADOW", "F16SAMPLERCUBEARRAYSHADOW", "SAMPLER",
-  "SAMPLERSHADOW", "TEXTURE1D", "TEXTURE2D", "TEXTURE3D", "TEXTURECUBE",
-  "TEXTURE1DARRAY", "TEXTURE2DARRAY", "ITEXTURE1D", "ITEXTURE2D",
-  "ITEXTURE3D", "ITEXTURECUBE", "ITEXTURE1DARRAY", "ITEXTURE2DARRAY",
-  "UTEXTURE1D", "UTEXTURE2D", "UTEXTURE3D", "UTEXTURECUBE",
-  "UTEXTURE1DARRAY", "UTEXTURE2DARRAY", "TEXTURE2DRECT", "ITEXTURE2DRECT",
-  "UTEXTURE2DRECT", "TEXTUREBUFFER", "ITEXTUREBUFFER", "UTEXTUREBUFFER",
-  "TEXTURECUBEARRAY", "ITEXTURECUBEARRAY", "UTEXTURECUBEARRAY",
-  "TEXTURE2DMS", "ITEXTURE2DMS", "UTEXTURE2DMS", "TEXTURE2DMSARRAY",
-  "ITEXTURE2DMSARRAY", "UTEXTURE2DMSARRAY", "F16TEXTURE1D", "F16TEXTURE2D",
-  "F16TEXTURE3D", "F16TEXTURE2DRECT", "F16TEXTURECUBE",
-  "F16TEXTURE1DARRAY", "F16TEXTURE2DARRAY", "F16TEXTURECUBEARRAY",
-  "F16TEXTUREBUFFER", "F16TEXTURE2DMS", "F16TEXTURE2DMSARRAY",
-  "SUBPASSINPUT", "SUBPASSINPUTMS", "ISUBPASSINPUT", "ISUBPASSINPUTMS",
-  "USUBPASSINPUT", "USUBPASSINPUTMS", "F16SUBPASSINPUT",
-  "F16SUBPASSINPUTMS", "IMAGE1D", "IIMAGE1D", "UIMAGE1D", "IMAGE2D",
-  "IIMAGE2D", "UIMAGE2D", "IMAGE3D", "IIMAGE3D", "UIMAGE3D", "IMAGE2DRECT",
-  "IIMAGE2DRECT", "UIMAGE2DRECT", "IMAGECUBE", "IIMAGECUBE", "UIMAGECUBE",
-  "IMAGEBUFFER", "IIMAGEBUFFER", "UIMAGEBUFFER", "IMAGE1DARRAY",
-  "IIMAGE1DARRAY", "UIMAGE1DARRAY", "IMAGE2DARRAY", "IIMAGE2DARRAY",
-  "UIMAGE2DARRAY", "IMAGECUBEARRAY", "IIMAGECUBEARRAY", "UIMAGECUBEARRAY",
-  "IMAGE2DMS", "IIMAGE2DMS", "UIMAGE2DMS", "IMAGE2DMSARRAY",
-  "IIMAGE2DMSARRAY", "UIMAGE2DMSARRAY", "F16IMAGE1D", "F16IMAGE2D",
-  "F16IMAGE3D", "F16IMAGE2DRECT", "F16IMAGECUBE", "F16IMAGE1DARRAY",
-  "F16IMAGE2DARRAY", "F16IMAGECUBEARRAY", "F16IMAGEBUFFER", "F16IMAGE2DMS",
+  "FCOOPMATNV", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE",
+  "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW",
+  "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW",
+  "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D",
+  "ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D",
+  "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY",
+  "USAMPLER2DARRAY", "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW",
+  "ISAMPLER2DRECT", "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER",
+  "USAMPLERBUFFER", "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW",
+  "ISAMPLERCUBEARRAY", "USAMPLERCUBEARRAY", "SAMPLER2DMS", "ISAMPLER2DMS",
+  "USAMPLER2DMS", "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY",
+  "USAMPLER2DMSARRAY", "SAMPLEREXTERNALOES", "SAMPLEREXTERNAL2DY2YEXT",
+  "F16SAMPLER1D", "F16SAMPLER2D", "F16SAMPLER3D", "F16SAMPLER2DRECT",
+  "F16SAMPLERCUBE", "F16SAMPLER1DARRAY", "F16SAMPLER2DARRAY",
+  "F16SAMPLERCUBEARRAY", "F16SAMPLERBUFFER", "F16SAMPLER2DMS",
+  "F16SAMPLER2DMSARRAY", "F16SAMPLER1DSHADOW", "F16SAMPLER2DSHADOW",
+  "F16SAMPLER1DARRAYSHADOW", "F16SAMPLER2DARRAYSHADOW",
+  "F16SAMPLER2DRECTSHADOW", "F16SAMPLERCUBESHADOW",
+  "F16SAMPLERCUBEARRAYSHADOW", "SAMPLER", "SAMPLERSHADOW", "TEXTURE1D",
+  "TEXTURE2D", "TEXTURE3D", "TEXTURECUBE", "TEXTURE1DARRAY",
+  "TEXTURE2DARRAY", "ITEXTURE1D", "ITEXTURE2D", "ITEXTURE3D",
+  "ITEXTURECUBE", "ITEXTURE1DARRAY", "ITEXTURE2DARRAY", "UTEXTURE1D",
+  "UTEXTURE2D", "UTEXTURE3D", "UTEXTURECUBE", "UTEXTURE1DARRAY",
+  "UTEXTURE2DARRAY", "TEXTURE2DRECT", "ITEXTURE2DRECT", "UTEXTURE2DRECT",
+  "TEXTUREBUFFER", "ITEXTUREBUFFER", "UTEXTUREBUFFER", "TEXTURECUBEARRAY",
+  "ITEXTURECUBEARRAY", "UTEXTURECUBEARRAY", "TEXTURE2DMS", "ITEXTURE2DMS",
+  "UTEXTURE2DMS", "TEXTURE2DMSARRAY", "ITEXTURE2DMSARRAY",
+  "UTEXTURE2DMSARRAY", "F16TEXTURE1D", "F16TEXTURE2D", "F16TEXTURE3D",
+  "F16TEXTURE2DRECT", "F16TEXTURECUBE", "F16TEXTURE1DARRAY",
+  "F16TEXTURE2DARRAY", "F16TEXTURECUBEARRAY", "F16TEXTUREBUFFER",
+  "F16TEXTURE2DMS", "F16TEXTURE2DMSARRAY", "SUBPASSINPUT",
+  "SUBPASSINPUTMS", "ISUBPASSINPUT", "ISUBPASSINPUTMS", "USUBPASSINPUT",
+  "USUBPASSINPUTMS", "F16SUBPASSINPUT", "F16SUBPASSINPUTMS", "IMAGE1D",
+  "IIMAGE1D", "UIMAGE1D", "IMAGE2D", "IIMAGE2D", "UIMAGE2D", "IMAGE3D",
+  "IIMAGE3D", "UIMAGE3D", "IMAGE2DRECT", "IIMAGE2DRECT", "UIMAGE2DRECT",
+  "IMAGECUBE", "IIMAGECUBE", "UIMAGECUBE", "IMAGEBUFFER", "IIMAGEBUFFER",
+  "UIMAGEBUFFER", "IMAGE1DARRAY", "IIMAGE1DARRAY", "UIMAGE1DARRAY",
+  "IMAGE2DARRAY", "IIMAGE2DARRAY", "UIMAGE2DARRAY", "IMAGECUBEARRAY",
+  "IIMAGECUBEARRAY", "UIMAGECUBEARRAY", "IMAGE2DMS", "IIMAGE2DMS",
+  "UIMAGE2DMS", "IMAGE2DMSARRAY", "IIMAGE2DMSARRAY", "UIMAGE2DMSARRAY",
+  "F16IMAGE1D", "F16IMAGE2D", "F16IMAGE3D", "F16IMAGE2DRECT",
+  "F16IMAGECUBE", "F16IMAGE1DARRAY", "F16IMAGE2DARRAY",
+  "F16IMAGECUBEARRAY", "F16IMAGEBUFFER", "F16IMAGE2DMS",
   "F16IMAGE2DMSARRAY", "STRUCT", "VOID", "WHILE", "IDENTIFIER",
   "TYPE_NAME", "FLOATCONSTANT", "DOUBLECONSTANT", "INT16CONSTANT",
   "UINT16CONSTANT", "INT32CONSTANT", "UINT32CONSTANT", "INTCONSTANT",
@@ -1110,9 +1114,10 @@
   "layout_qualifier", "layout_qualifier_id_list", "layout_qualifier_id",
   "precise_qualifier", "type_qualifier", "single_type_qualifier",
   "storage_qualifier", "non_uniform_qualifier", "type_name_list",
-  "type_specifier", "array_specifier", "type_specifier_nonarray",
-  "precision_qualifier", "struct_specifier", "$@3", "$@4",
-  "struct_declaration_list", "struct_declaration",
+  "type_specifier", "array_specifier", "type_parameter_specifier_opt",
+  "type_parameter_specifier", "type_parameter_specifier_list",
+  "type_specifier_nonarray", "precision_qualifier", "struct_specifier",
+  "$@3", "$@4", "struct_declaration_list", "struct_declaration",
   "struct_declarator_list", "struct_declarator", "initializer",
   "initializer_list", "declaration_statement", "statement",
   "simple_statement", "compound_statement", "$@5", "$@6",
@@ -1175,16 +1180,16 @@
      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
      645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
-     655,   656,   657,   658,   659,   660
+     655,   656,   657,   658,   659,   660,   661,   662
 };
 # endif
 
-#define YYPACT_NINF -649
+#define YYPACT_NINF -659
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-649)))
+  (!!((Yystate) == (-659)))
 
-#define YYTABLE_NINF -517
+#define YYTABLE_NINF -524
 
 #define yytable_value_is_error(Yytable_value) \
   0
@@ -1193,78 +1198,79 @@
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-    3511,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -326,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -310,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -316,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -256,  -649,  -317,  -357,  -305,  -269,  5906,  -315,  -649,
-    -225,  -649,  -649,  -649,  -649,  4310,  -649,  -649,  -649,  -649,
-    -234,  -649,  -649,   711,  -649,  -649,  -204,   -69,  -222,  -649,
-    8955,  -335,  -649,  -649,  -218,  -649,  5906,  -649,  -649,  -649,
-    5906,  -170,  -169,  -649,  -339,  -303,  -649,  -649,  -649,  6657,
-    -205,  -649,  -649,  -649,  -307,  -649,  -211,  -302,  -649,  -649,
-    5906,  -210,  -649,  -321,  1111,  -649,  -649,  -649,  -649,  -234,
-    -340,  -649,  7040,  -325,  -649,  -166,  -649,  -292,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  8189,  8189,  8189,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -324,  -649,  -649,  -649,  -200,  -298,  8572,  -198,  -649,
-    8189,  -242,  -278,  -314,  -333,  -209,  -219,  -217,  -215,  -180,
-    -181,  -336,  -194,  -649,  -649,  7423,  -649,  -155,  8189,  -649,
-     -69,  5906,  5906,  -154,  4709,  -649,  -649,  -649,  -197,  -195,
-    -649,  -188,  -184,  -193,  7806,  -179,  8189,  -189,  -178,  -182,
-    -177,  -649,  -649,  -267,  -649,  -649,  -252,  -649,  -357,  -176,
-    -173,  -649,  -649,  -649,  -649,  1511,  -649,  -649,  -649,  -649,
-    -649,  -649,  -649,  -649,  -649,   -19,  -205,  7040,  -311,  7040,
-    -649,  -649,  7040,  5906,  -649,  -142,  -649,  -649,  -649,  -293,
-    -649,  -649,  8189,  -136,  -649,  -649,  8189,  -171,  -649,  -649,
-    -649,  8189,  8189,  8189,  8189,  8189,  8189,  8189,  8189,  8189,
-    8189,  8189,  8189,  8189,  8189,  8189,  8189,  8189,  8189,  8189,
-    -649,  -649,  -649,  -172,  -649,  -649,  -649,  -649,  5108,  -154,
-    -234,  -251,  -649,  -649,  -649,  -649,  -649,  1911,  -649,  8189,
-    -649,  -649,  -245,  8189,  -228,  -649,  -649,  -133,  -649,  1911,
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  8189,  8189,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    7040,  -649,  -285,  -649,  5507,  -649,  -649,  -168,  -165,  -649,
-    -649,  -649,  -649,  -649,  -242,  -242,  -278,  -278,  -314,  -314,
-    -314,  -314,  -333,  -333,  -209,  -219,  -217,  -215,  -180,  -181,
-    8189,  -649,  -649,  -241,  -205,  -154,  -649,  -128,  3111,  -290,
-    -649,  -268,  -649,  3911,  -163,  -297,  -649,  1911,  -649,  -649,
-    -649,  -649,  6274,  -649,  -649,  -223,  -649,  -649,  -162,  -649,
-    -649,  3911,  -161,  -649,  -165,  -126,  5906,  -160,  8189,  -159,
-    -133,  -158,  -649,  -649,  8189,  8189,  -649,  -164,  -156,   196,
-    -151,  2711,  -649,  -131,  -135,  2311,  -152,  -649,  -649,  -649,
-    -649,  -254,  8189,  2311,  -161,  -649,  -649,  1911,  7040,  -649,
-    -649,  -649,  -649,  -134,  -165,  -649,  -649,  1911,  -127,  -649,
-    -649,  -649
+    3535,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -331,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -324,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -319,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -256,  -659,  -314,  -351,  -309,  -306,  5942,
+    -257,  -659,  -217,  -659,  -659,  -659,  -659,  4338,  -659,  -659,
+    -659,  -659,  -241,  -659,  -659,   721,  -659,  -659,  -204,   -71,
+    -219,  -659,  9007,  -349,  -659,  -659,  -215,  -659,  5942,  -659,
+    -659,  -659,  5942,  -178,  -172,  -659,  -337,  -267,  -659,  -659,
+    -659,  8237,  -207,  -659,  -659,  -659,  -659,  -341,  -659,  -211,
+    -330,  -659,  -659,  5942,  -210,  6697,  -659,  -322,  1123,  -659,
+    -659,  -659,  -659,  -207,  -328,  -659,  7082,  -304,  -659,  -163,
+    -659,  -252,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,  -659,  8237,  8237,  8237,  -659,  -659,
+    -659,  -659,  -659,  -659,  -303,  -659,  -659,  -659,  -196,  -299,
+    8622,  -194,  -659,  8237,  -659,  -659,  -355,  -195,  -659,  -157,
+    8237,  -659,   -71,  5942,  5942,  -155,  4739,  -659,  -659,  -659,
+    -659,  -242,  -236,  -249,  -335,  -206,  -191,  -187,  -209,  -149,
+    -150,  -333,  -162,  7467,  -659,  -170,  -168,  -659,  -154,  -153,
+    -167,  7852,  -152,  8237,  -159,  -148,  -151,  -160,  -659,  -659,
+    -274,  -659,  -659,  -251,  -659,  -351,  -147,  -144,  -659,  -659,
+    -659,  -659,  1525,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,   -19,  -195,  7082,  -302,  7082,  -659,  -659,  7082,
+    5942,  -659,  -115,  -659,  -659,  -659,  -292,  -659,  -659,  8237,
+    -108,  -659,  -659,  8237,  -143,  -659,  -659,  -659,  8237,  -659,
+    -659,  -659,  -659,  -659,  5140,  -155,  -207,  -250,  -659,  -659,
+    -659,  8237,  8237,  8237,  8237,  8237,  8237,  8237,  8237,  8237,
+    8237,  8237,  8237,  8237,  8237,  8237,  8237,  8237,  8237,  8237,
+    -659,  -659,  -659,  -142,  -659,  -659,  1927,  -659,  8237,  -659,
+    -659,  -245,  8237,  -226,  -659,  -659,  -106,  -659,  1927,  -659,
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    8237,  8237,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  7082,
+    -659,  -238,  -659,  5541,  -659,  -659,  -141,  -140,  -659,  -659,
+    -659,  -659,  -244,  -195,  -155,  -659,  -659,  -659,  -659,  -242,
+    -242,  -236,  -236,  -249,  -249,  -249,  -249,  -335,  -335,  -206,
+    -191,  -187,  -209,  -149,  -150,  8237,  -659,  -104,  3133,  -263,
+    -659,  -260,  -659,  3937,  -136,  -297,  -659,  1927,  -659,  -659,
+    -659,  -659,  6312,  -659,  -659,  -659,  -659,  -224,  -135,  -659,
+    -659,  3937,  -138,  -659,  -140,   -97,  5942,  -132,  8237,  -133,
+    -106,  -134,  -659,  -659,  8237,  8237,  -659,  -137,  -129,   224,
+    -128,  2731,  -659,  -127,  -131,  2329,  -126,  -659,  -659,  -659,
+    -659,  -255,  8237,  2329,  -138,  -659,  -659,  1927,  7082,  -659,
+    -659,  -659,  -659,  -130,  -140,  -659,  -659,  1927,  -123,  -659,
+    -659,  -659
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1272,110 +1278,111 @@
      means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,   157,   158,   197,   195,   198,   196,   199,   156,   210,
-     200,   201,   208,   209,   206,   207,   204,   205,   202,   203,
-     183,   226,   227,   228,   229,   230,   231,   244,   245,   246,
-     241,   242,   243,   256,   257,   258,   238,   239,   240,   253,
-     254,   255,   235,   236,   237,   250,   251,   252,   232,   233,
-     234,   247,   248,   249,   211,   212,   213,   259,   260,   261,
+       0,   157,   158,   202,   200,   203,   201,   204,   156,   215,
+     205,   206,   213,   214,   211,   212,   209,   210,   207,   208,
+     183,   231,   232,   233,   234,   235,   236,   249,   250,   251,
+     246,   247,   248,   261,   262,   263,   243,   244,   245,   258,
+     259,   260,   240,   241,   242,   255,   256,   257,   237,   238,
+     239,   252,   253,   254,   216,   217,   218,   264,   265,   266,
      162,   160,   161,   159,   165,   163,   164,   166,   172,   185,
      168,   169,   167,   170,   171,   173,   179,   180,   181,   182,
-     174,   175,   176,   177,   178,   214,   215,   216,   271,   272,
-     273,   217,   218,   219,   283,   284,   285,   220,   221,   222,
-     295,   296,   297,   223,   224,   225,   307,   308,   309,   134,
-     133,   132,     0,   135,   136,   137,   138,   139,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   274,   275,   276,
-     277,   278,   279,   280,   281,   282,   286,   287,   288,   289,
-     290,   291,   292,   293,   294,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   320,   319,   321,   322,   323,   324,   325,
-     326,   327,   328,   329,   330,   331,   347,   348,   349,   350,
-     351,   352,   354,   355,   356,   357,   358,   359,   361,   362,
-     365,   366,   367,   369,   370,   332,   333,   353,   360,   371,
-     373,   374,   375,   377,   378,   469,   334,   335,   336,   363,
-     337,   341,   342,   345,   368,   372,   376,   338,   339,   343,
-     344,   364,   340,   346,   379,   380,   381,   383,   385,   387,
-     389,   391,   395,   396,   397,   398,   399,   400,   402,   403,
-     404,   405,   406,   407,   409,   411,   412,   413,   415,   416,
-     393,   401,   408,   417,   419,   420,   421,   423,   424,   382,
-     384,   386,   410,   388,   390,   392,   394,   414,   418,   422,
-     470,   471,   474,   475,   476,   477,   472,   473,   425,   427,
-     428,   429,   431,   432,   433,   435,   436,   437,   439,   440,
-     441,   443,   444,   445,   447,   448,   449,   451,   452,   453,
-     455,   456,   457,   459,   460,   461,   463,   464,   465,   467,
-     468,   426,   430,   434,   438,   442,   450,   454,   458,   446,
-     462,   466,     0,   194,   479,   564,   131,   146,   480,   481,
-     482,     0,   563,     0,   565,     0,   108,   107,     0,   119,
-     124,   153,   152,   150,   154,     0,   147,   149,   155,   129,
-     188,   151,   478,     0,   560,   562,     0,     0,     0,   485,
-       0,     0,    96,    93,     0,   106,     0,   115,   109,   117,
-       0,   118,     0,    94,   125,     0,    99,   148,   130,     0,
-     189,     1,   561,   186,     0,   145,   143,     0,   141,   483,
-       0,     0,    97,     0,     0,   566,   110,   114,   116,   112,
-     120,   111,     0,   126,   102,     0,   100,     0,     2,    12,
-      13,    10,    11,     4,     5,     6,     7,     8,     9,    15,
-      14,     0,     0,     0,   190,    42,    41,    43,    40,     3,
-      17,    36,    19,    24,    25,     0,     0,    29,     0,    44,
-       0,    48,    51,    54,    59,    62,    64,    66,    68,    70,
-      72,    74,     0,    35,    33,     0,   184,     0,     0,   140,
-       0,     0,     0,     0,     0,   487,    95,    98,     0,     0,
-     545,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     511,   520,   524,    44,    77,    90,     0,   500,     0,   155,
-     129,   503,   522,   502,   501,     0,   504,   505,   526,   506,
-     533,   507,   508,   541,   509,     0,   113,     0,   121,     0,
-     495,   128,     0,     0,   104,     0,   101,    37,    38,     0,
-      21,    22,     0,     0,    27,    26,     0,   194,    30,    32,
-      39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     174,   175,   176,   177,   178,   219,   220,   221,   276,   277,
+     278,   222,   223,   224,   288,   289,   290,   225,   226,   227,
+     300,   301,   302,   228,   229,   230,   312,   313,   314,   134,
+     133,   132,     0,   135,   136,   137,   138,   139,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   279,   280,   281,
+     282,   283,   284,   285,   286,   287,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,   315,   316,   317,   318,   319,   320,
+     321,   322,   323,   325,   324,   484,   326,   327,   328,   329,
+     330,   331,   332,   333,   334,   335,   336,   352,   353,   354,
+     355,   356,   357,   359,   360,   361,   362,   363,   364,   366,
+     367,   370,   371,   372,   374,   375,   337,   338,   358,   365,
+     376,   378,   379,   380,   382,   383,   474,   475,   339,   340,
+     341,   368,   342,   346,   347,   350,   373,   377,   381,   343,
+     344,   348,   349,   369,   345,   351,   384,   385,   386,   388,
+     390,   392,   394,   396,   400,   401,   402,   403,   404,   405,
+     407,   408,   409,   410,   411,   412,   414,   416,   417,   418,
+     420,   421,   398,   406,   413,   422,   424,   425,   426,   428,
+     429,   387,   389,   391,   415,   393,   395,   397,   399,   419,
+     423,   427,   476,   477,   480,   481,   482,   483,   478,   479,
+     430,   432,   433,   434,   436,   437,   438,   440,   441,   442,
+     444,   445,   446,   448,   449,   450,   452,   453,   454,   456,
+     457,   458,   460,   461,   462,   464,   465,   466,   468,   469,
+     470,   472,   473,   431,   435,   439,   443,   447,   455,   459,
+     463,   451,   467,   471,     0,   199,   486,   571,   131,   146,
+     487,   488,   489,     0,   570,     0,   572,     0,   108,   107,
+       0,   119,   124,   153,   152,   150,   154,     0,   147,   149,
+     155,   129,   195,   151,   485,     0,   567,   569,     0,     0,
+       0,   492,     0,     0,    96,    93,     0,   106,     0,   115,
+     109,   117,     0,   118,     0,    94,   125,     0,    99,   148,
+     130,     0,   188,   194,     1,   568,   186,     0,   145,   143,
+       0,   141,   490,     0,     0,     0,    97,     0,     0,   573,
+     110,   114,   116,   112,   120,   111,     0,   126,   102,     0,
+     100,     0,     2,    12,    13,    10,    11,     4,     5,     6,
+       7,     8,     9,    15,    14,     0,     0,     0,    42,    41,
+      43,    40,     3,    17,    36,    19,    24,    25,     0,     0,
+      29,     0,   197,     0,    35,    33,     0,   189,   184,     0,
+       0,   140,     0,     0,     0,     0,     0,   494,    95,   190,
+      44,    48,    51,    54,    59,    62,    64,    66,    68,    70,
+      72,    74,     0,     0,    98,     0,     0,   552,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   518,   527,   531,
+      44,    77,    90,     0,   507,     0,   155,   129,   510,   529,
+     509,   508,     0,   511,   512,   533,   513,   540,   514,   515,
+     548,   516,     0,   113,     0,   121,     0,   502,   128,     0,
+       0,   104,     0,   101,    37,    38,     0,    21,    22,     0,
+       0,    27,    26,     0,   199,    30,    32,    39,     0,   196,
+     187,    92,   144,   142,     0,     0,   500,     0,   498,   493,
+     495,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      75,   191,   192,     0,   187,    92,   144,   142,     0,     0,
-     493,     0,   491,   486,   488,   556,   555,     0,   547,     0,
-     559,   557,     0,     0,     0,   540,   543,     0,   510,     0,
-      80,    81,    83,    82,    85,    86,    87,    88,    89,    84,
-      79,     0,     0,   525,   521,   523,   527,   534,   542,   123,
-       0,   498,     0,   127,     0,   105,    16,     0,    23,    20,
-      31,    45,    46,    47,    50,    49,    52,    53,    57,    58,
-      55,    56,    60,    61,    63,    65,    67,    69,    71,    73,
-       0,   193,   484,     0,   494,     0,   489,     0,     0,     0,
-     558,     0,   539,     0,   570,     0,   568,   512,    78,    91,
-     122,   496,     0,   103,    18,     0,   490,   492,     0,   550,
-     549,   552,   518,   535,   531,     0,     0,     0,     0,     0,
-       0,     0,   497,   499,     0,     0,   551,     0,     0,   530,
-       0,     0,   528,     0,     0,     0,     0,   567,   569,   513,
-      76,     0,   553,     0,   518,   517,   519,   537,     0,   515,
-     544,   514,   571,     0,   554,   548,   529,   538,     0,   532,
-     546,   536
+      75,   191,   192,     0,   563,   562,     0,   554,     0,   566,
+     564,     0,     0,     0,   547,   550,     0,   517,     0,    80,
+      81,    83,    82,    85,    86,    87,    88,    89,    84,    79,
+       0,     0,   532,   528,   530,   534,   541,   549,   123,     0,
+     505,     0,   127,     0,   105,    16,     0,    23,    20,    31,
+     198,   491,     0,   501,     0,   496,    45,    46,    47,    50,
+      49,    52,    53,    57,    58,    55,    56,    60,    61,    63,
+      65,    67,    69,    71,    73,     0,   193,     0,     0,     0,
+     565,     0,   546,     0,   577,     0,   575,   519,    78,    91,
+     122,   503,     0,   103,    18,   497,   499,     0,     0,   557,
+     556,   559,   525,   542,   538,     0,     0,     0,     0,     0,
+       0,     0,   504,   506,     0,     0,   558,     0,     0,   537,
+       0,     0,   535,     0,     0,     0,     0,   574,   576,   520,
+      76,     0,   560,     0,   525,   524,   526,   544,     0,   522,
+     551,   521,   578,     0,   561,   555,   536,   545,     0,   539,
+     553,   543
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,  -649,  -304,  -649,  -373,  -370,  -416,  -379,  -294,  -322,
-    -291,  -295,  -288,  -296,  -649,  -369,  -649,  -393,  -649,  -382,
-    -414,     1,  -649,  -649,  -649,     2,  -649,  -649,  -649,  -114,
-    -109,  -112,  -649,  -649,  -615,  -649,  -649,  -649,  -649,  -196,
-    -649,  -334,  -341,  -649,     6,  -649,     0,  -347,  -649,   -68,
-    -649,  -649,  -649,  -443,  -448,  -287,  -368,  -492,  -649,  -376,
-    -482,  -648,  -415,  -649,  -649,  -427,  -426,  -649,  -649,   -93,
-    -560,  -365,  -649,  -231,  -649,  -386,  -649,  -229,  -649,  -649,
-    -649,  -649,  -227,  -649,  -649,  -649,  -649,  -649,  -649,  -649,
-    -649,   -76,  -649,  -649,  -649,  -649,  -390
+    -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,  -659,
+    -659,  -659,  -364,  -659,  -389,  -385,  -457,  -384,  -310,  -307,
+    -305,  -308,  -301,  -298,  -659,  -386,  -659,  -390,  -659,  -415,
+    -418,     1,  -659,  -659,  -659,     2,  -659,  -659,  -659,  -110,
+    -105,  -107,  -659,  -659,  -628,  -659,  -659,  -659,  -659,  -188,
+    -659,  -336,  -343,  -659,     6,  -659,     0,  -334,  -659,  -659,
+    -659,  -659,   -67,  -659,  -659,  -659,  -431,  -437,  -277,  -350,
+    -501,  -659,  -375,  -488,  -658,  -414,  -659,  -659,  -428,  -426,
+    -659,  -659,   -87,  -568,  -368,  -659,  -231,  -659,  -388,  -659,
+    -230,  -659,  -659,  -659,  -659,  -228,  -659,  -659,  -659,  -659,
+    -659,  -659,  -659,  -659,   -70,  -659,  -659,  -659,  -659,  -394
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,   429,   430,   431,   607,   432,   433,   434,   435,   436,
-     437,   438,   483,   440,   441,   442,   443,   444,   445,   446,
-     447,   448,   449,   450,   451,   484,   630,   485,   591,   486,
-     556,   487,   333,   513,   407,   488,   335,   336,   337,   367,
-     368,   369,   338,   339,   340,   341,   342,   343,   387,   388,
-     344,   345,   346,   347,   453,   384,   454,   380,   350,   351,
-     352,   461,   390,   464,   465,   561,   562,   511,   602,   491,
-     492,   493,   494,   579,   671,   700,   679,   680,   681,   701,
-     495,   496,   497,   498,   682,   667,   499,   500,   683,   708,
-     501,   502,   503,   643,   567,   638,   661,   677,   678,   504,
-     353,   354,   355,   364,   505,   645,   646
+      -1,   432,   433,   434,   616,   435,   436,   437,   438,   439,
+     440,   441,   490,   443,   461,   462,   463,   464,   465,   466,
+     467,   468,   469,   470,   471,   491,   645,   492,   600,   493,
+     542,   494,   335,   520,   411,   495,   337,   338,   339,   369,
+     370,   371,   340,   341,   342,   343,   344,   345,   390,   391,
+     346,   347,   348,   349,   444,   387,   445,   397,   382,   383,
+     446,   352,   353,   354,   453,   393,   456,   457,   547,   548,
+     518,   611,   498,   499,   500,   501,   588,   681,   710,   689,
+     690,   691,   711,   502,   503,   504,   505,   692,   677,   506,
+     507,   693,   718,   508,   509,   510,   653,   576,   648,   671,
+     687,   688,   511,   355,   356,   357,   366,   512,   655,   656
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -1383,78 +1390,79 @@
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-     349,   332,   334,   370,   377,   470,   348,   471,   472,   510,
-     452,   475,   385,   595,   393,   599,   564,   601,   558,   647,
-     603,   361,   358,   538,   539,   549,   363,   403,   665,   377,
-     520,   521,   370,   696,   401,   379,   379,   699,   536,   537,
-     379,   519,   507,   402,   528,   699,   665,   356,   392,   -34,
-     455,   522,   506,   508,   455,   523,   462,   512,   540,   541,
-     550,   359,   467,   357,   455,   372,   362,   456,   373,   365,
-     604,   600,   459,   457,   404,   439,   525,   405,   460,   669,
-     406,   606,   526,   670,   662,   637,   553,   592,   515,   555,
-     592,   516,   572,   651,   574,   652,   580,   581,   582,   583,
-     584,   585,   586,   587,   588,   589,   663,   534,   650,   535,
-     564,   366,   592,   374,   510,   590,   510,   517,   518,   510,
-     703,   377,   618,   619,   620,   621,   592,   462,   592,   635,
-     462,   593,   636,   610,   383,   592,   530,   707,   640,   635,
-     608,   379,   656,   328,   329,   330,   531,   532,   533,   542,
-     543,   439,   592,   642,   439,   389,   564,   592,   674,   394,
-     673,   614,   615,   622,   623,   595,   616,   617,   399,   400,
-     455,   458,   514,   466,   524,   529,   544,   545,   546,   462,
-     547,   548,   551,   554,   560,   568,   565,   639,   566,   569,
-     570,   641,   575,   577,   573,   576,   605,   -35,   648,   649,
-     -33,   578,   609,   -28,   631,   644,   709,   510,   654,   658,
-     668,   675,   684,   634,   685,   592,  -516,   687,   693,   692,
-     689,   694,   702,   625,   462,   595,   480,   611,   612,   613,
-     439,   439,   439,   439,   439,   439,   439,   439,   439,   439,
-     439,   439,   439,   439,   439,   439,   697,   698,   655,   710,
-     624,   711,   627,   629,   686,   626,   397,   396,   398,   510,
-     628,   664,   659,   360,   557,   695,   705,   657,   706,   386,
-     462,   395,   633,   660,   596,   676,   597,   382,   598,   664,
-     688,   690,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   691,     0,     0,     0,     0,     0,   555,
-       0,     0,     0,     0,     0,   510,     0,     0,     0,   666,
-     704,     0,     0,     0,     0,     0,     0,     0,   478,     0,
-       0,     0,     0,     0,     0,   377,     0,   666,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   371,     0,     0,
-       0,     0,     0,   348,     0,   378,     0,     0,     0,     0,
-       0,   348,     0,   349,   332,   334,     0,     0,     0,   348,
-     391,     0,     0,     0,   439,     0,   371,     0,     0,     0,
-     371,     0,   348,     0,     0,     0,   348,     0,     0,     0,
+     351,   334,   336,   372,   379,   477,   350,   478,   479,   472,
+     388,   482,   526,   608,   604,   610,   517,   442,   612,   550,
+     657,   360,   544,   558,   559,   675,   363,   538,   395,   379,
+     569,   460,   372,   706,   365,   448,   396,   709,   405,   539,
+     395,   449,   407,   675,   358,   709,   451,   406,   447,   395,
+     535,   359,   452,   527,   528,   473,   514,   454,   560,   561,
+     361,   524,   525,   474,   541,   570,   581,   367,   583,   513,
+     515,   364,   -34,   473,   529,   473,   368,   532,   530,   537,
+     519,   679,   609,   533,   615,   680,   460,   573,   647,   613,
+     601,   589,   590,   591,   592,   593,   594,   595,   596,   597,
+     598,   633,   634,   635,   636,   556,   557,   550,   660,   460,
+     599,   379,   408,   672,   617,   409,   673,   454,   410,   601,
+     454,   713,   601,   376,   517,   374,   517,   601,   375,   517,
+     522,   601,   624,   523,   602,   625,   386,   601,   624,   717,
+     650,   665,   661,   619,   662,   330,   331,   332,   551,   552,
+     553,   554,   381,   555,   562,   563,   601,   652,   601,   684,
+     392,   683,   403,   649,   398,   629,   630,   651,   404,   604,
+     395,   631,   632,   450,   620,   458,   550,   521,   637,   638,
+     531,   536,   473,   540,   454,   546,   566,   626,   627,   628,
+     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
+     460,   460,   460,   460,   460,   460,   564,   719,   454,   565,
+     658,   659,   623,   567,   568,   574,   571,   575,   579,   517,
+     587,   577,   578,   582,   584,   614,   586,   585,   -35,   604,
+     667,   -33,   618,   -28,   654,   668,   646,   664,   674,   678,
+     685,  -523,   601,   694,   695,   697,   699,   703,   702,   704,
+     712,   487,   707,   708,   639,   720,   674,   721,   640,   642,
+     696,   641,   401,   400,   543,   402,   362,   643,   622,   389,
+     701,   644,   517,   669,   666,   715,   705,   454,   716,   399,
+     670,   605,   606,   686,   607,   385,   698,   714,     0,     0,
+       0,     0,   541,     0,   700,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     463,     0,     0,     0,   490,     0,   348,     0,     0,     0,
-     489,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   460,     0,     0,   676,   517,     0,
+     485,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   379,     0,   676,     0,     0,     0,   373,
+       0,     0,     0,     0,     0,   350,     0,   380,     0,     0,
+       0,     0,     0,   350,     0,   351,   334,   336,     0,     0,
+       0,   350,   394,     0,     0,     0,     0,     0,   373,     0,
+       0,     0,   373,     0,   350,     0,     0,     0,   350,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   455,     0,     0,     0,     0,   497,   350,
+       0,     0,     0,     0,   496,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   463,   559,     0,   463,     0,     0,   348,   348,     0,
-     348,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   490,     0,     0,     0,     0,
-       0,   489,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   463,     0,     0,     0,     0,     0,   348,
+       0,     0,     0,   455,   545,     0,   455,     0,     0,   350,
+     350,     0,   350,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   463,     0,
-       0,     0,     0,     0,   348,     0,     0,   490,     0,     0,
-       0,     0,     0,   489,     0,     0,     0,     0,     0,   490,
-       0,     0,     0,     0,     0,   489,     0,     0,     0,     0,
+       0,     0,   497,     0,     0,     0,     0,     0,   496,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   463,     0,     0,     0,     0,     0,
-     348,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     455,     0,     0,     0,     0,     0,   350,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   490,     0,
-       0,     0,     0,   490,   489,     0,     0,   490,     0,   489,
-       0,     0,     0,   489,     0,     0,     0,     0,     0,     0,
-       0,   490,     0,     0,     0,     0,   378,   489,     0,     0,
-       0,     0,   348,     0,     0,     0,     0,     0,     0,     0,
-       0,   490,     0,     0,     0,   490,     0,   489,     0,     0,
-       0,   489,     0,   490,     0,     0,     0,   490,     0,   489,
-       0,     0,     0,   489,     0,     0,     0,   490,     0,     0,
-       0,   381,     0,   489,     1,     2,     3,     4,     5,     6,
+       0,     0,     0,     0,   455,     0,     0,     0,     0,     0,
+     350,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   497,     0,     0,     0,
+       0,     0,   496,     0,     0,     0,     0,     0,   497,     0,
+       0,     0,     0,     0,   496,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   455,     0,     0,     0,     0,     0,   350,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   497,     0,
+       0,     0,     0,   497,   496,     0,     0,   497,     0,   496,
+       0,     0,     0,   496,     0,     0,     0,     0,     0,     0,
+       0,   497,     0,     0,     0,     0,   380,   496,     0,     0,
+       0,     0,   350,     0,     0,     0,     0,     0,     0,     0,
+       0,   497,     0,     0,     0,   497,     0,   496,     0,     0,
+       0,   496,     0,   497,     0,     0,     0,   497,     0,   496,
+       0,     0,     0,   496,     0,     0,     0,   497,     0,     0,
+       0,   384,     0,   496,     1,     2,     3,     4,     5,     6,
        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
       17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
@@ -1487,377 +1495,138 @@
      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,     0,     0,
-     324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
+       0,     0,   326,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   325,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   326,   327,
-     328,   329,   330,   331,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,   468,   469,   470,     0,   471,   472,   473,
-     474,   475,   476,   477,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,   478,   408,
-     324,   409,   410,   411,   412,   413,   414,   415,   416,   417,
-     418,   419,   420,     0,     0,   421,   422,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   327,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   423,     0,   479,     0,   480,   481,
-       0,     0,     0,     0,   482,   425,   426,   427,   428,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   326,   327,
-     328,   329,   330,   331,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,   468,   469,   470,     0,   471,   472,   473,
-     474,   475,   476,   477,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,   478,   408,
-     324,   409,   410,   411,   412,   413,   414,   415,   416,   417,
-     418,   419,   420,     0,     0,   421,   422,     0,     0,     0,
+     328,   329,   330,   331,   332,   333,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,   475,   476,   477,     0,   478,
+     479,   480,   481,   482,   483,   484,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
+      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
+      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
+      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
+     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
+     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
+     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
+     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
+     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
+     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
+     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
+     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
+     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
+     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
+     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
+     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
+     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
+     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
+     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
+     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
+     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
+     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
+     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
+     324,   325,   485,   412,   326,   413,   414,   415,   416,   417,
+     418,   419,   420,   421,   422,   423,   424,     0,     0,   425,
+     426,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   427,     0,
+     486,     0,   487,   488,     0,     0,     0,     0,   489,   428,
+     429,   430,   431,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   328,   329,   330,   331,   332,   333,     1,     2,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,   475,   476,   477,
+       0,   478,   479,   480,   481,   482,   483,   484,    20,    21,
+      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
+      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
+     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
+     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
+     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
+     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
+     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
+     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
+     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
+     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
+     322,   323,   324,   325,   485,   412,   326,   413,   414,   415,
+     416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
+       0,   425,   426,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   423,     0,   479,     0,   480,   594,
-       0,     0,     0,     0,   482,   425,   426,   427,   428,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   326,   327,
-     328,   329,   330,   331,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,   468,   469,   470,     0,   471,   472,   473,
-     474,   475,   476,   477,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,   478,   408,
-     324,   409,   410,   411,   412,   413,   414,   415,   416,   417,
-     418,   419,   420,     0,     0,   421,   422,     0,     0,     0,
+     427,     0,   486,     0,   487,   603,     0,     0,     0,     0,
+     489,   428,   429,   430,   431,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   328,   329,   330,   331,   332,   333,
+       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,   475,
+     476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
+      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
+     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
+     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,   322,   323,   324,   325,   485,   412,   326,   413,
+     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
+     424,     0,     0,   425,   426,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   423,     0,   479,     0,   480,     0,
-       0,     0,     0,     0,   482,   425,   426,   427,   428,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   326,   327,
-     328,   329,   330,   331,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,   468,   469,   470,     0,   471,   472,   473,
-     474,   475,   476,   477,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,   478,   408,
-     324,   409,   410,   411,   412,   413,   414,   415,   416,   417,
-     418,   419,   420,     0,     0,   421,   422,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   423,     0,   479,     0,   394,     0,
-       0,     0,     0,     0,   482,   425,   426,   427,   428,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   326,   327,
-     328,   329,   330,   331,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,   468,   469,   470,     0,   471,   472,   473,
-     474,   475,   476,   477,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,   478,   408,
-     324,   409,   410,   411,   412,   413,   414,   415,   416,   417,
-     418,   419,   420,     0,     0,   421,   422,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   423,     0,   479,     0,     0,     0,
-       0,     0,     0,     0,   482,   425,   426,   427,   428,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   326,   327,
-     328,   329,   330,   331,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,     0,   408,
-     324,   409,   410,   411,   412,   413,   414,   415,   416,   417,
-     418,   419,   420,     0,     0,   421,   422,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   423,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   482,   425,   426,   427,   428,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   326,   327,
-     328,   329,   330,   331,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,     0,     0,
-     324,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   325,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   326,   327,
-     328,   329,   330,   331,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,     0,   408,
-     324,   409,   410,   411,   412,   413,   414,   415,   416,   417,
-     418,   419,   420,     0,     0,   421,   422,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   423,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   425,   426,   427,   428,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   326,   327,
-     328,   329,   330,     1,     2,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    20,    21,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
-      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
-     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
-     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
-     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
-     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
-     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
-     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
-     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
-     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
-     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
-     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
-     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
-     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
-     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
-     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
-     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
-     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
-     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
-     317,   318,   319,   320,   321,   322,   323,     0,   375,   324,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   376,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   326,   327,   328,
-     329,   330,     1,     2,     3,     4,     5,     6,     7,     8,
+       0,     0,   427,     0,   486,     0,   487,     0,     0,     0,
+       0,     0,   489,   428,   429,   430,   431,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   328,   329,   330,   331,
+     332,   333,     1,     2,     3,     4,     5,     6,     7,     8,
        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    20,    21,    22,    23,    24,    25,    26,    27,
+      19,   475,   476,   477,     0,   478,   479,   480,   481,   482,
+     483,   484,    20,    21,    22,    23,    24,    25,    26,    27,
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
@@ -1887,53 +1656,134 @@
      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
      298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
      308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
-     318,   319,   320,   321,   322,   323,     0,     0,   324,     0,
+     318,   319,   320,   321,   322,   323,   324,   325,   485,   412,
+     326,   413,   414,   415,   416,   417,   418,   419,   420,   421,
+     422,   423,   424,     0,     0,   425,   426,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   427,     0,   486,     0,   398,     0,
+       0,     0,     0,     0,   489,   428,   429,   430,   431,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   328,   329,
+     330,   331,   332,   333,     1,     2,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,   475,   476,   477,     0,   478,   479,   480,
+     481,   482,   483,   484,    20,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
+     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
+     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
+     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
+     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
+     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
+     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
+     485,   412,   326,   413,   414,   415,   416,   417,   418,   419,
+     420,   421,   422,   423,   424,     0,     0,   425,   426,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   427,     0,   486,     0,
+       0,     0,     0,     0,     0,     0,   489,   428,   429,   430,
+     431,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     328,   329,   330,   331,   332,   333,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
+      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
+      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
+      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
+     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
+     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
+     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
+     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
+     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
+     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
+     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
+     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
+     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
+     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
+     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
+     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
+     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
+     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
+     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
+     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
+     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
+     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
+     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
+     324,   325,     0,   412,   326,   413,   414,   415,   416,   417,
+     418,   419,   420,   421,   422,   423,   424,     0,     0,   425,
+     426,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   427,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   489,   428,
+     429,   430,   431,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   328,   329,   330,   331,   332,   333,     1,     2,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    20,    21,
+      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
+      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
+     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
+     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
+     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
+     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
+     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
+     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
+     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
+     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
+     322,   323,   324,   325,     0,     0,   326,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   563,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   326,   327,   328,   329,
-     330,     1,     2,     3,     4,     5,     6,     7,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,     0,     0,   324,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   632,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   326,   327,   328,   329,   330,
+     327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   328,   329,   330,   331,   332,   333,
        1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
       11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -1967,89 +1817,250 @@
      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
-     320,   321,   322,   323,     0,     0,   324,     0,     0,     0,
+     320,   321,   322,   323,   324,   325,     0,   412,   326,   413,
+     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
+     424,     0,     0,   425,   426,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   427,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   428,   429,   430,   431,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   328,   329,   330,   331,
+     332,     1,     2,     3,     4,     5,     6,     7,     8,     9,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    20,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
+     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
+     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
+     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
+     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
+     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
+     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
+     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
+     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
+     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
+     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
+     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
+     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
+     319,   320,   321,   322,   323,   324,   325,     0,   377,   326,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   653,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   326,   327,   328,   329,   330,     1,
-       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
-     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
-     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
-     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
-     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
-     321,   322,   323,     0,     0,   324,     0,     0,     0,     0,
+       0,     0,     0,   378,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   328,   329,   330,
+     331,   332,     1,     2,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    20,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
+     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
+     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
+     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
+     318,   319,   320,   321,   322,   323,   324,   325,     0,     0,
+     326,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     3,
-       4,     5,     6,     7,     0,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
-       0,     0,     0,   326,   327,   328,   329,   330,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
-      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
-      53,    54,    55,    56,    57,    58,    59,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    69,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   549,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    85,    86,    87,    88,    89,    90,    91,    92,
-      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
-     103,   104,   105,   106,   107,   108,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   118,   119,   120,   121,   122,
-     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
-     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
-     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
-     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
-     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
-     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
-     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
-     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
-     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
-     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
-     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
-     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
-     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
-     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
-     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
-     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
-     323,     0,   408,   324,   409,   410,   411,   412,   413,   414,
-     415,   416,   417,   418,   419,   420,     0,     0,   421,   422,
+       0,     0,     0,     0,     0,     0,     0,     0,   328,   329,
+     330,   331,   332,     1,     2,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    20,    21,    22,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
+     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
+     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
+     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
+     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
+     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
+     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
+     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
+     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
+     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
+     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
+     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
+     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
+     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
+     317,   318,   319,   320,   321,   322,   323,   324,   325,     0,
+       0,   326,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   423,     0,     0,
-       0,   509,   672,     0,     0,     0,     0,     0,   425,   426,
-     427,   428,     3,     4,     5,     6,     7,     0,     9,    10,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   328,
+     329,   330,   331,   332,     1,     2,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
+     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
+     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
+     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
+     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
+     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
+     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
+       0,     0,   326,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   663,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     328,   329,   330,   331,   332,     1,     2,     3,     4,     5,
+       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,     0,     0,   326,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     3,     4,     5,
+       6,     7,     0,     9,    10,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,     0,     0,     0,     0,     0,     0,
+       0,   328,   329,   330,   331,   332,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    69,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   118,   119,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,     0,   412,   326,   413,   414,   415,   416,   417,   418,
+     419,   420,   421,   422,   423,   424,     0,     0,   425,   426,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   427,     0,     0,
+       0,   516,   682,     0,     0,     0,     0,     0,   428,   429,
+     430,   431,     3,     4,     5,     6,     7,     0,     9,    10,
       11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,    21,    22,    23,    24,    25,    26,    27,    28,    29,
@@ -2082,165 +2093,12 @@
      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
-     320,   321,   322,   323,     0,   408,   324,   409,   410,   411,
-     412,   413,   414,   415,   416,   417,   418,   419,   420,     0,
-       0,   421,   422,     0,     0,     0,     0,     0,     0,     0,
+     320,   321,   322,   323,   324,   325,     0,   412,   326,   413,
+     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
+     424,     0,     0,   425,   426,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     423,     0,     0,   424,     0,     0,     0,     0,     0,     0,
-       0,   425,   426,   427,   428,     3,     4,     5,     6,     7,
-       0,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    21,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-      57,    58,    59,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    69,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    85,    86,
-      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
-      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
-     107,   108,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   118,   119,   120,   121,   122,   123,   124,   125,   126,
-     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
-     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
-     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
-     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
-     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
-     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
-     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
-     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
-     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
-     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
-     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
-     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
-     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
-     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
-     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
-     317,   318,   319,   320,   321,   322,   323,     0,   408,   324,
-     409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
-     419,   420,     0,     0,   421,   422,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   423,     0,     0,     0,   509,     0,     0,
-       0,     0,     0,     0,   425,   426,   427,   428,     3,     4,
-       5,     6,     7,     0,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    21,    22,    23,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    69,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
-     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
-     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
-     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
-     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
-     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
-       0,   408,   324,   409,   410,   411,   412,   413,   414,   415,
-     416,   417,   418,   419,   420,     0,     0,   421,   422,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   423,     0,     0,   552,
-       0,     0,     0,     0,     0,     0,     0,   425,   426,   427,
-     428,     3,     4,     5,     6,     7,     0,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    69,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
-     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
-     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
-     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
-     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
-     321,   322,   323,     0,   408,   324,   409,   410,   411,   412,
-     413,   414,   415,   416,   417,   418,   419,   420,     0,     0,
-     421,   422,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   423,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   571,
-     425,   426,   427,   428,     3,     4,     5,     6,     7,     0,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    21,    22,    23,    24,    25,    26,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    69,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
-     108,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
-     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
-     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
-     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
-     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
-     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
-     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
-     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
-     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
-     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
-     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
-     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
-     318,   319,   320,   321,   322,   323,     0,   408,   324,   409,
-     410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
-     420,     0,     0,   421,   422,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   423,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   425,   426,   427,   428,     3,     4,     5,
+       0,     0,   427,     0,     0,   459,     0,     0,     0,     0,
+       0,     0,     0,   428,   429,   430,   431,     3,     4,     5,
        6,     7,     0,     9,    10,    11,    12,    13,    14,    15,
       16,    17,    18,    19,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,    21,    22,    23,    24,
@@ -2273,493 +2131,25 @@
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
-     315,   316,   317,   318,   319,   320,   321,   322,   527,     0,
-     408,   324,   409,   410,   411,   412,   413,   414,   415,   416,
-     417,   418,   419,   420,     0,     0,   421,   422,     0,     0,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,     0,   412,   326,   413,   414,   415,   416,   417,   418,
+     419,   420,   421,   422,   423,   424,     0,     0,   425,   426,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   423,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   425,   426,   427,   428,
-       3,     4,     5,     6,     7,     0,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   427,     0,     0,
+       0,   516,     0,     0,     0,     0,     0,     0,   428,   429,
+     430,   431,     3,     4,     5,     6,     7,     0,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
-     102,   103,   104,   105,   106,   107,   108,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   118,   119,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
-     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
-     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
-     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
-     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
-     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
-     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
-     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
-     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
-     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
-     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
-     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
-     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
-     322,   323,     0,     0,   324
-};
-
-static const yytype_int16 yycheck[] =
-{
-       0,     0,     0,   337,   345,    24,     0,    26,    27,   402,
-     379,    30,    81,   495,   361,   507,   464,   509,   461,   579,
-     512,   338,   338,   356,   357,   361,   383,   374,   643,   370,
-     354,   355,   366,   681,   373,   375,   375,   685,   352,   353,
-     375,   423,   382,   382,   437,   693,   661,   373,   383,   373,
-     375,   375,   399,   400,   375,   379,   390,   382,   391,   392,
-     396,   377,   383,   373,   375,   380,   383,   374,   383,   374,
-     513,   382,   374,   380,   377,   379,   374,   380,   380,   376,
-     383,   374,   380,   380,   374,   567,   455,   380,   380,   458,
-     380,   383,   474,   378,   476,   380,   363,   364,   365,   366,
-     367,   368,   369,   370,   371,   372,   374,   385,   600,   387,
-     558,   380,   380,   338,   507,   382,   509,   421,   422,   512,
-     374,   462,   538,   539,   540,   541,   380,   461,   380,   380,
-     464,   383,   383,   526,   338,   380,   440,   697,   383,   380,
-     522,   375,   383,   399,   400,   401,   388,   389,   390,   358,
-     359,   455,   380,   381,   458,   377,   604,   380,   381,   377,
-     652,   534,   535,   542,   543,   647,   536,   537,   338,   338,
-     375,   382,   338,   383,   374,   373,   395,   394,   393,   513,
-     360,   362,   376,   338,   338,   373,   383,   569,   383,   373,
-     383,   573,   381,   375,   373,   373,   338,   373,   591,   592,
-     373,   378,   338,   374,   376,   338,   698,   600,   376,   337,
-     373,   373,   338,   560,   374,   380,   377,   376,   374,   383,
-     378,    25,   374,   545,   558,   707,   377,   531,   532,   533,
-     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     544,   545,   546,   547,   548,   549,   377,   382,   630,   383,
-     544,   378,   547,   549,   668,   546,   370,   366,   370,   652,
-     548,   643,   638,   331,   460,   680,   693,   635,   694,   338,
-     604,   364,   559,   638,   505,   661,   505,   353,   505,   661,
-     670,   674,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   675,    -1,    -1,    -1,    -1,    -1,   668,
-      -1,    -1,    -1,    -1,    -1,   698,    -1,    -1,    -1,   643,
-     692,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,    -1,
-      -1,    -1,    -1,    -1,    -1,   666,    -1,   661,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,    -1,    -1,
-      -1,    -1,    -1,   337,    -1,   345,    -1,    -1,    -1,    -1,
-      -1,   345,    -1,   353,   353,   353,    -1,    -1,    -1,   353,
-     360,    -1,    -1,    -1,   668,    -1,   366,    -1,    -1,    -1,
-     370,    -1,   366,    -1,    -1,    -1,   370,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     390,    -1,    -1,    -1,   394,    -1,   390,    -1,    -1,    -1,
-     394,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   461,   462,    -1,   464,    -1,    -1,   461,   462,    -1,
-     464,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   495,    -1,    -1,    -1,    -1,
-      -1,   495,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   513,    -1,    -1,    -1,    -1,    -1,   513,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   558,    -1,
-      -1,    -1,    -1,    -1,   558,    -1,    -1,   567,    -1,    -1,
-      -1,    -1,    -1,   567,    -1,    -1,    -1,    -1,    -1,   579,
-      -1,    -1,    -1,    -1,    -1,   579,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   604,    -1,    -1,    -1,    -1,    -1,
-     604,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   638,    -1,
-      -1,    -1,    -1,   643,   638,    -1,    -1,   647,    -1,   643,
-      -1,    -1,    -1,   647,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   661,    -1,    -1,    -1,    -1,   666,   661,    -1,    -1,
-      -1,    -1,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   681,    -1,    -1,    -1,   685,    -1,   681,    -1,    -1,
-      -1,   685,    -1,   693,    -1,    -1,    -1,   697,    -1,   693,
-      -1,    -1,    -1,   697,    -1,    -1,    -1,   707,    -1,    -1,
-      -1,     0,    -1,   707,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,    -1,    -1,
-     339,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   383,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,   398,
-     399,   400,   401,   402,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
-     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
-     349,   350,   351,    -1,    -1,   354,   355,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   373,    -1,   375,    -1,   377,   378,
-      -1,    -1,    -1,    -1,   383,   384,   385,   386,   387,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,   398,
-     399,   400,   401,   402,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
-     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
-     349,   350,   351,    -1,    -1,   354,   355,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   373,    -1,   375,    -1,   377,   378,
-      -1,    -1,    -1,    -1,   383,   384,   385,   386,   387,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,   398,
-     399,   400,   401,   402,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
-     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
-     349,   350,   351,    -1,    -1,   354,   355,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   373,    -1,   375,    -1,   377,    -1,
-      -1,    -1,    -1,    -1,   383,   384,   385,   386,   387,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,   398,
-     399,   400,   401,   402,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
-     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
-     349,   350,   351,    -1,    -1,   354,   355,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   373,    -1,   375,    -1,   377,    -1,
-      -1,    -1,    -1,    -1,   383,   384,   385,   386,   387,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,   398,
-     399,   400,   401,   402,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
-     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
-     349,   350,   351,    -1,    -1,   354,   355,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   373,    -1,   375,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   383,   384,   385,   386,   387,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,   398,
-     399,   400,   401,   402,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,    -1,   338,
-     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
-     349,   350,   351,    -1,    -1,   354,   355,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   373,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   383,   384,   385,   386,   387,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,   398,
-     399,   400,   401,   402,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,    -1,    -1,
-     339,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   383,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,   398,
-     399,   400,   401,   402,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,    -1,   338,
-     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
-     349,   350,   351,    -1,    -1,   354,   355,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   373,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   384,   385,   386,   387,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,   398,
-     399,   400,   401,     3,     4,     5,     6,     7,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    33,    34,    35,    36,    37,    38,    39,
+       0,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
-      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
-      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    85,    86,    87,    88,    89,
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
-     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   118,   119,
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
@@ -2780,18 +2170,402 @@
      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
-     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
-     330,   331,   332,   333,   334,   335,   336,    -1,   338,   339,
+     320,   321,   322,   323,   324,   325,     0,   412,   326,   413,
+     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
+     424,     0,     0,   425,   426,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   427,     0,     0,   572,     0,     0,     0,     0,
+       0,     0,     0,   428,   429,   430,   431,     3,     4,     5,
+       6,     7,     0,     9,    10,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    69,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   118,   119,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,     0,   412,   326,   413,   414,   415,   416,   417,   418,
+     419,   420,   421,   422,   423,   424,     0,     0,   425,   426,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   427,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   580,   428,   429,
+     430,   431,     3,     4,     5,     6,     7,     0,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   118,   119,
+     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
+     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
+     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,   322,   323,   324,   325,     0,   412,   326,   413,
+     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
+     424,     0,     0,   425,   426,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   427,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   428,   429,   430,   431,     3,     4,     5,
+       6,     7,     0,     9,    10,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    69,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   118,   119,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     534,     0,   412,   326,   413,   414,   415,   416,   417,   418,
+     419,   420,   421,   422,   423,   424,     0,     0,   425,   426,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   427,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   428,   429,
+     430,   431,     3,     4,     5,     6,     7,     0,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   118,   119,
+     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
+     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
+     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,   322,   323,   324,   325,     0,     0,   326
+};
+
+static const yytype_int16 yycheck[] =
+{
+       0,     0,     0,   339,   347,    24,     0,    26,    27,   395,
+      81,    30,   427,   514,   502,   516,   406,   381,   519,   456,
+     588,   340,   453,   358,   359,   653,   340,   382,   377,   372,
+     363,   395,   368,   691,   385,   376,   385,   695,   375,   394,
+     377,   382,   376,   671,   375,   703,   376,   384,   382,   377,
+     440,   375,   382,   356,   357,   377,   384,   393,   393,   394,
+     379,   425,   426,   385,   450,   398,   481,   376,   483,   403,
+     404,   385,   375,   377,   377,   377,   382,   376,   381,   443,
+     384,   378,   384,   382,   376,   382,   450,   473,   576,   520,
+     382,   365,   366,   367,   368,   369,   370,   371,   372,   373,
+     374,   558,   559,   560,   561,   354,   355,   544,   609,   473,
+     384,   454,   379,   376,   529,   382,   376,   453,   385,   382,
+     456,   376,   382,   340,   514,   382,   516,   382,   385,   519,
+     382,   382,   382,   385,   385,   385,   340,   382,   382,   707,
+     385,   385,   380,   533,   382,   401,   402,   403,   390,   391,
+     392,   387,   393,   389,   360,   361,   382,   383,   382,   383,
+     379,   662,   340,   578,   379,   554,   555,   582,   340,   657,
+     377,   556,   557,   384,   538,   385,   613,   340,   562,   563,
+     376,   375,   377,   340,   520,   340,   395,   551,   552,   553,
+     554,   555,   556,   557,   558,   559,   560,   561,   562,   563,
+     564,   565,   566,   567,   568,   569,   397,   708,   544,   396,
+     600,   601,   546,   362,   364,   385,   378,   385,   385,   609,
+     380,   375,   375,   375,   383,   340,   377,   375,   375,   717,
+     645,   375,   340,   376,   340,   339,   378,   378,   653,   375,
+     375,   379,   382,   340,   376,   378,   380,   376,   385,    25,
+     376,   379,   379,   384,   564,   385,   671,   380,   565,   567,
+     678,   566,   372,   368,   452,   372,   333,   568,   545,   340,
+     685,   569,   662,   648,   624,   703,   690,   613,   704,   366,
+     648,   512,   512,   671,   512,   355,   680,   702,    -1,    -1,
+      -1,    -1,   678,    -1,   684,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   678,    -1,    -1,   653,   708,    -1,
+     339,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   676,    -1,   671,    -1,    -1,    -1,   339,
+      -1,    -1,    -1,    -1,    -1,   339,    -1,   347,    -1,    -1,
+      -1,    -1,    -1,   347,    -1,   355,   355,   355,    -1,    -1,
+      -1,   355,   362,    -1,    -1,    -1,    -1,    -1,   368,    -1,
+      -1,    -1,   372,    -1,   368,    -1,    -1,    -1,   372,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   393,    -1,    -1,    -1,    -1,   398,   393,
+      -1,    -1,    -1,    -1,   398,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   383,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,   398,   399,
-     400,   401,     3,     4,     5,     6,     7,     8,     9,    10,
+      -1,    -1,    -1,   453,   454,    -1,   456,    -1,    -1,   453,
+     454,    -1,   456,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   502,    -1,    -1,    -1,    -1,    -1,   502,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     520,    -1,    -1,    -1,    -1,    -1,   520,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   544,    -1,    -1,    -1,    -1,    -1,
+     544,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   576,    -1,    -1,    -1,
+      -1,    -1,   576,    -1,    -1,    -1,    -1,    -1,   588,    -1,
+      -1,    -1,    -1,    -1,   588,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   613,    -1,    -1,    -1,    -1,    -1,   613,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   648,    -1,
+      -1,    -1,    -1,   653,   648,    -1,    -1,   657,    -1,   653,
+      -1,    -1,    -1,   657,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   671,    -1,    -1,    -1,    -1,   676,   671,    -1,    -1,
+      -1,    -1,   676,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   691,    -1,    -1,    -1,   695,    -1,   691,    -1,    -1,
+      -1,   695,    -1,   703,    -1,    -1,    -1,   707,    -1,   703,
+      -1,    -1,    -1,   707,    -1,    -1,    -1,   717,    -1,    -1,
+      -1,     0,    -1,   717,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
+     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
+     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
+     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
+     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
+     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
+     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
+     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
+     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
+     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
+     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
+     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
+     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
+     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
+     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
+      -1,    -1,   341,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   385,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     399,   400,   401,   402,   403,   404,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,    20,    21,    22,    23,    24,    -1,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
+     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
+     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
+     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
+     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
+     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
+     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
+     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
+     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
+     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
+     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
+     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
+     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
+     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
+     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
+     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
+     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,    -1,    -1,   356,
+     357,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,
+     377,    -1,   379,   380,    -1,    -1,    -1,    -1,   385,   386,
+     387,   388,   389,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   399,   400,   401,   402,   403,   404,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      -1,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
+     345,   346,   347,   348,   349,   350,   351,   352,   353,    -1,
+      -1,   356,   357,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     375,    -1,   377,    -1,   379,   380,    -1,    -1,    -1,    -1,
+     385,   386,   387,   388,   389,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   399,   400,   401,   402,   403,   404,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    24,    -1,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
+     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
+     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
+     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
+     353,    -1,    -1,   356,   357,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   375,    -1,   377,    -1,   379,    -1,    -1,    -1,
+      -1,    -1,   385,   386,   387,   388,   389,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   399,   400,   401,   402,
+     403,   404,     3,     4,     5,     6,     7,     8,     9,    10,
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    33,    34,    35,    36,    37,    38,    39,    40,
+      21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
@@ -2821,53 +2595,134 @@
      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
-     331,   332,   333,   334,   335,   336,    -1,    -1,   339,    -1,
+     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
+     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
+     351,   352,   353,    -1,    -1,   356,   357,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   375,    -1,   377,    -1,   379,    -1,
+      -1,    -1,    -1,    -1,   385,   386,   387,   388,   389,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   399,   400,
+     401,   402,   403,   404,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
+     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
+     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
+     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
+     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
+     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
+     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
+     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
+     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
+     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
+     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
+     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
+     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
+     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
+     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
+     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
+     349,   350,   351,   352,   353,    -1,    -1,   356,   357,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,   377,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   385,   386,   387,   388,
+     389,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     399,   400,   401,   402,   403,   404,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
+     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
+     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
+     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
+     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
+     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
+     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
+     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
+     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
+     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
+     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
+     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
+     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
+     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
+     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
+     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
+     337,   338,    -1,   340,   341,   342,   343,   344,   345,   346,
+     347,   348,   349,   350,   351,   352,   353,    -1,    -1,   356,
+     357,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   385,   386,
+     387,   388,   389,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   399,   400,   401,   402,   403,   404,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+     335,   336,   337,   338,    -1,    -1,   341,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   378,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   397,   398,   399,   400,
-     401,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
-     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
-     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
-     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
-     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
-     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
-     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
-     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
-     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
-     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
-     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
-     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
-     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
-     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
-     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
-     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
-     332,   333,   334,   335,   336,    -1,    -1,   339,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   378,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   397,   398,   399,   400,   401,
+     385,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   399,   400,   401,   402,   403,   404,
        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
       13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -2901,89 +2756,250 @@
      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
-     333,   334,   335,   336,    -1,    -1,   339,    -1,    -1,    -1,
+     333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
+     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
+     353,    -1,    -1,   356,   357,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   386,   387,   388,   389,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   399,   400,   401,   402,
+     403,     3,     4,     5,     6,     7,     8,     9,    10,    11,
+      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    33,    34,    35,    36,    37,    38,    39,    40,    41,
+      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
+     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
+     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
+     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
+     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
+     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
+     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
+     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
+     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
+     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
+     332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   378,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   397,   398,   399,   400,   401,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
-     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
-     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
-     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
-     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
-     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
-     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
-     334,   335,   336,    -1,    -1,   339,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   385,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   399,   400,   401,
+     402,   403,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
+     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
+     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
+     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
+     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
+     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
+     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
+     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
+     331,   332,   333,   334,   335,   336,   337,   338,    -1,    -1,
+     341,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
-       6,     7,     8,     9,    -1,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   397,   398,   399,   400,   401,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   380,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
-     326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
-     336,    -1,   338,   339,   340,   341,   342,   343,   344,   345,
-     346,   347,   348,   349,   350,   351,    -1,    -1,   354,   355,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   399,   400,
+     401,   402,   403,     3,     4,     5,     6,     7,     8,     9,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
+     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
+     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
+     330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
+      -1,   341,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   373,    -1,    -1,
-      -1,   377,   378,    -1,    -1,    -1,    -1,    -1,   384,   385,
-     386,   387,     5,     6,     7,     8,     9,    -1,    11,    12,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     380,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   399,
+     400,   401,   402,   403,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
+     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
+     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
+     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
+     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
+     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
+     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
+     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
+     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
+     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
+     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
+     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
+     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
+     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
+     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
+      -1,    -1,   341,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   380,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     399,   400,   401,   402,   403,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
+     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
+     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
+     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
+     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
+     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
+     338,    -1,    -1,   341,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,     7,
+       8,     9,    -1,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   399,   400,   401,   402,   403,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
+      68,    69,    70,    71,    72,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
+     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
+     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
+     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
+     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
+     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
+     338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
+     348,   349,   350,   351,   352,   353,    -1,    -1,   356,   357,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,
+      -1,   379,   380,    -1,    -1,    -1,    -1,    -1,   386,   387,
+     388,   389,     5,     6,     7,     8,     9,    -1,    11,    12,
       13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    34,    35,    36,    37,    38,    39,    40,    41,    42,
@@ -3016,165 +3032,12 @@
      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
-     333,   334,   335,   336,    -1,   338,   339,   340,   341,   342,
-     343,   344,   345,   346,   347,   348,   349,   350,   351,    -1,
-      -1,   354,   355,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
+     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
+     353,    -1,    -1,   356,   357,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     373,    -1,    -1,   376,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   384,   385,   386,   387,     5,     6,     7,     8,     9,
-      -1,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,    39,
-      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
-      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
-      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
-      70,    71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    99,
-     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
-     120,   121,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   131,   132,   133,   134,   135,   136,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
-     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
-     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
-     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
-     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
-     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
-     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
-     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
-     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
-     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
-     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
-     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
-     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
-     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
-     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
-     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
-     330,   331,   332,   333,   334,   335,   336,    -1,   338,   339,
-     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
-     350,   351,    -1,    -1,   354,   355,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   373,    -1,    -1,    -1,   377,    -1,    -1,
-      -1,    -1,    -1,    -1,   384,   385,   386,   387,     5,     6,
-       7,     8,     9,    -1,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-      67,    68,    69,    70,    71,    72,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    98,    99,   100,   101,   102,   103,   104,   105,   106,
-     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
-     117,   118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   131,   132,   133,   134,   135,   136,
-     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
-     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
-     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
-     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
-     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
-     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
-     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
-     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
-     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
-     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
-     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
-     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
-     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
-     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
-     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
-     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
-      -1,   338,   339,   340,   341,   342,   343,   344,   345,   346,
-     347,   348,   349,   350,   351,    -1,    -1,   354,   355,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   373,    -1,    -1,   376,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   384,   385,   386,
-     387,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
-     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
-     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
-     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
-     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
-     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
-     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
-     334,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
-     344,   345,   346,   347,   348,   349,   350,   351,    -1,    -1,
-     354,   355,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   373,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   383,
-     384,   385,   386,   387,     5,     6,     7,     8,     9,    -1,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
-     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
-     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
-     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
-     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
-     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
-     331,   332,   333,   334,   335,   336,    -1,   338,   339,   340,
-     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
-     351,    -1,    -1,   354,   355,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   373,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   384,   385,   386,   387,     5,     6,     7,
+      -1,    -1,   375,    -1,    -1,   378,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   386,   387,   388,   389,     5,     6,     7,
        8,     9,    -1,    11,    12,    13,    14,    15,    16,    17,
       18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,    37,
@@ -3207,46 +3070,200 @@
      298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
      308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
-     328,   329,   330,   331,   332,   333,   334,   335,   336,    -1,
-     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
-     348,   349,   350,   351,    -1,    -1,   354,   355,    -1,    -1,
+     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
+     338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
+     348,   349,   350,   351,   352,   353,    -1,    -1,   356,   357,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   373,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   384,   385,   386,   387,
-       5,     6,     7,     8,     9,    -1,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
-      65,    66,    67,    68,    69,    70,    71,    72,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,
+      -1,   379,    -1,    -1,    -1,    -1,    -1,    -1,   386,   387,
+     388,   389,     5,     6,     7,     8,     9,    -1,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
+     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
+     333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
+     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
+     353,    -1,    -1,   356,   357,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   375,    -1,    -1,   378,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   386,   387,   388,   389,     5,     6,     7,
+       8,     9,    -1,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
+      68,    69,    70,    71,    72,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
+     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
+     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
+     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
+     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
+     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
+     338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
+     348,   349,   350,   351,   352,   353,    -1,    -1,   356,   357,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   385,   386,   387,
+     388,   389,     5,     6,     7,     8,     9,    -1,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
+     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
+     333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
+     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
+     353,    -1,    -1,   356,   357,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   386,   387,   388,   389,     5,     6,     7,
+       8,     9,    -1,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
+      68,    69,    70,    71,    72,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
+     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
+     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
+     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
+     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
+     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
+     338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
+     348,   349,   350,   351,   352,   353,    -1,    -1,   356,   357,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   386,   387,
+     388,   389,     5,     6,     7,     8,     9,    -1,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    98,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
-     115,   116,   117,   118,   119,   120,   121,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   131,   132,   133,   134,
-     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
-     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
-     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
-     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
-     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
-     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
-     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
-     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
-     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
-     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
-     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
-     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
-     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
-     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
-     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
-     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
-     335,   336,    -1,    -1,   339
+      -1,    -1,    -1,    -1,    -1,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
+     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
+     333,   334,   335,   336,   337,   338,    -1,    -1,   341
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -3285,109 +3302,110 @@
      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
-     333,   334,   335,   336,   339,   383,   397,   398,   399,   400,
-     401,   402,   437,   438,   441,   442,   443,   444,   448,   449,
-     450,   451,   452,   453,   456,   457,   458,   459,   460,   462,
-     464,   465,   466,   506,   507,   508,   373,   373,   338,   377,
-     465,   338,   383,   383,   509,   374,   380,   445,   446,   447,
-     457,   462,   380,   383,   338,   338,   383,   458,   462,   375,
-     463,     0,   507,   338,   461,    81,   338,   454,   455,   377,
-     468,   462,   383,   463,   377,   485,   446,   445,   447,   338,
-     338,   373,   382,   463,   377,   380,   383,   440,   338,   340,
-     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
-     351,   354,   355,   373,   376,   384,   385,   386,   387,   407,
-     408,   409,   411,   412,   413,   414,   415,   416,   417,   418,
-     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
-     429,   430,   431,   460,   462,   375,   374,   380,   382,   374,
-     380,   467,   457,   462,   469,   470,   383,   383,    22,    23,
-      24,    26,    27,    28,    29,    30,    31,    32,   337,   375,
-     377,   378,   383,   418,   431,   433,   435,   437,   441,   460,
-     462,   475,   476,   477,   478,   486,   487,   488,   489,   492,
-     493,   496,   497,   498,   505,   510,   463,   382,   463,   377,
-     433,   473,   382,   439,   338,   380,   383,   418,   418,   435,
-     354,   355,   375,   379,   374,   374,   380,   336,   433,   373,
-     418,   388,   389,   390,   385,   387,   352,   353,   356,   357,
-     391,   392,   358,   359,   395,   394,   393,   360,   362,   361,
-     396,   376,   376,   431,   338,   431,   436,   455,   469,   462,
-     338,   471,   472,   378,   470,   383,   383,   500,   373,   373,
-     383,   383,   435,   373,   435,   381,   373,   375,   378,   479,
-     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
-     382,   434,   380,   383,   378,   476,   489,   493,   498,   473,
-     382,   473,   474,   473,   469,   338,   374,   410,   435,   338,
-     433,   418,   418,   418,   420,   420,   421,   421,   422,   422,
-     422,   422,   423,   423,   424,   425,   426,   427,   428,   429,
-     432,   376,   378,   471,   463,   380,   383,   476,   501,   435,
-     383,   435,   381,   499,   338,   511,   512,   486,   433,   433,
-     473,   378,   380,   378,   376,   435,   383,   472,   337,   475,
-     487,   502,   374,   374,   435,   450,   457,   491,   373,   376,
-     380,   480,   378,   473,   381,   373,   491,   503,   504,   482,
-     483,   484,   490,   494,   338,   374,   436,   376,   512,   378,
-     433,   435,   383,   374,    25,   478,   477,   377,   382,   477,
-     481,   485,   374,   374,   435,   481,   482,   486,   495,   473,
-     383,   378
+     333,   334,   335,   336,   337,   338,   341,   385,   399,   400,
+     401,   402,   403,   404,   439,   440,   443,   444,   445,   446,
+     450,   451,   452,   453,   454,   455,   458,   459,   460,   461,
+     462,   464,   469,   470,   471,   511,   512,   513,   375,   375,
+     340,   379,   470,   340,   385,   385,   514,   376,   382,   447,
+     448,   449,   459,   464,   382,   385,   340,   340,   385,   460,
+     464,   393,   466,   467,     0,   512,   340,   463,    81,   340,
+     456,   457,   379,   473,   464,   377,   385,   465,   379,   490,
+     448,   447,   449,   340,   340,   375,   384,   465,   379,   382,
+     385,   442,   340,   342,   343,   344,   345,   346,   347,   348,
+     349,   350,   351,   352,   353,   356,   357,   375,   386,   387,
+     388,   389,   409,   410,   411,   413,   414,   415,   416,   417,
+     418,   419,   420,   421,   462,   464,   468,   465,   376,   382,
+     384,   376,   382,   472,   459,   464,   474,   475,   385,   378,
+     420,   422,   423,   424,   425,   426,   427,   428,   429,   430,
+     431,   432,   433,   377,   385,    22,    23,    24,    26,    27,
+      28,    29,    30,    31,    32,   339,   377,   379,   380,   385,
+     420,   433,   435,   437,   439,   443,   462,   464,   480,   481,
+     482,   483,   491,   492,   493,   494,   497,   498,   501,   502,
+     503,   510,   515,   465,   384,   465,   379,   435,   478,   384,
+     441,   340,   382,   385,   420,   420,   437,   356,   357,   377,
+     381,   376,   376,   382,   338,   435,   375,   420,   382,   394,
+     340,   433,   438,   457,   474,   464,   340,   476,   477,   380,
+     475,   390,   391,   392,   387,   389,   354,   355,   358,   359,
+     393,   394,   360,   361,   397,   396,   395,   362,   364,   363,
+     398,   378,   378,   433,   385,   385,   505,   375,   375,   385,
+     385,   437,   375,   437,   383,   375,   377,   380,   484,   365,
+     366,   367,   368,   369,   370,   371,   372,   373,   374,   384,
+     436,   382,   385,   380,   481,   494,   498,   503,   478,   384,
+     478,   479,   478,   474,   340,   376,   412,   437,   340,   435,
+     420,   380,   476,   465,   382,   385,   420,   420,   420,   422,
+     422,   423,   423,   424,   424,   424,   424,   425,   425,   426,
+     427,   428,   429,   430,   431,   434,   378,   481,   506,   437,
+     385,   437,   383,   504,   340,   516,   517,   491,   435,   435,
+     478,   380,   382,   380,   378,   385,   477,   437,   339,   480,
+     492,   507,   376,   376,   437,   452,   459,   496,   375,   378,
+     382,   485,   380,   478,   383,   375,   496,   508,   509,   487,
+     488,   489,   495,   499,   340,   376,   438,   378,   517,   380,
+     435,   437,   385,   376,    25,   483,   482,   379,   384,   482,
+     486,   490,   376,   376,   437,   486,   487,   491,   500,   478,
+     385,   380
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint16 yyr1[] =
 {
-       0,   406,   407,   408,   408,   408,   408,   408,   408,   408,
-     408,   408,   408,   408,   408,   408,   408,   409,   409,   409,
-     409,   409,   409,   410,   411,   412,   413,   413,   414,   414,
-     415,   415,   416,   417,   417,   417,   418,   418,   418,   418,
-     419,   419,   419,   419,   420,   420,   420,   420,   421,   421,
-     421,   422,   422,   422,   423,   423,   423,   423,   423,   424,
-     424,   424,   425,   425,   426,   426,   427,   427,   428,   428,
-     429,   429,   430,   430,   431,   432,   431,   433,   433,   434,
-     434,   434,   434,   434,   434,   434,   434,   434,   434,   434,
-     435,   435,   436,   437,   437,   437,   437,   437,   437,   437,
-     437,   437,   439,   438,   440,   440,   441,   442,   442,   443,
-     443,   444,   445,   445,   446,   446,   446,   446,   447,   448,
-     448,   448,   448,   448,   449,   449,   449,   449,   449,   450,
-     450,   451,   452,   452,   452,   452,   452,   452,   452,   452,
-     453,   454,   454,   455,   455,   455,   456,   457,   457,   458,
-     458,   458,   458,   458,   458,   458,   459,   459,   459,   459,
-     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
-     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
-     459,   459,   459,   459,   459,   460,   461,   461,   462,   462,
-     463,   463,   463,   463,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     464,   464,   464,   464,   464,   464,   464,   464,   464,   464,
-     465,   465,   465,   467,   466,   468,   466,   469,   469,   470,
-     470,   471,   471,   472,   472,   473,   473,   473,   474,   474,
-     475,   476,   476,   477,   477,   477,   477,   477,   477,   477,
-     478,   479,   480,   478,   481,   481,   483,   482,   484,   482,
-     485,   485,   486,   486,   487,   487,   488,   488,   489,   490,
-     490,   491,   491,   492,   492,   494,   493,   495,   495,   496,
-     496,   497,   497,   499,   498,   500,   498,   501,   498,   502,
-     502,   503,   503,   504,   504,   505,   505,   505,   505,   505,
-     506,   506,   507,   507,   507,   509,   508,   510,   511,   511,
-     512,   512
+       0,   408,   409,   410,   410,   410,   410,   410,   410,   410,
+     410,   410,   410,   410,   410,   410,   410,   411,   411,   411,
+     411,   411,   411,   412,   413,   414,   415,   415,   416,   416,
+     417,   417,   418,   419,   419,   419,   420,   420,   420,   420,
+     421,   421,   421,   421,   422,   422,   422,   422,   423,   423,
+     423,   424,   424,   424,   425,   425,   425,   425,   425,   426,
+     426,   426,   427,   427,   428,   428,   429,   429,   430,   430,
+     431,   431,   432,   432,   433,   434,   433,   435,   435,   436,
+     436,   436,   436,   436,   436,   436,   436,   436,   436,   436,
+     437,   437,   438,   439,   439,   439,   439,   439,   439,   439,
+     439,   439,   441,   440,   442,   442,   443,   444,   444,   445,
+     445,   446,   447,   447,   448,   448,   448,   448,   449,   450,
+     450,   450,   450,   450,   451,   451,   451,   451,   451,   452,
+     452,   453,   454,   454,   454,   454,   454,   454,   454,   454,
+     455,   456,   456,   457,   457,   457,   458,   459,   459,   460,
+     460,   460,   460,   460,   460,   460,   461,   461,   461,   461,
+     461,   461,   461,   461,   461,   461,   461,   461,   461,   461,
+     461,   461,   461,   461,   461,   461,   461,   461,   461,   461,
+     461,   461,   461,   461,   461,   462,   463,   463,   464,   464,
+     465,   465,   465,   465,   466,   466,   467,   468,   468,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
+     469,   469,   469,   469,   469,   469,   469,   470,   470,   470,
+     472,   471,   473,   471,   474,   474,   475,   475,   476,   476,
+     477,   477,   478,   478,   478,   479,   479,   480,   481,   481,
+     482,   482,   482,   482,   482,   482,   482,   483,   484,   485,
+     483,   486,   486,   488,   487,   489,   487,   490,   490,   491,
+     491,   492,   492,   493,   493,   494,   495,   495,   496,   496,
+     497,   497,   499,   498,   500,   500,   501,   501,   502,   502,
+     504,   503,   505,   503,   506,   503,   507,   507,   508,   508,
+     509,   509,   510,   510,   510,   510,   510,   511,   511,   512,
+     512,   512,   514,   513,   515,   516,   516,   517,   517
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -3411,8 +3429,8 @@
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     4,     1,     1,     3,     1,     2,
-       2,     3,     3,     4,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     4,     1,     1,     3,     2,     3,
+       2,     3,     3,     4,     1,     0,     3,     1,     3,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
@@ -3441,16 +3459,16 @@
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     0,     6,     0,     5,     1,     2,     3,
-       4,     1,     3,     1,     2,     1,     3,     4,     1,     3,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       2,     0,     0,     5,     1,     1,     0,     2,     0,     2,
-       2,     3,     1,     2,     1,     2,     1,     2,     5,     3,
-       1,     1,     4,     1,     2,     0,     8,     0,     1,     3,
-       2,     1,     2,     0,     6,     0,     8,     0,     7,     1,
-       1,     1,     0,     2,     3,     2,     2,     2,     3,     2,
-       1,     2,     1,     1,     1,     0,     3,     5,     1,     3,
-       1,     4
+       0,     6,     0,     5,     1,     2,     3,     4,     1,     3,
+       1,     2,     1,     3,     4,     1,     3,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     2,     0,     0,
+       5,     1,     1,     0,     2,     0,     2,     2,     3,     1,
+       2,     1,     2,     1,     2,     5,     3,     1,     1,     4,
+       1,     2,     0,     8,     0,     1,     3,     2,     1,     2,
+       0,     6,     0,     8,     0,     7,     1,     1,     1,     0,
+       2,     3,     2,     2,     2,     3,     2,     1,     2,     1,
+       1,     1,     0,     3,     5,     1,     3,     1,     4
 };
 
 
@@ -4133,250 +4151,250 @@
   switch (yyn)
     {
         case 2:
-#line 294 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 302 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);
     }
-#line 4141 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4159 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 3:
-#line 300 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 308 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 4:
-#line 303 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
-    }
-#line 4158 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 5:
-#line 307 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
-    }
 #line 4167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 6:
+  case 4:
 #line 311 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
     }
-#line 4175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4176 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 7:
-#line 314 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 5:
+#line 315 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
     }
-#line 4184 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4185 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 8:
-#line 318 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 6:
+#line 319 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true);
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
     }
 #line 4193 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 9:
+  case 7:
 #line 322 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true);
+        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
     }
 #line 4202 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 10:
+  case 8:
 #line 326 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true);
     }
 #line 4211 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 11:
+  case 9:
 #line 330 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true);
     }
 #line 4220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 12:
+  case 10:
 #line 334 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
+    }
+#line 4229 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 11:
+#line 338 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
+    }
+#line 4238 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 12:
+#line 342 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
     }
-#line 4228 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 13:
-#line 337 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true);
-    }
-#line 4237 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 14:
-#line 341 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
-    }
 #line 4246 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 15:
+  case 13:
 #line 345 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true);
+    }
+#line 4255 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 14:
+#line 349 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
+    }
+#line 4264 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 15:
+#line 353 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
     }
-#line 4254 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 16:
-#line 348 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 356 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
         if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
             (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
     }
-#line 4264 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 17:
-#line 356 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 364 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4290 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 18:
-#line 359 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 367 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
     }
-#line 4280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 19:
-#line 362 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 370 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4288 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4306 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 20:
-#line 365 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 373 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
     }
-#line 4296 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 21:
-#line 368 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 376 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
         parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 4306 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4324 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 22:
-#line 373 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 381 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
         parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 4316 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4334 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 23:
-#line 381 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 389 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 24:
-#line 388 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 396 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode);
         delete (yyvsp[0].interm).function;
     }
-#line 4334 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4352 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 25:
-#line 395 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 403 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
     }
-#line 4342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 26:
-#line 401 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm) = (yyvsp[-1].interm);
-        (yyval.interm).loc = (yyvsp[0].lex).loc;
-    }
-#line 4351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 27:
-#line 405 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm) = (yyvsp[-1].interm);
-        (yyval.interm).loc = (yyvsp[0].lex).loc;
-    }
 #line 4360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
+  case 26:
+#line 409 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm) = (yyvsp[-1].interm);
+        (yyval.interm).loc = (yyvsp[0].lex).loc;
+    }
+#line 4369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 27:
+#line 413 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm) = (yyvsp[-1].interm);
+        (yyval.interm).loc = (yyvsp[0].lex).loc;
+    }
+#line 4378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
   case 28:
-#line 412 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 420 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-1].interm);
     }
-#line 4368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4386 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 29:
-#line 415 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 423 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
     }
-#line 4376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4394 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 30:
-#line 421 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 429 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TParameter param = { 0, new TType };
         param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -4384,11 +4402,11 @@
         (yyval.interm).function = (yyvsp[-1].interm).function;
         (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4388 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4406 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 31:
-#line 428 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 436 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TParameter param = { 0, new TType };
         param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -4396,29 +4414,29 @@
         (yyval.interm).function = (yyvsp[-2].interm).function;
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
     }
-#line 4400 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 32:
-#line 438 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 446 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-1].interm);
     }
-#line 4408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 33:
-#line 446 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 454 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // Constructor
         (yyval.interm).intermNode = 0;
         (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
     }
-#line 4418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 34:
-#line 451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 459 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //
         // Should be a method or subroutine call, but we haven't recognized the arguments yet.
@@ -4442,54 +4460,54 @@
 
         if ((yyval.interm).function == 0) {
             // error recover
-            TString empty("");
-            (yyval.interm).function = new TFunction(&empty, TType(EbtVoid), EOpNull);
+            TString* empty = NewPoolTString("");
+            (yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull);
         }
     }
-#line 4450 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4468 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 35:
-#line 478 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 486 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // Constructor
         (yyval.interm).intermNode = 0;
         (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
     }
-#line 4460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 36:
-#line 486 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 494 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.variableCheck((yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode())
             parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), "");
     }
-#line 4471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 37:
-#line 492 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 500 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode));
     }
-#line 4480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4498 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 38:
-#line 496 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 504 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode));
     }
-#line 4489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 39:
-#line 500 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 508 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm).op != EOpNull) {
             char errorOp[2] = {0, 0};
@@ -4506,318 +4524,320 @@
                 (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
         }
     }
-#line 4510 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 40:
-#line 520 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
-#line 4516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 41:
-#line 521 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
-#line 4522 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 42:
-#line 522 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
 #line 4528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
+  case 40:
+#line 528 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
+#line 4534 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 41:
+#line 529 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
+#line 4540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 42:
+#line 530 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
+#line 4546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
   case 43:
-#line 523 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 531 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;
               parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }
-#line 4535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4553 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 44:
-#line 529 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 537 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4559 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 45:
-#line 530 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 538 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "*", EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4569 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 46:
-#line 535 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 543 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "/", EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4561 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4579 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 47:
-#line 540 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 548 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "%");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "%", EOpMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4572 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 48:
-#line 549 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 557 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 49:
-#line 550 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 558 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "+", EOpAdd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 50:
-#line 555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 563 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "-", EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4598 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4616 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 51:
-#line 563 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 571 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 52:
-#line 564 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 572 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift left");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<<", EOpLeftShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4615 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 53:
-#line 570 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 578 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift right");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">>", EOpRightShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4644 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 54:
-#line 579 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 587 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 55:
-#line 580 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 588 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<", EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 56:
-#line 585 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 593 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">", EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 57:
-#line 590 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 598 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<=", EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 58:
-#line 595 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 603 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">=", EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 59:
-#line 603 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 611 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4696 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 60:
-#line 604 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 612 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
         parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
         parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
+        parseContext.referenceCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "==", EOpEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 61:
-#line 612 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 621 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
         parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
         parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
+        parseContext.referenceCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "!=", EOpNotEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4704 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 62:
-#line 623 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 633 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 63:
-#line 624 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 634 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise and");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&", EOpAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4721 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 64:
-#line 633 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 643 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4727 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4747 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 65:
-#line 634 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 644 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise exclusive or");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^", EOpExclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4758 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 66:
-#line 643 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 653 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4744 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 67:
-#line 644 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 654 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise inclusive or");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "|", EOpInclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4755 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4775 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 68:
-#line 653 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 663 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4761 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4781 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 69:
-#line 654 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 664 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&&", EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4791 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 70:
-#line 662 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 672 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 71:
-#line 663 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 673 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^^", EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4787 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4807 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 72:
-#line 671 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 681 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4813 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 73:
-#line 672 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 682 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "||", EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 74:
-#line 680 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 690 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 75:
-#line 681 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 691 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         ++parseContext.controlFlowNestingLevel;
     }
-#line 4817 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4837 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 76:
-#line 684 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 694 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         --parseContext.controlFlowNestingLevel;
         parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode));
@@ -4830,17 +4850,17 @@
             (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         }
     }
-#line 4834 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 77:
-#line 699 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 709 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4840 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4860 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 78:
-#line 700 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 710 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment");
         parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
@@ -4854,119 +4874,119 @@
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
         }
     }
-#line 4858 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4878 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 79:
-#line 716 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 726 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpAssign;
     }
-#line 4867 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 80:
-#line 720 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 730 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpMulAssign;
     }
-#line 4876 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 81:
-#line 724 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 734 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpDivAssign;
     }
-#line 4885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 82:
-#line 728 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 738 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpModAssign;
     }
-#line 4895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 83:
-#line 733 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 743 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpAddAssign;
     }
-#line 4904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 84:
-#line 737 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 747 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpSubAssign;
     }
-#line 4913 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4933 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 85:
-#line 741 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 751 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;
     }
-#line 4922 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 86:
-#line 745 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 755 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;
     }
-#line 4931 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 87:
-#line 749 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 759 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
     }
-#line 4940 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4960 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 88:
-#line 753 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 763 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
     }
-#line 4949 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4969 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 89:
-#line 757 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 767 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
     }
-#line 4958 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4978 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 90:
-#line 764 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 774 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4986 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 91:
-#line 767 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 777 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
@@ -4975,40 +4995,40 @@
             (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         }
     }
-#line 4979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 92:
-#line 778 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 788 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 93:
-#line 785 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 795 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);
         (yyval.interm.intermNode) = 0;
         // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
     }
-#line 4998 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5018 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 94:
-#line 790 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 800 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm).intermNode && (yyvsp[-1].interm).intermNode->getAsAggregate())
             (yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence);
         (yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode;
     }
-#line 5008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 95:
-#line 795 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 805 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement");
 
@@ -5017,75 +5037,75 @@
         parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
         (yyval.interm.intermNode) = 0;
     }
-#line 5021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5041 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 96:
-#line 803 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 813 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
         (yyval.interm.intermNode) = 0;
     }
-#line 5030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 97:
-#line 807 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 817 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
         (yyval.interm.intermNode) = 0;
     }
-#line 5039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 98:
-#line 811 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 821 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);
         (yyval.interm.intermNode) = 0;
     }
-#line 5048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 99:
-#line 815 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
-        parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
-        (yyval.interm.intermNode) = 0;
-    }
-#line 5058 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 100:
-#line 820 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);
-        parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
-        (yyval.interm.intermNode) = 0;
-    }
 #line 5068 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 101:
+  case 99:
 #line 825 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
+        parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
+        (yyval.interm.intermNode) = 0;
+    }
+#line 5078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 100:
+#line 830 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);
+        parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
+        (yyval.interm.intermNode) = 0;
+    }
+#line 5088 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 101:
+#line 835 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
         parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers);
         (yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string);
         parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));
         (yyval.interm.intermNode) = 0;
     }
-#line 5079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5099 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 102:
-#line 834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 844 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
-#line 5085 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5105 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 103:
-#line 834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 844 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         --parseContext.structNestingLevel;
         parseContext.blockName = (yyvsp[-4].lex).string;
@@ -5095,54 +5115,54 @@
         (yyval.interm).loc = (yyvsp[-5].interm.type).loc;
         (yyval.interm).typeList = (yyvsp[-1].interm.typeList);
     }
-#line 5099 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5119 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 104:
-#line 845 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 855 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.identifierList) = new TIdentifierList;
         (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
     }
-#line 5108 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 105:
-#line 849 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 859 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
         (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
     }
-#line 5117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5137 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 106:
-#line 856 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 866 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).function = (yyvsp[-1].interm.function);
         (yyval.interm).loc = (yyvsp[0].lex).loc;
     }
-#line 5126 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5146 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 107:
-#line 863 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 873 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.function) = (yyvsp[0].interm.function);
     }
-#line 5134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5154 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 108:
-#line 866 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 876 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.function) = (yyvsp[0].interm.function);
     }
-#line 5142 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5162 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 109:
-#line 873 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 883 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // Add the parameter
         (yyval.interm.function) = (yyvsp[-1].interm.function);
@@ -5151,11 +5171,11 @@
         else
             delete (yyvsp[0].interm).param.type;
     }
-#line 5155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 110:
-#line 881 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 891 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //
         // Only first parameter of one-parameter functions can be void
@@ -5173,11 +5193,11 @@
             (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
         }
     }
-#line 5177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5197 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 111:
-#line 901 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 911 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) {
             parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return",
@@ -5197,11 +5217,11 @@
         function = new TFunction((yyvsp[-1].lex).string, type);
         (yyval.interm.function) = function;
     }
-#line 5201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 112:
-#line 924 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 934 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm.type).arraySizes) {
             parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -5217,11 +5237,11 @@
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).param = param;
     }
-#line 5221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5241 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 113:
-#line 939 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 949 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.type).arraySizes) {
             parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -5241,11 +5261,11 @@
         (yyval.interm).loc = (yyvsp[-1].lex).loc;
         (yyval.interm).param = param;
     }
-#line 5245 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 114:
-#line 964 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 974 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
         if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -5257,11 +5277,11 @@
         parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
 
     }
-#line 5261 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5281 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 115:
-#line 975 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 985 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
 
@@ -5269,11 +5289,11 @@
         parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
         parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
     }
-#line 5273 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 116:
-#line 985 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 995 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
         if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -5284,11 +5304,11 @@
         parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
         parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
     }
-#line 5288 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5308 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 117:
-#line 995 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1005 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
 
@@ -5296,118 +5316,118 @@
         parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
         parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
     }
-#line 5300 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 118:
-#line 1005 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1015 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TParameter param = { 0, new TType((yyvsp[0].interm.type)) };
         (yyval.interm).param = param;
         if ((yyvsp[0].interm.type).arraySizes)
             parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes);
     }
-#line 5311 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 119:
-#line 1014 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1024 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
     }
-#line 5319 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5339 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 120:
-#line 1017 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1027 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-2].interm);
         parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);
     }
-#line 5328 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 121:
-#line 1021 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1031 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-3].interm);
         parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes);
     }
-#line 5337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 122:
-#line 1025 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1035 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-5].interm).type;
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
     }
-#line 5347 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 123:
-#line 1030 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1040 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-4].interm).type;
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
     }
-#line 5357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 124:
-#line 1038 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1048 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[0].interm.type);
         (yyval.interm).intermNode = 0;
         parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);
     }
-#line 5367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 125:
-#line 1043 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1053 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-1].interm.type);
         (yyval.interm).intermNode = 0;
         parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type));
     }
-#line 5377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 126:
-#line 1048 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1058 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-2].interm.type);
         (yyval.interm).intermNode = 0;
         parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes);
     }
-#line 5387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5407 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 127:
-#line 1053 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1063 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-4].interm.type);
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
     }
-#line 5397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 128:
-#line 1058 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1068 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-3].interm.type);
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
     }
-#line 5407 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5427 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 129:
-#line 1067 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1077 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
 
@@ -5419,11 +5439,11 @@
 
         parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
     }
-#line 5423 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 130:
-#line 1078 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1088 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
         parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));
@@ -5448,22 +5468,22 @@
              (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
             (yyval.interm.type).qualifier.smooth = true;
     }
-#line 5452 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5472 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 131:
-#line 1105 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1115 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "invariant");
         parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.invariant = true;
     }
-#line 5463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5483 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 132:
-#line 1114 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1124 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
@@ -5471,11 +5491,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.smooth = true;
     }
-#line 5475 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5495 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 133:
-#line 1121 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1131 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
@@ -5483,11 +5503,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.flat = true;
     }
-#line 5487 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 134:
-#line 1128 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1138 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");
 #ifdef NV_EXTENSIONS
@@ -5499,11 +5519,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.nopersp = true;
     }
-#line 5503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5523 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 135:
-#line 1139 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1149 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");
@@ -5513,11 +5533,11 @@
         (yyval.interm.type).qualifier.explicitInterp = true;
 #endif
     }
-#line 5517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5537 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 136:
-#line 1148 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1158 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef NV_EXTENSIONS
         parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexNV");
@@ -5528,11 +5548,11 @@
         (yyval.interm.type).qualifier.pervertexNV = true;
 #endif
     }
-#line 5532 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5552 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 137:
-#line 1158 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1168 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef NV_EXTENSIONS
         // No need for profile version or extension check. Shader stage already checks both.
@@ -5545,11 +5565,11 @@
         (yyval.interm.type).qualifier.perPrimitiveNV = true;
 #endif
     }
-#line 5549 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5569 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 138:
-#line 1170 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1180 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef NV_EXTENSIONS
         // No need for profile version or extension check. Shader stage already checks both.
@@ -5559,11 +5579,11 @@
         (yyval.interm.type).qualifier.perViewNV = true;
 #endif
     }
-#line 5563 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5583 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 139:
-#line 1179 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1189 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef NV_EXTENSIONS
         // No need for profile version or extension check. Shader stage already checks both.
@@ -5573,84 +5593,84 @@
         (yyval.interm.type).qualifier.perTaskNV = true;
 #endif
     }
-#line 5577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 140:
-#line 1191 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1201 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[-1].interm.type);
     }
-#line 5585 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5605 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 141:
-#line 1197 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1207 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5593 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 142:
-#line 1200 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1210 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[-2].interm.type);
         (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
         parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
     }
-#line 5603 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5623 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 143:
-#line 1207 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1217 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string);
     }
-#line 5612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 144:
-#line 1211 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1221 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[-2].lex).loc);
         parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode));
     }
-#line 5621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5641 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 145:
-#line 1215 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1225 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { // because "shared" is both an identifier and a keyword
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         TString strShared("shared");
         parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared);
     }
-#line 5631 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5651 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 146:
-#line 1223 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1233 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise");
         parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.noContraction = true;
     }
-#line 5642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 147:
-#line 1232 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1242 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 148:
-#line 1235 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1245 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[-1].interm.type);
         if ((yyval.interm.type).basicType == EbtVoid)
@@ -5659,80 +5679,80 @@
         (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
         parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
     }
-#line 5663 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5683 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 149:
-#line 1246 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1256 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5671 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 150:
-#line 1249 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1259 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5679 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 151:
-#line 1252 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1262 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5688 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5708 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 152:
-#line 1256 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1266 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // allow inheritance of storage qualifier from block declaration
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 153:
-#line 1260 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1270 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // allow inheritance of storage qualifier from block declaration
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5706 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 154:
-#line 1264 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1274 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // allow inheritance of storage qualifier from block declaration
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5715 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5735 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 155:
-#line 1268 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1278 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5743 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 156:
-#line 1274 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1284 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqConst;  // will later turn into EvqConstReadOnly, if the initializer is not constant
     }
-#line 5732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5752 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 157:
-#line 1278 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1288 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
@@ -5745,11 +5765,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqVaryingIn;
     }
-#line 5749 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 158:
-#line 1290 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1300 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
@@ -5764,43 +5784,43 @@
         else
             (yyval.interm.type).qualifier.storage = EvqVaryingIn;
     }
-#line 5768 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 159:
-#line 1304 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1314 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "inout");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqInOut;
     }
-#line 5778 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5798 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 160:
-#line 1309 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1319 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "in");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later
         (yyval.interm.type).qualifier.storage = EvqIn;
     }
-#line 5789 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 161:
-#line 1315 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1325 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "out");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later
         (yyval.interm.type).qualifier.storage = EvqOut;
     }
-#line 5800 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 162:
-#line 1321 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1331 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");
         parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");
@@ -5808,52 +5828,52 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.centroid = true;
     }
-#line 5812 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 163:
-#line 1328 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1338 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "patch");
         parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.patch = true;
     }
-#line 5823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5843 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 164:
-#line 1334 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1344 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "sample");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.sample = true;
     }
-#line 5833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 165:
-#line 1339 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1349 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "uniform");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqUniform;
     }
-#line 5843 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 166:
-#line 1344 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1354 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "buffer");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqBuffer;
     }
-#line 5853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5873 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 167:
-#line 1349 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1359 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef NV_EXTENSIONS
         parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV");
@@ -5864,11 +5884,11 @@
         (yyval.interm.type).qualifier.storage = EvqHitAttrNV;
 #endif
     }
-#line 5868 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5888 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 168:
-#line 1359 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef NV_EXTENSIONS
         parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNV");
@@ -5879,11 +5899,11 @@
         (yyval.interm.type).qualifier.storage = EvqPayloadNV;
 #endif
     }
-#line 5883 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5903 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 169:
-#line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1379 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef NV_EXTENSIONS
         parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNV");
@@ -5894,11 +5914,11 @@
         (yyval.interm.type).qualifier.storage = EvqPayloadInNV;
 #endif
     }
-#line 5898 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 170:
-#line 1379 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1389 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef NV_EXTENSIONS
         parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataNV");
@@ -5909,11 +5929,11 @@
         (yyval.interm.type).qualifier.storage = EvqCallableDataNV;
 #endif
     }
-#line 5913 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5933 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 171:
-#line 1389 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1399 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef NV_EXTENSIONS
         parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInNV");
@@ -5923,11 +5943,11 @@
         (yyval.interm.type).qualifier.storage = EvqCallableDataInNV;
 #endif
     }
-#line 5927 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5947 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 172:
-#line 1398 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1408 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "shared");
         parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");
@@ -5940,1703 +5960,1753 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqShared;
     }
-#line 5944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5964 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 173:
-#line 1410 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1420 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.coherent = true;
     }
-#line 5953 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 174:
-#line 1414 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1424 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent");
         (yyval.interm.type).qualifier.devicecoherent = true;
     }
-#line 5963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 175:
-#line 1419 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1429 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent");
         (yyval.interm.type).qualifier.queuefamilycoherent = true;
     }
-#line 5973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5993 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 176:
-#line 1424 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1434 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent");
         (yyval.interm.type).qualifier.workgroupcoherent = true;
     }
-#line 5983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6003 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 177:
-#line 1429 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1439 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent");
         (yyval.interm.type).qualifier.subgroupcoherent = true;
     }
-#line 5993 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6013 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 178:
-#line 1434 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1444 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate");
         (yyval.interm.type).qualifier.nonprivate = true;
     }
-#line 6003 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6023 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 179:
-#line 1439 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1449 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.volatil = true;
     }
-#line 6012 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6032 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 180:
-#line 1443 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1453 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.restrict = true;
     }
-#line 6021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6041 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 181:
-#line 1447 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1457 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.readonly = true;
     }
-#line 6030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 182:
-#line 1451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1461 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.writeonly = true;
     }
-#line 6039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 183:
-#line 1455 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1465 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");
         parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");
         parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
     }
-#line 6050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 184:
-#line 1461 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1471 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");
         parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");
         parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");
         (yyval.interm.type).init((yyvsp[-3].lex).loc);
     }
-#line 6061 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 185:
-#line 1470 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1480 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.nonUniform = true;
     }
-#line 6070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 186:
-#line 1477 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1487 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // TODO
     }
-#line 6078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6098 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 187:
-#line 1480 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1490 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // TODO: 4.0 semantics: subroutines
         // 1) make sure each identifier is a type declared earlier with SUBROUTINE
         // 2) save all of the identifiers for future comparison with the declared function
     }
-#line 6088 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 188:
-#line 1488 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type) = (yyvsp[0].interm.type);
-        (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
-    }
-#line 6097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 189:
-#line 1492 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);
-        (yyval.interm.type) = (yyvsp[-1].interm.type);
-        (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
-        (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
-    }
 #line 6108 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
+  case 188:
+#line 1498 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type) = (yyvsp[-1].interm.type);
+        (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
+        (yyval.interm.type).typeParameters = (yyvsp[0].interm.typeParameters);
+    }
+#line 6118 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 189:
+#line 1503 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);
+        (yyval.interm.type) = (yyvsp[-2].interm.type);
+        (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
+        (yyval.interm.type).typeParameters = (yyvsp[-1].interm.typeParameters);
+        (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
+    }
+#line 6130 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
   case 190:
-#line 1501 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1513 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[-1].lex).loc;
         (yyval.interm).arraySizes = new TArraySizes;
         (yyval.interm).arraySizes->addInnerSize();
     }
-#line 6118 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 191:
-#line 1506 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1518 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[-2].lex).loc;
         (yyval.interm).arraySizes = new TArraySizes;
 
         TArraySize size;
-        parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
+        parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
         (yyval.interm).arraySizes->addInnerSize(size);
     }
-#line 6131 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6153 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 192:
-#line 1514 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1526 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-2].interm);
         (yyval.interm).arraySizes->addInnerSize();
     }
-#line 6140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6162 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 193:
-#line 1518 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1530 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-3].interm);
 
         TArraySize size;
-        parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
+        parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
         (yyval.interm).arraySizes->addInnerSize(size);
     }
-#line 6152 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 194:
-#line 1528 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1540 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.typeParameters) = (yyvsp[0].interm.typeParameters);
+    }
+#line 6182 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 195:
+#line 1543 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.typeParameters) = 0;
+    }
+#line 6190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 196:
+#line 1549 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.typeParameters) = (yyvsp[-1].interm.typeParameters);
+    }
+#line 6198 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 197:
+#line 1555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.typeParameters) = new TArraySizes;
+
+        TArraySize size;
+        parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
+        (yyval.interm.typeParameters)->addInnerSize(size);
+    }
+#line 6210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 198:
+#line 1562 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.typeParameters) = (yyvsp[-2].interm.typeParameters);
+
+        TArraySize size;
+        parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
+        (yyval.interm.typeParameters)->addInnerSize(size);
+    }
+#line 6222 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 199:
+#line 1572 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtVoid;
     }
-#line 6161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6231 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 195:
-#line 1532 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 200:
+#line 1576 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
     }
-#line 6170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 196:
-#line 1536 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 201:
+#line 1580 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
     }
-#line 6180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 197:
-#line 1541 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 202:
+#line 1585 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
     }
-#line 6190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 198:
-#line 1546 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 203:
+#line 1590 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
     }
-#line 6200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6270 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 199:
-#line 1551 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 204:
+#line 1595 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
     }
-#line 6210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 200:
-#line 1556 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 205:
+#line 1600 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt;
     }
-#line 6219 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 201:
-#line 1560 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 206:
+#line 1604 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint;
     }
-#line 6229 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 202:
-#line 1565 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 207:
+#line 1609 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt8;
     }
-#line 6239 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 203:
-#line 1570 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 208:
+#line 1614 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint8;
     }
-#line 6249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6319 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 204:
-#line 1575 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 209:
+#line 1619 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt16;
     }
-#line 6259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6329 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 205:
-#line 1580 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 210:
+#line 1624 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint16;
     }
-#line 6269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6339 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 206:
-#line 1585 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 211:
+#line 1629 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt;
     }
-#line 6279 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6349 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 207:
-#line 1590 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 212:
+#line 1634 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint;
     }
-#line 6289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 208:
-#line 1595 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 213:
+#line 1639 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt64;
     }
-#line 6299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 209:
-#line 1600 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 214:
+#line 1644 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint64;
     }
-#line 6309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 210:
-#line 1605 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtBool;
-    }
-#line 6318 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 211:
-#line 1609 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6328 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 212:
-#line 1614 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6338 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 213:
-#line 1619 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 214:
-#line 1624 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 215:
-#line 1630 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1649 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setVector(3);
+        (yyval.interm.type).basicType = EbtBool;
     }
-#line 6370 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6388 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 216:
-#line 1636 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1653 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 217:
+#line 1658 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 218:
+#line 1663 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 219:
+#line 1668 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6429 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 220:
+#line 1674 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6440 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 221:
+#line 1680 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setVector(4);
     }
-#line 6381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 217:
-#line 1642 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 218:
-#line 1648 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 219:
-#line 1654 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6414 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 220:
-#line 1660 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 221:
-#line 1666 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 222:
-#line 1672 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1686 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6462 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 223:
+#line 1692 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6473 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 224:
+#line 1698 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6484 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 225:
+#line 1704 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6495 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 226:
+#line 1710 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6506 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 227:
+#line 1716 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setVector(4);
     }
-#line 6447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 223:
-#line 1678 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6458 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 224:
-#line 1684 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 225:
-#line 1690 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 226:
-#line 1696 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtBool;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 227:
-#line 1701 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtBool;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 228:
-#line 1706 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1722 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 229:
+#line 1728 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6539 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 230:
+#line 1734 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6550 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 231:
+#line 1740 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtBool;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6560 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 232:
+#line 1745 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtBool;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6570 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 233:
+#line 1750 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtBool;
         (yyval.interm.type).setVector(4);
     }
-#line 6510 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 229:
-#line 1711 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 230:
-#line 1716 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6530 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 231:
-#line 1721 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 232:
-#line 1726 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt8;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 233:
-#line 1732 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt8;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6562 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6580 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 234:
-#line 1738 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1755 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 235:
+#line 1760 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 236:
+#line 1765 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6610 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 237:
+#line 1770 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt8;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 238:
+#line 1776 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt8;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 239:
+#line 1782 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt8;
         (yyval.interm.type).setVector(4);
     }
-#line 6573 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 235:
-#line 1744 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt16;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 236:
-#line 1750 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt16;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6595 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 237:
-#line 1756 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt16;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 238:
-#line 1762 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 239:
-#line 1768 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6643 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 240:
-#line 1774 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1788 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt16;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 241:
+#line 1794 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt16;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6665 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 242:
+#line 1800 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt16;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 243:
+#line 1806 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 244:
+#line 1812 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6698 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 245:
+#line 1818 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt;
         (yyval.interm.type).setVector(4);
     }
-#line 6639 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 241:
-#line 1780 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt64;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 242:
-#line 1786 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt64;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6661 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 243:
-#line 1792 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt64;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 244:
-#line 1798 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6683 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 245:
-#line 1804 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6694 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 246:
-#line 1810 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1824 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt64;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 247:
+#line 1830 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt64;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6731 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 248:
+#line 1836 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt64;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 249:
+#line 1842 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 250:
+#line 1848 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 251:
+#line 1854 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint;
         (yyval.interm.type).setVector(4);
     }
-#line 6705 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 247:
-#line 1816 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint8;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6716 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 248:
-#line 1822 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint8;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6727 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 249:
-#line 1828 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint8;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 250:
-#line 1834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint16;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6749 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 251:
-#line 1840 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint16;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6775 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 252:
-#line 1846 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1860 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint8;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6786 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 253:
+#line 1866 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint8;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 254:
+#line 1872 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint8;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6808 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 255:
+#line 1878 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint16;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 256:
+#line 1884 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint16;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6830 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 257:
+#line 1890 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint16;
         (yyval.interm.type).setVector(4);
     }
-#line 6771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 253:
-#line 1852 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6782 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 254:
-#line 1858 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 255:
-#line 1864 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6804 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 256:
-#line 1870 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint64;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 257:
-#line 1876 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint64;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6841 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 258:
-#line 1882 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1896 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6852 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 259:
+#line 1902 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 260:
+#line 1908 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 261:
+#line 1914 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint64;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 262:
+#line 1920 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint64;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 263:
+#line 1926 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint64;
         (yyval.interm.type).setVector(4);
     }
-#line 6837 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 259:
-#line 1888 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 6847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 260:
-#line 1893 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 3);
-    }
-#line 6857 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 261:
-#line 1898 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 4);
-    }
-#line 6867 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 262:
-#line 1903 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 6877 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 263:
-#line 1908 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 3);
-    }
-#line 6887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 264:
-#line 1913 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 4);
-    }
-#line 6897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 265:
-#line 1918 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 2);
-    }
 #line 6907 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 266:
-#line 1923 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 264:
+#line 1932 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 3);
+        (yyval.interm.type).setMatrix(2, 2);
     }
 #line 6917 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 267:
-#line 1928 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 265:
+#line 1937 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 4);
+        (yyval.interm.type).setMatrix(3, 3);
     }
 #line 6927 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 268:
-#line 1933 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 266:
+#line 1942 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 2);
+        (yyval.interm.type).setMatrix(4, 4);
     }
 #line 6937 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 269:
-#line 1938 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 267:
+#line 1947 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 3);
+        (yyval.interm.type).setMatrix(2, 2);
     }
 #line 6947 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 270:
-#line 1943 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 268:
+#line 1952 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 4);
+        (yyval.interm.type).setMatrix(2, 3);
     }
 #line 6957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 271:
-#line 1948 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 269:
+#line 1957 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(2, 2);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 4);
     }
-#line 6968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 270:
+#line 1962 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 2);
+    }
+#line 6977 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 271:
+#line 1967 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 3);
+    }
+#line 6987 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 272:
-#line 1954 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1972 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(3, 3);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 4);
     }
-#line 6979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6997 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 273:
-#line 1960 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1977 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(4, 4);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 2);
     }
-#line 6990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 274:
-#line 1966 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1982 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(2, 2);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 3);
     }
-#line 7001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 275:
-#line 1972 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1987 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(2, 3);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7012 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7027 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 276:
-#line 1978 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1992 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(2, 4);
+        (yyval.interm.type).setMatrix(2, 2);
     }
-#line 7023 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7038 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 277:
-#line 1984 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1998 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(3, 2);
+        (yyval.interm.type).setMatrix(3, 3);
     }
-#line 7034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7049 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 278:
-#line 1990 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2004 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(3, 3);
+        (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7045 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7060 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 279:
-#line 1996 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2010 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(3, 4);
+        (yyval.interm.type).setMatrix(2, 2);
     }
-#line 7056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 280:
-#line 2002 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2016 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(4, 2);
+        (yyval.interm.type).setMatrix(2, 3);
     }
-#line 7067 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7082 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 281:
-#line 2008 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2022 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(4, 3);
+        (yyval.interm.type).setMatrix(2, 4);
     }
-#line 7078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 282:
-#line 2014 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2028 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 2);
+    }
+#line 7104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 283:
+#line 2034 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 3);
+    }
+#line 7115 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 284:
+#line 2040 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 4);
+    }
+#line 7126 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 285:
+#line 2046 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(4, 2);
+    }
+#line 7137 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 286:
+#line 2052 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(4, 3);
+    }
+#line 7148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 287:
+#line 2058 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7089 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 283:
-#line 2020 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 7100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 284:
-#line 2026 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(3, 3);
-    }
-#line 7111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 285:
-#line 2032 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(4, 4);
-    }
-#line 7122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 286:
-#line 2038 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 7133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 287:
-#line 2044 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 3);
-    }
-#line 7144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7159 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 288:
-#line 2050 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2064 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 4);
+        (yyval.interm.type).setMatrix(2, 2);
     }
-#line 7155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 289:
-#line 2056 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2070 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(3, 2);
+        (yyval.interm.type).setMatrix(3, 3);
     }
-#line 7166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7181 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 290:
-#line 2062 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2076 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(3, 3);
+        (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7192 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 291:
-#line 2068 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2082 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(3, 4);
+        (yyval.interm.type).setMatrix(2, 2);
     }
-#line 7188 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7203 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 292:
-#line 2074 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2088 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(4, 2);
+        (yyval.interm.type).setMatrix(2, 3);
     }
-#line 7199 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7214 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 293:
-#line 2080 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2094 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(4, 3);
+        (yyval.interm.type).setMatrix(2, 4);
     }
-#line 7210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7225 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 294:
-#line 2086 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2100 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 2);
+    }
+#line 7236 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 295:
+#line 2106 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 3);
+    }
+#line 7247 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 296:
+#line 2112 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 4);
+    }
+#line 7258 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 297:
+#line 2118 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(4, 2);
+    }
+#line 7269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 298:
+#line 2124 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(4, 3);
+    }
+#line 7280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 299:
+#line 2130 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 295:
-#line 2092 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 7232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 296:
-#line 2098 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 3);
-    }
-#line 7243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 297:
-#line 2104 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 4);
-    }
-#line 7254 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 298:
-#line 2110 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 7265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 299:
-#line 2116 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 3);
-    }
-#line 7276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 300:
-#line 2122 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2136 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 2);
+    }
+#line 7302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 301:
+#line 2142 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 3);
+    }
+#line 7313 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 302:
+#line 2148 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 4);
+    }
+#line 7324 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 303:
+#line 2154 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 2);
+    }
+#line 7335 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 304:
+#line 2160 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 3);
+    }
+#line 7346 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 305:
+#line 2166 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(2, 4);
     }
-#line 7287 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 301:
-#line 2128 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 306:
+#line 2172 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(3, 2);
     }
-#line 7298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 302:
-#line 2134 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 307:
+#line 2178 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(3, 3);
     }
-#line 7309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 303:
-#line 2140 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 308:
+#line 2184 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(3, 4);
     }
-#line 7320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 304:
-#line 2146 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 309:
+#line 2190 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(4, 2);
     }
-#line 7331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 305:
-#line 2152 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 310:
+#line 2196 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(4, 3);
     }
-#line 7342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7412 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 306:
-#line 2158 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 311:
+#line 2202 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7353 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7423 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 307:
-#line 2164 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 312:
+#line 2208 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 2);
     }
-#line 7364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7434 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 308:
-#line 2170 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 313:
+#line 2214 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 3);
     }
-#line 7375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 309:
-#line 2176 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 314:
+#line 2220 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7386 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7456 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 310:
-#line 2182 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 315:
+#line 2226 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 2);
     }
-#line 7397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 311:
-#line 2188 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 316:
+#line 2232 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 3);
     }
-#line 7408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 312:
-#line 2194 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 317:
+#line 2238 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 4);
     }
-#line 7419 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 313:
-#line 2200 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 318:
+#line 2244 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 2);
     }
-#line 7430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 314:
-#line 2206 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 319:
+#line 2250 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 3);
     }
-#line 7441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 315:
-#line 2212 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 320:
+#line 2256 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 4);
     }
-#line 7452 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7522 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 316:
-#line 2218 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 321:
+#line 2262 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 2);
     }
-#line 7463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 317:
-#line 2224 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 322:
+#line 2268 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 3);
     }
-#line 7474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7544 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 318:
-#line 2230 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 323:
+#line 2274 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7555 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 319:
-#line 2236 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 324:
+#line 2280 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef NV_EXTENSIONS
        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
        (yyval.interm.type).basicType = EbtAccStructNV;
 #endif
     }
-#line 7496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 320:
-#line 2242 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 325:
+#line 2286 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtAtomicUint;
     }
-#line 7506 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 321:
-#line 2247 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 326:
+#line 2291 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd1D);
     }
-#line 7516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7586 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 322:
-#line 2252 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 327:
+#line 2296 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
     }
-#line 7526 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 323:
-#line 2257 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 328:
+#line 2301 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd3D);
     }
-#line 7536 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 324:
-#line 2262 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 329:
+#line 2306 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdCube);
     }
-#line 7546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7616 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 325:
-#line 2267 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 330:
+#line 2311 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);
     }
-#line 7556 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 326:
-#line 2272 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 331:
+#line 2316 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);
     }
-#line 7566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 327:
-#line 2277 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 332:
+#line 2321 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);
     }
-#line 7576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 328:
-#line 2282 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 333:
+#line 2326 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);
     }
-#line 7586 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7656 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 329:
-#line 2287 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 334:
+#line 2331 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);
     }
-#line 7596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 330:
-#line 2292 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 335:
+#line 2336 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);
     }
-#line 7606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 331:
-#line 2297 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 336:
+#line 2341 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);
     }
-#line 7616 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 332:
-#line 2302 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 337:
+#line 2346 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);
     }
-#line 7626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7696 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 333:
-#line 2307 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 338:
+#line 2351 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);
     }
-#line 7636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7706 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 334:
-#line 2312 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 339:
+#line 2356 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7645,11 +7715,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd1D);
 #endif
     }
-#line 7649 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7719 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 335:
-#line 2320 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 340:
+#line 2364 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7658,11 +7728,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D);
 #endif
     }
-#line 7662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 336:
-#line 2328 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 341:
+#line 2372 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7671,11 +7741,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd3D);
 #endif
     }
-#line 7675 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7745 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 337:
-#line 2336 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 342:
+#line 2380 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7684,11 +7754,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdCube);
 #endif
     }
-#line 7688 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7758 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 338:
-#line 2344 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 343:
+#line 2388 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7697,11 +7767,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true);
 #endif
     }
-#line 7701 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 339:
-#line 2352 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 344:
+#line 2396 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7710,11 +7780,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true);
 #endif
     }
-#line 7714 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7784 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 340:
-#line 2360 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 345:
+#line 2404 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7723,11 +7793,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true);
 #endif
     }
-#line 7727 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 341:
-#line 2368 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 346:
+#line 2412 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7736,11 +7806,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true);
 #endif
     }
-#line 7740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 342:
-#line 2376 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 347:
+#line 2420 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7749,11 +7819,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true);
 #endif
     }
-#line 7753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 343:
-#line 2384 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 348:
+#line 2428 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7762,11 +7832,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true);
 #endif
     }
-#line 7766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 344:
-#line 2392 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 349:
+#line 2436 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7775,11 +7845,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true);
 #endif
     }
-#line 7779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7849 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 345:
-#line 2400 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 350:
+#line 2444 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7788,11 +7858,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true);
 #endif
     }
-#line 7792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7862 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 346:
-#line 2408 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 351:
+#line 2452 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7801,171 +7871,171 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true);
 #endif
     }
-#line 7805 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 347:
-#line 2416 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 352:
+#line 2460 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd1D);
     }
-#line 7815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 348:
-#line 2421 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 353:
+#line 2465 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd2D);
     }
-#line 7825 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 349:
-#line 2426 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 354:
+#line 2470 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd3D);
     }
-#line 7835 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 350:
-#line 2431 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 355:
+#line 2475 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, EsdCube);
     }
-#line 7845 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 351:
-#line 2436 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 356:
+#line 2480 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd1D, true);
     }
-#line 7855 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 352:
-#line 2441 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 357:
+#line 2485 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd2D, true);
     }
-#line 7865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 353:
-#line 2446 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 358:
+#line 2490 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, EsdCube, true);
     }
-#line 7875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 354:
-#line 2451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 359:
+#line 2495 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd1D);
     }
-#line 7885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 355:
-#line 2456 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 360:
+#line 2500 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd2D);
     }
-#line 7895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7965 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 356:
-#line 2461 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 361:
+#line 2505 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd3D);
     }
-#line 7905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7975 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 357:
-#line 2466 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 362:
+#line 2510 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, EsdCube);
     }
-#line 7915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 358:
-#line 2471 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 363:
+#line 2515 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd1D, true);
     }
-#line 7925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 359:
-#line 2476 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 364:
+#line 2520 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd2D, true);
     }
-#line 7935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8005 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 360:
-#line 2481 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 365:
+#line 2525 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, EsdCube, true);
     }
-#line 7945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 361:
-#line 2486 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 366:
+#line 2530 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdRect);
     }
-#line 7955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8025 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 362:
-#line 2491 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 367:
+#line 2535 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);
     }
-#line 7965 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8035 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 363:
-#line 2496 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 368:
+#line 2540 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7974,11 +8044,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdRect);
 #endif
     }
-#line 7978 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 364:
-#line 2504 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 369:
+#line 2548 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7987,41 +8057,41 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true);
 #endif
     }
-#line 7991 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8061 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 365:
-#line 2512 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 370:
+#line 2556 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, EsdRect);
     }
-#line 8001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 366:
-#line 2517 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 371:
+#line 2561 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, EsdRect);
     }
-#line 8011 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 367:
-#line 2522 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 372:
+#line 2566 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdBuffer);
     }
-#line 8021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 368:
-#line 2527 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 373:
+#line 2571 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -8030,41 +8100,41 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer);
 #endif
     }
-#line 8034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 369:
-#line 2535 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 374:
+#line 2579 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, EsdBuffer);
     }
-#line 8044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8114 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 370:
-#line 2540 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 375:
+#line 2584 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, EsdBuffer);
     }
-#line 8054 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8124 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 371:
-#line 2545 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 376:
+#line 2589 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);
     }
-#line 8064 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 372:
-#line 2550 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 377:
+#line 2594 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -8073,41 +8143,41 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true);
 #endif
     }
-#line 8077 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 373:
-#line 2558 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 378:
+#line 2602 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);
     }
-#line 8087 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 374:
-#line 2563 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 379:
+#line 2607 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true);
     }
-#line 8097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 375:
-#line 2568 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 380:
+#line 2612 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);
     }
-#line 8107 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 376:
-#line 2573 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 381:
+#line 2617 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -8116,61 +8186,61 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true);
 #endif
     }
-#line 8120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 377:
-#line 2581 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 382:
+#line 2625 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);
     }
-#line 8130 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 378:
-#line 2586 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 383:
+#line 2630 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);
     }
-#line 8140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 379:
-#line 2591 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 384:
+#line 2635 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setPureSampler(false);
     }
-#line 8150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 380:
-#line 2596 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 385:
+#line 2640 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setPureSampler(true);
     }
-#line 8160 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8230 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 381:
-#line 2601 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 386:
+#line 2645 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);
     }
-#line 8170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 382:
-#line 2606 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 387:
+#line 2650 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8179,21 +8249,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D);
 #endif
     }
-#line 8183 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 383:
-#line 2614 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 388:
+#line 2658 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D);
     }
-#line 8193 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8263 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 384:
-#line 2619 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 389:
+#line 2663 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8202,21 +8272,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D);
 #endif
     }
-#line 8206 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 385:
-#line 2627 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 390:
+#line 2671 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D);
     }
-#line 8216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8286 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 386:
-#line 2632 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 391:
+#line 2676 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8225,21 +8295,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D);
 #endif
     }
-#line 8229 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 387:
-#line 2640 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 392:
+#line 2684 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube);
     }
-#line 8239 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 388:
-#line 2645 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 393:
+#line 2689 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8248,21 +8318,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube);
 #endif
     }
-#line 8252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 389:
-#line 2653 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 394:
+#line 2697 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true);
     }
-#line 8262 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 390:
-#line 2658 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 395:
+#line 2702 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8271,21 +8341,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true);
 #endif
     }
-#line 8275 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8345 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 391:
-#line 2666 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 396:
+#line 2710 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true);
     }
-#line 8285 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8355 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 392:
-#line 2671 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 397:
+#line 2715 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8294,21 +8364,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true);
 #endif
     }
-#line 8298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 393:
-#line 2679 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 398:
+#line 2723 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true);
     }
-#line 8308 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 394:
-#line 2684 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 399:
+#line 2728 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8317,161 +8387,161 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true);
 #endif
     }
-#line 8321 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 395:
-#line 2692 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 400:
+#line 2736 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D);
     }
-#line 8331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 396:
-#line 2697 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 401:
+#line 2741 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D);
     }
-#line 8341 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8411 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 397:
-#line 2702 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 402:
+#line 2746 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd3D);
     }
-#line 8351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8421 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 398:
-#line 2707 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 403:
+#line 2751 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube);
     }
-#line 8361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 399:
-#line 2712 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 404:
+#line 2756 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true);
     }
-#line 8371 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 400:
-#line 2717 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 405:
+#line 2761 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true);
     }
-#line 8381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 401:
-#line 2722 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 406:
+#line 2766 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true);
     }
-#line 8391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 402:
-#line 2727 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 407:
+#line 2771 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D);
     }
-#line 8401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 403:
-#line 2732 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 408:
+#line 2776 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D);
     }
-#line 8411 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 404:
-#line 2737 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 409:
+#line 2781 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd3D);
     }
-#line 8421 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 405:
-#line 2742 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 410:
+#line 2786 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube);
     }
-#line 8431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8501 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 406:
-#line 2747 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 411:
+#line 2791 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true);
     }
-#line 8441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 407:
-#line 2752 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 412:
+#line 2796 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true);
     }
-#line 8451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 408:
-#line 2757 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 413:
+#line 2801 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true);
     }
-#line 8461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 409:
-#line 2762 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 414:
+#line 2806 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect);
     }
-#line 8471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 410:
-#line 2767 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 415:
+#line 2811 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8480,41 +8550,41 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect);
 #endif
     }
-#line 8484 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8554 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 411:
-#line 2775 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 416:
+#line 2819 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdRect);
     }
-#line 8494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 412:
-#line 2780 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 417:
+#line 2824 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdRect);
     }
-#line 8504 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8574 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 413:
-#line 2785 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 418:
+#line 2829 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer);
     }
-#line 8514 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 414:
-#line 2790 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 419:
+#line 2834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8523,41 +8593,41 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer);
 #endif
     }
-#line 8527 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 415:
-#line 2798 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 420:
+#line 2842 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer);
     }
-#line 8537 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 416:
-#line 2803 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 421:
+#line 2847 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer);
     }
-#line 8547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 417:
-#line 2808 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 422:
+#line 2852 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true);
     }
-#line 8557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 418:
-#line 2813 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 423:
+#line 2857 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8566,41 +8636,41 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true);
 #endif
     }
-#line 8570 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8640 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 419:
-#line 2821 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 424:
+#line 2865 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true);
     }
-#line 8580 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 420:
-#line 2826 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 425:
+#line 2870 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true);
     }
-#line 8590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 421:
-#line 2831 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 426:
+#line 2875 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true);
     }
-#line 8600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 422:
-#line 2836 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 427:
+#line 2880 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8609,41 +8679,41 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true);
 #endif
     }
-#line 8613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8683 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 423:
-#line 2844 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 428:
+#line 2888 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true);
     }
-#line 8623 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8693 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 424:
-#line 2849 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 429:
+#line 2893 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true);
     }
-#line 8633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 425:
-#line 2854 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 430:
+#line 2898 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D);
     }
-#line 8643 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8713 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 426:
-#line 2859 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 431:
+#line 2903 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8652,41 +8722,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D);
 #endif
     }
-#line 8656 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 427:
-#line 2867 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 432:
+#line 2911 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd1D);
     }
-#line 8666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8736 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 428:
-#line 2872 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 433:
+#line 2916 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd1D);
     }
-#line 8676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8746 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 429:
-#line 2877 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 434:
+#line 2921 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D);
     }
-#line 8686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 430:
-#line 2882 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 435:
+#line 2926 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8695,41 +8765,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D);
 #endif
     }
-#line 8699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 431:
-#line 2890 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 436:
+#line 2934 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D);
     }
-#line 8709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 432:
-#line 2895 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 437:
+#line 2939 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D);
     }
-#line 8719 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8789 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 433:
-#line 2900 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 438:
+#line 2944 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd3D);
     }
-#line 8729 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8799 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 434:
-#line 2905 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 439:
+#line 2949 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8738,41 +8808,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D);
 #endif
     }
-#line 8742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8812 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 435:
-#line 2913 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 440:
+#line 2957 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd3D);
     }
-#line 8752 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8822 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 436:
-#line 2918 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 441:
+#line 2962 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd3D);
     }
-#line 8762 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 437:
-#line 2923 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 442:
+#line 2967 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdRect);
     }
-#line 8772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 438:
-#line 2928 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 443:
+#line 2972 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8781,41 +8851,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect);
 #endif
     }
-#line 8785 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8855 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 439:
-#line 2936 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 444:
+#line 2980 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdRect);
     }
-#line 8795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 440:
-#line 2941 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 445:
+#line 2985 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdRect);
     }
-#line 8805 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 441:
-#line 2946 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 446:
+#line 2990 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube);
     }
-#line 8815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 442:
-#line 2951 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 447:
+#line 2995 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8824,41 +8894,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube);
 #endif
     }
-#line 8828 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8898 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 443:
-#line 2959 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 448:
+#line 3003 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdCube);
     }
-#line 8838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 444:
-#line 2964 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 449:
+#line 3008 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdCube);
     }
-#line 8848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 445:
-#line 2969 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 450:
+#line 3013 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer);
     }
-#line 8858 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 446:
-#line 2974 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 451:
+#line 3018 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8867,41 +8937,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer);
 #endif
     }
-#line 8871 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 447:
-#line 2982 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 452:
+#line 3026 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer);
     }
-#line 8881 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 448:
-#line 2987 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 453:
+#line 3031 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer);
     }
-#line 8891 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 449:
-#line 2992 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 454:
+#line 3036 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true);
     }
-#line 8901 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8971 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 450:
-#line 2997 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 455:
+#line 3041 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8910,41 +8980,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true);
 #endif
     }
-#line 8914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 451:
-#line 3005 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 456:
+#line 3049 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true);
     }
-#line 8924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8994 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 452:
-#line 3010 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 457:
+#line 3054 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true);
     }
-#line 8934 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9004 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 453:
-#line 3015 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 458:
+#line 3059 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true);
     }
-#line 8944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9014 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 454:
-#line 3020 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 459:
+#line 3064 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8953,41 +9023,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true);
 #endif
     }
-#line 8957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9027 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 455:
-#line 3028 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 460:
+#line 3072 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true);
     }
-#line 8967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 456:
-#line 3033 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 461:
+#line 3077 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true);
     }
-#line 8977 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 457:
-#line 3038 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 462:
+#line 3082 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true);
     }
-#line 8987 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 458:
-#line 3043 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 463:
+#line 3087 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8996,41 +9066,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true);
 #endif
     }
-#line 9000 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 459:
-#line 3051 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 464:
+#line 3095 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true);
     }
-#line 9010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9080 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 460:
-#line 3056 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 465:
+#line 3100 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true);
     }
-#line 9020 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 461:
-#line 3061 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 466:
+#line 3105 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true);
     }
-#line 9030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 462:
-#line 3066 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 467:
+#line 3110 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -9039,41 +9109,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true);
 #endif
     }
-#line 9043 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9113 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 463:
-#line 3074 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 468:
+#line 3118 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true);
     }
-#line 9053 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9123 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 464:
-#line 3079 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 469:
+#line 3123 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true);
     }
-#line 9063 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 465:
-#line 3084 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 470:
+#line 3128 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true);
     }
-#line 9073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9143 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 466:
-#line 3089 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 471:
+#line 3133 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -9082,64 +9152,75 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true);
 #endif
     }
-#line 9086 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 467:
-#line 3097 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 472:
+#line 3141 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true);
     }
-#line 9096 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 468:
-#line 3102 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 473:
+#line 3146 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true);
     }
-#line 9106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9176 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 469:
-#line 3107 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 474:
+#line 3151 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {  // GL_OES_EGL_image_external
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
         (yyval.interm.type).sampler.external = true;
     }
-#line 9117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9187 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 470:
-#line 3113 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 475:
+#line 3157 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { // GL_EXT_YUV_target
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
+        (yyval.interm.type).sampler.yuv = true;
+    }
+#line 9198 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 476:
+#line 3163 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtFloat);
     }
-#line 9128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9209 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 471:
-#line 3119 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 477:
+#line 3169 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtFloat, true);
     }
-#line 9139 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 472:
-#line 3125 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 478:
+#line 3175 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
@@ -9149,11 +9230,11 @@
         (yyval.interm.type).sampler.setSubpass(EbtFloat16);
 #endif
     }
-#line 9153 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 473:
-#line 3134 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 479:
+#line 3184 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
@@ -9163,65 +9244,76 @@
         (yyval.interm.type).sampler.setSubpass(EbtFloat16, true);
 #endif
     }
-#line 9167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 474:
-#line 3143 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 480:
+#line 3193 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtInt);
     }
-#line 9178 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 475:
-#line 3149 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 481:
+#line 3199 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtInt, true);
     }
-#line 9189 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9270 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 476:
-#line 3155 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 482:
+#line 3205 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtUint);
     }
-#line 9200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9281 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 477:
-#line 3161 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 483:
+#line 3211 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtUint, true);
     }
-#line 9211 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 478:
-#line 3167 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 484:
+#line 3217 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.fcoopmatCheck((yyvsp[0].lex).loc, "fcoopmatNV", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).coopmat = true;
+    }
+#line 9303 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 485:
+#line 3223 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
         (yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
         parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type));
     }
-#line 9221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9313 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 479:
-#line 3172 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 486:
+#line 3228 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //
         // This is for user defined type names.  The lexical phase looked up the
@@ -9235,47 +9327,47 @@
         } else
             parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
     }
-#line 9239 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 480:
-#line 3188 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 487:
+#line 3244 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh);
     }
-#line 9249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9341 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 481:
-#line 3193 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 488:
+#line 3249 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium);
     }
-#line 9259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 482:
-#line 3198 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 489:
+#line 3254 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow);
     }
-#line 9269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 483:
-#line 3206 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 490:
+#line 3262 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
-#line 9275 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 484:
-#line 3206 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 491:
+#line 3262 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);
         parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);
@@ -9287,17 +9379,17 @@
         (yyval.interm.type).userDef = structure;
         --parseContext.structNestingLevel;
     }
-#line 9291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9383 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 485:
-#line 3217 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 492:
+#line 3273 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
-#line 9297 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9389 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 486:
-#line 3217 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 493:
+#line 3273 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
         (yyval.interm.type).init((yyvsp[-4].lex).loc);
@@ -9305,19 +9397,19 @@
         (yyval.interm.type).userDef = structure;
         --parseContext.structNestingLevel;
     }
-#line 9309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 487:
-#line 3227 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 494:
+#line 3283 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = (yyvsp[0].interm.typeList);
     }
-#line 9317 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 488:
-#line 3230 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 495:
+#line 3286 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
         for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {
@@ -9328,11 +9420,11 @@
             (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
         }
     }
-#line 9332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9424 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 489:
-#line 3243 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 496:
+#line 3299 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.type).arraySizes) {
             parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -9355,11 +9447,11 @@
             (*(yyval.interm.typeList))[i].type->shallowCopy(type);
         }
     }
-#line 9359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 490:
-#line 3265 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 497:
+#line 3321 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.type).arraySizes) {
             parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -9384,38 +9476,38 @@
             (*(yyval.interm.typeList))[i].type->shallowCopy(type);
         }
     }
-#line 9388 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 491:
-#line 3292 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 498:
+#line 3348 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = new TTypeList;
         (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
     }
-#line 9397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 492:
-#line 3296 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 499:
+#line 3352 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
     }
-#line 9405 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 493:
-#line 3302 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 500:
+#line 3358 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeLine).type = new TType(EbtVoid);
         (yyval.interm.typeLine).loc = (yyvsp[0].lex).loc;
         (yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string);
     }
-#line 9415 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 494:
-#line 3307 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 501:
+#line 3363 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes);
 
@@ -9424,219 +9516,219 @@
         (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
         (yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes);
     }
-#line 9428 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 495:
-#line 3318 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 502:
+#line 3374 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 9436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 496:
-#line 3321 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 503:
+#line 3377 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         const char* initFeature = "{ } style initializers";
         parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature);
         parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
         (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
     }
-#line 9447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9539 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 497:
-#line 3327 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 504:
+#line 3383 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         const char* initFeature = "{ } style initializers";
         parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature);
         parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
         (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 9458 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 498:
-#line 3336 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
-    }
-#line 9466 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 499:
-#line 3339 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
-    }
-#line 9474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 500:
-#line 3345 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 501:
-#line 3349 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9486 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 502:
-#line 3350 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9492 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 503:
-#line 3356 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9498 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 504:
-#line 3357 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9504 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9550 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 505:
-#line 3358 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9510 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 506:
-#line 3359 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 507:
-#line 3360 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9522 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 508:
-#line 3361 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 509:
-#line 3362 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9534 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 510:
-#line 3366 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = 0; }
-#line 9540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 511:
-#line 3367 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 3392 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.symbolTable.push();
-        ++parseContext.statementNestingLevel;
-    }
-#line 9549 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 512:
-#line 3371 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
-        --parseContext.statementNestingLevel;
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
     }
 #line 9558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
+  case 506:
+#line 3395 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
+    }
+#line 9566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 507:
+#line 3401 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9572 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 508:
+#line 3405 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 509:
+#line 3406 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 510:
+#line 3412 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 511:
+#line 3413 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 512:
+#line 3414 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9602 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
   case 513:
-#line 3375 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 3415 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 514:
+#line 3416 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9614 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 515:
+#line 3417 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 516:
+#line 3418 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 517:
+#line 3422 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = 0; }
+#line 9632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 518:
+#line 3423 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.symbolTable.push();
+        ++parseContext.statementNestingLevel;
+    }
+#line 9641 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 519:
+#line 3427 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
+        --parseContext.statementNestingLevel;
+    }
+#line 9650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 520:
+#line 3431 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())
             (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
         (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);
     }
-#line 9568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 514:
-#line 3383 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 521:
+#line 3439 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9574 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 515:
-#line 3384 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 522:
+#line 3440 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9580 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 516:
-#line 3388 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 523:
+#line 3444 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         ++parseContext.controlFlowNestingLevel;
     }
-#line 9588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 517:
-#line 3391 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 524:
+#line 3447 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         --parseContext.controlFlowNestingLevel;
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 518:
-#line 3395 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 525:
+#line 3451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 9607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 519:
-#line 3400 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 526:
+#line 3456 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9618 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 520:
-#line 3409 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 527:
+#line 3465 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
     }
-#line 9626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9718 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 521:
-#line 3412 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 528:
+#line 3468 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate())
             (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
         (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode);
     }
-#line 9636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9728 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 522:
-#line 3420 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 529:
+#line 3476 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
         if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
@@ -9645,11 +9737,11 @@
             (yyval.interm.intermNode) = 0;  // start a fresh subsequence for what's after this case
         }
     }
-#line 9649 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 523:
-#line 3428 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 530:
+#line 3484 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
                                             (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
@@ -9658,76 +9750,76 @@
         } else
             (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
     }
-#line 9662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9754 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 524:
-#line 3439 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 531:
+#line 3495 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = 0; }
-#line 9668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 525:
-#line 3440 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 532:
+#line 3496 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
-#line 9674 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 526:
-#line 3444 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 533:
+#line 3500 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9774 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 527:
-#line 3447 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 534:
+#line 3503 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 528:
-#line 3453 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 535:
+#line 3509 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode));
         (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc);
     }
-#line 9700 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 529:
-#line 3460 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 536:
+#line 3516 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
         (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
     }
-#line 9709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9801 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 530:
-#line 3464 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 537:
+#line 3520 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
         (yyval.interm.nodePair).node2 = 0;
     }
-#line 9718 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 531:
-#line 3472 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 538:
+#line 3528 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
     }
-#line 9727 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 532:
-#line 3476 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 539:
+#line 3532 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
 
@@ -9738,28 +9830,28 @@
         else
             (yyval.interm.intermTypedNode) = 0;
     }
-#line 9742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9834 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 533:
-#line 3489 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 540:
+#line 3545 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 534:
-#line 3492 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 541:
+#line 3548 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9851 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 535:
-#line 3498 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 542:
+#line 3554 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // start new switch sequence on the switch stack
         ++parseContext.controlFlowNestingLevel;
@@ -9768,11 +9860,11 @@
         parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
         parseContext.symbolTable.push();
     }
-#line 9772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 536:
-#line 3506 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 543:
+#line 3562 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);
         delete parseContext.switchSequenceStack.back();
@@ -9782,27 +9874,27 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 9786 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9878 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 537:
-#line 3518 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 544:
+#line 3574 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
     }
-#line 9794 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9886 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 538:
-#line 3521 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 545:
+#line 3577 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9802 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9894 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 539:
-#line 3527 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 546:
+#line 3583 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
         if (parseContext.switchLevel.size() == 0)
@@ -9815,11 +9907,11 @@
             (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
         }
     }
-#line 9819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9911 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 540:
-#line 3539 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 547:
+#line 3595 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
         if (parseContext.switchLevel.size() == 0)
@@ -9829,28 +9921,28 @@
         else
             (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
     }
-#line 9833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 541:
-#line 3551 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 548:
+#line 3607 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9841 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9933 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 542:
-#line 3554 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 549:
+#line 3610 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9850 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 543:
-#line 3560 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 550:
+#line 3616 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (! parseContext.limits.whileLoops)
             parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
@@ -9859,11 +9951,11 @@
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 9863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 544:
-#line 3568 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 551:
+#line 3624 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);
@@ -9871,21 +9963,21 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 9875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 545:
-#line 3575 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 552:
+#line 3631 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         ++parseContext.loopNestingLevel;
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 9885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9977 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 546:
-#line 3580 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 553:
+#line 3636 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (! parseContext.limits.whileLoops)
             parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
@@ -9897,22 +9989,22 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 9901 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9993 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 547:
-#line 3591 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 554:
+#line 3647 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.loopNestingLevel;
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 9912 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10004 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 548:
-#line 3597 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 555:
+#line 3653 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
@@ -9925,81 +10017,81 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 9929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 549:
-#line 3612 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 556:
+#line 3668 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9937 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10029 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 550:
-#line 3615 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 557:
+#line 3671 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 551:
-#line 3621 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 558:
+#line 3677 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 9953 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10045 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 552:
-#line 3624 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 559:
+#line 3680 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = 0;
     }
-#line 9961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10053 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 553:
-#line 3630 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 560:
+#line 3686 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
         (yyval.interm.nodePair).node2 = 0;
     }
-#line 9970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 554:
-#line 3634 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 561:
+#line 3690 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
         (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
     }
-#line 9979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 555:
-#line 3641 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 562:
+#line 3697 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (parseContext.loopNestingLevel <= 0)
             parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
     }
-#line 9989 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 556:
-#line 3646 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 563:
+#line 3702 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
             parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);
     }
-#line 9999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 557:
-#line 3651 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 564:
+#line 3707 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
         if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
@@ -10007,83 +10099,83 @@
         if (parseContext.inMain)
             parseContext.postEntryPointReturn = true;
     }
-#line 10011 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 558:
-#line 3658 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 565:
+#line 3714 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 10019 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 559:
-#line 3661 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 566:
+#line 3717 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
     }
-#line 10028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 560:
-#line 3670 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 567:
+#line 3726 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
         parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
     }
-#line 10037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10129 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 561:
-#line 3674 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 568:
+#line 3730 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[0].interm.intermNode) != nullptr) {
             (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
             parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
         }
     }
-#line 10048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 562:
-#line 3683 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 569:
+#line 3739 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 10056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 563:
-#line 3686 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 570:
+#line 3742 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 10064 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 564:
-#line 3689 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 571:
+#line 3745 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
         parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
         (yyval.interm.intermNode) = nullptr;
     }
-#line 10074 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 565:
-#line 3697 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 572:
+#line 3753 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
         (yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
     }
-#line 10083 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 566:
-#line 3701 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 573:
+#line 3757 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //   May be best done as post process phase on intermediate code
         if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
@@ -10099,52 +10191,52 @@
         (yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);
         (yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable);
     }
-#line 10103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10195 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 567:
-#line 3719 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 574:
+#line 3775 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
         parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute");
     }
-#line 10112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10204 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 568:
-#line 3725 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 575:
+#line 3781 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.attributes) = (yyvsp[0].interm.attributes);
     }
-#line 10120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 569:
-#line 3728 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 576:
+#line 3784 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
     }
-#line 10128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 570:
-#line 3733 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 577:
+#line 3789 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
     }
-#line 10136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10228 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 571:
-#line 3736 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 578:
+#line 3792 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 10144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10236 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
 
-#line 10148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -10372,5 +10464,5 @@
 #endif
   return yyresult;
 }
-#line 3740 "MachineIndependent/glslang.y" /* yacc.c:1906  */
+#line 3796 "MachineIndependent/glslang.y" /* yacc.c:1906  */
 
diff --git a/glslang/MachineIndependent/glslang_tab.cpp.h b/glslang/MachineIndependent/glslang_tab.cpp.h
index 50bbcfc..a467db6 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp.h
+++ b/glslang/MachineIndependent/glslang_tab.cpp.h
@@ -220,234 +220,236 @@
     F64MAT4X4 = 430,
     ATOMIC_UINT = 431,
     ACCSTRUCTNV = 432,
-    SAMPLER1D = 433,
-    SAMPLER2D = 434,
-    SAMPLER3D = 435,
-    SAMPLERCUBE = 436,
-    SAMPLER1DSHADOW = 437,
-    SAMPLER2DSHADOW = 438,
-    SAMPLERCUBESHADOW = 439,
-    SAMPLER1DARRAY = 440,
-    SAMPLER2DARRAY = 441,
-    SAMPLER1DARRAYSHADOW = 442,
-    SAMPLER2DARRAYSHADOW = 443,
-    ISAMPLER1D = 444,
-    ISAMPLER2D = 445,
-    ISAMPLER3D = 446,
-    ISAMPLERCUBE = 447,
-    ISAMPLER1DARRAY = 448,
-    ISAMPLER2DARRAY = 449,
-    USAMPLER1D = 450,
-    USAMPLER2D = 451,
-    USAMPLER3D = 452,
-    USAMPLERCUBE = 453,
-    USAMPLER1DARRAY = 454,
-    USAMPLER2DARRAY = 455,
-    SAMPLER2DRECT = 456,
-    SAMPLER2DRECTSHADOW = 457,
-    ISAMPLER2DRECT = 458,
-    USAMPLER2DRECT = 459,
-    SAMPLERBUFFER = 460,
-    ISAMPLERBUFFER = 461,
-    USAMPLERBUFFER = 462,
-    SAMPLERCUBEARRAY = 463,
-    SAMPLERCUBEARRAYSHADOW = 464,
-    ISAMPLERCUBEARRAY = 465,
-    USAMPLERCUBEARRAY = 466,
-    SAMPLER2DMS = 467,
-    ISAMPLER2DMS = 468,
-    USAMPLER2DMS = 469,
-    SAMPLER2DMSARRAY = 470,
-    ISAMPLER2DMSARRAY = 471,
-    USAMPLER2DMSARRAY = 472,
-    SAMPLEREXTERNALOES = 473,
-    F16SAMPLER1D = 474,
-    F16SAMPLER2D = 475,
-    F16SAMPLER3D = 476,
-    F16SAMPLER2DRECT = 477,
-    F16SAMPLERCUBE = 478,
-    F16SAMPLER1DARRAY = 479,
-    F16SAMPLER2DARRAY = 480,
-    F16SAMPLERCUBEARRAY = 481,
-    F16SAMPLERBUFFER = 482,
-    F16SAMPLER2DMS = 483,
-    F16SAMPLER2DMSARRAY = 484,
-    F16SAMPLER1DSHADOW = 485,
-    F16SAMPLER2DSHADOW = 486,
-    F16SAMPLER1DARRAYSHADOW = 487,
-    F16SAMPLER2DARRAYSHADOW = 488,
-    F16SAMPLER2DRECTSHADOW = 489,
-    F16SAMPLERCUBESHADOW = 490,
-    F16SAMPLERCUBEARRAYSHADOW = 491,
-    SAMPLER = 492,
-    SAMPLERSHADOW = 493,
-    TEXTURE1D = 494,
-    TEXTURE2D = 495,
-    TEXTURE3D = 496,
-    TEXTURECUBE = 497,
-    TEXTURE1DARRAY = 498,
-    TEXTURE2DARRAY = 499,
-    ITEXTURE1D = 500,
-    ITEXTURE2D = 501,
-    ITEXTURE3D = 502,
-    ITEXTURECUBE = 503,
-    ITEXTURE1DARRAY = 504,
-    ITEXTURE2DARRAY = 505,
-    UTEXTURE1D = 506,
-    UTEXTURE2D = 507,
-    UTEXTURE3D = 508,
-    UTEXTURECUBE = 509,
-    UTEXTURE1DARRAY = 510,
-    UTEXTURE2DARRAY = 511,
-    TEXTURE2DRECT = 512,
-    ITEXTURE2DRECT = 513,
-    UTEXTURE2DRECT = 514,
-    TEXTUREBUFFER = 515,
-    ITEXTUREBUFFER = 516,
-    UTEXTUREBUFFER = 517,
-    TEXTURECUBEARRAY = 518,
-    ITEXTURECUBEARRAY = 519,
-    UTEXTURECUBEARRAY = 520,
-    TEXTURE2DMS = 521,
-    ITEXTURE2DMS = 522,
-    UTEXTURE2DMS = 523,
-    TEXTURE2DMSARRAY = 524,
-    ITEXTURE2DMSARRAY = 525,
-    UTEXTURE2DMSARRAY = 526,
-    F16TEXTURE1D = 527,
-    F16TEXTURE2D = 528,
-    F16TEXTURE3D = 529,
-    F16TEXTURE2DRECT = 530,
-    F16TEXTURECUBE = 531,
-    F16TEXTURE1DARRAY = 532,
-    F16TEXTURE2DARRAY = 533,
-    F16TEXTURECUBEARRAY = 534,
-    F16TEXTUREBUFFER = 535,
-    F16TEXTURE2DMS = 536,
-    F16TEXTURE2DMSARRAY = 537,
-    SUBPASSINPUT = 538,
-    SUBPASSINPUTMS = 539,
-    ISUBPASSINPUT = 540,
-    ISUBPASSINPUTMS = 541,
-    USUBPASSINPUT = 542,
-    USUBPASSINPUTMS = 543,
-    F16SUBPASSINPUT = 544,
-    F16SUBPASSINPUTMS = 545,
-    IMAGE1D = 546,
-    IIMAGE1D = 547,
-    UIMAGE1D = 548,
-    IMAGE2D = 549,
-    IIMAGE2D = 550,
-    UIMAGE2D = 551,
-    IMAGE3D = 552,
-    IIMAGE3D = 553,
-    UIMAGE3D = 554,
-    IMAGE2DRECT = 555,
-    IIMAGE2DRECT = 556,
-    UIMAGE2DRECT = 557,
-    IMAGECUBE = 558,
-    IIMAGECUBE = 559,
-    UIMAGECUBE = 560,
-    IMAGEBUFFER = 561,
-    IIMAGEBUFFER = 562,
-    UIMAGEBUFFER = 563,
-    IMAGE1DARRAY = 564,
-    IIMAGE1DARRAY = 565,
-    UIMAGE1DARRAY = 566,
-    IMAGE2DARRAY = 567,
-    IIMAGE2DARRAY = 568,
-    UIMAGE2DARRAY = 569,
-    IMAGECUBEARRAY = 570,
-    IIMAGECUBEARRAY = 571,
-    UIMAGECUBEARRAY = 572,
-    IMAGE2DMS = 573,
-    IIMAGE2DMS = 574,
-    UIMAGE2DMS = 575,
-    IMAGE2DMSARRAY = 576,
-    IIMAGE2DMSARRAY = 577,
-    UIMAGE2DMSARRAY = 578,
-    F16IMAGE1D = 579,
-    F16IMAGE2D = 580,
-    F16IMAGE3D = 581,
-    F16IMAGE2DRECT = 582,
-    F16IMAGECUBE = 583,
-    F16IMAGE1DARRAY = 584,
-    F16IMAGE2DARRAY = 585,
-    F16IMAGECUBEARRAY = 586,
-    F16IMAGEBUFFER = 587,
-    F16IMAGE2DMS = 588,
-    F16IMAGE2DMSARRAY = 589,
-    STRUCT = 590,
-    VOID = 591,
-    WHILE = 592,
-    IDENTIFIER = 593,
-    TYPE_NAME = 594,
-    FLOATCONSTANT = 595,
-    DOUBLECONSTANT = 596,
-    INT16CONSTANT = 597,
-    UINT16CONSTANT = 598,
-    INT32CONSTANT = 599,
-    UINT32CONSTANT = 600,
-    INTCONSTANT = 601,
-    UINTCONSTANT = 602,
-    INT64CONSTANT = 603,
-    UINT64CONSTANT = 604,
-    BOOLCONSTANT = 605,
-    FLOAT16CONSTANT = 606,
-    LEFT_OP = 607,
-    RIGHT_OP = 608,
-    INC_OP = 609,
-    DEC_OP = 610,
-    LE_OP = 611,
-    GE_OP = 612,
-    EQ_OP = 613,
-    NE_OP = 614,
-    AND_OP = 615,
-    OR_OP = 616,
-    XOR_OP = 617,
-    MUL_ASSIGN = 618,
-    DIV_ASSIGN = 619,
-    ADD_ASSIGN = 620,
-    MOD_ASSIGN = 621,
-    LEFT_ASSIGN = 622,
-    RIGHT_ASSIGN = 623,
-    AND_ASSIGN = 624,
-    XOR_ASSIGN = 625,
-    OR_ASSIGN = 626,
-    SUB_ASSIGN = 627,
-    LEFT_PAREN = 628,
-    RIGHT_PAREN = 629,
-    LEFT_BRACKET = 630,
-    RIGHT_BRACKET = 631,
-    LEFT_BRACE = 632,
-    RIGHT_BRACE = 633,
-    DOT = 634,
-    COMMA = 635,
-    COLON = 636,
-    EQUAL = 637,
-    SEMICOLON = 638,
-    BANG = 639,
-    DASH = 640,
-    TILDE = 641,
-    PLUS = 642,
-    STAR = 643,
-    SLASH = 644,
-    PERCENT = 645,
-    LEFT_ANGLE = 646,
-    RIGHT_ANGLE = 647,
-    VERTICAL_BAR = 648,
-    CARET = 649,
-    AMPERSAND = 650,
-    QUESTION = 651,
-    INVARIANT = 652,
-    PRECISE = 653,
-    HIGH_PRECISION = 654,
-    MEDIUM_PRECISION = 655,
-    LOW_PRECISION = 656,
-    PRECISION = 657,
-    PACKED = 658,
-    RESOURCE = 659,
-    SUPERP = 660
+    FCOOPMATNV = 433,
+    SAMPLER1D = 434,
+    SAMPLER2D = 435,
+    SAMPLER3D = 436,
+    SAMPLERCUBE = 437,
+    SAMPLER1DSHADOW = 438,
+    SAMPLER2DSHADOW = 439,
+    SAMPLERCUBESHADOW = 440,
+    SAMPLER1DARRAY = 441,
+    SAMPLER2DARRAY = 442,
+    SAMPLER1DARRAYSHADOW = 443,
+    SAMPLER2DARRAYSHADOW = 444,
+    ISAMPLER1D = 445,
+    ISAMPLER2D = 446,
+    ISAMPLER3D = 447,
+    ISAMPLERCUBE = 448,
+    ISAMPLER1DARRAY = 449,
+    ISAMPLER2DARRAY = 450,
+    USAMPLER1D = 451,
+    USAMPLER2D = 452,
+    USAMPLER3D = 453,
+    USAMPLERCUBE = 454,
+    USAMPLER1DARRAY = 455,
+    USAMPLER2DARRAY = 456,
+    SAMPLER2DRECT = 457,
+    SAMPLER2DRECTSHADOW = 458,
+    ISAMPLER2DRECT = 459,
+    USAMPLER2DRECT = 460,
+    SAMPLERBUFFER = 461,
+    ISAMPLERBUFFER = 462,
+    USAMPLERBUFFER = 463,
+    SAMPLERCUBEARRAY = 464,
+    SAMPLERCUBEARRAYSHADOW = 465,
+    ISAMPLERCUBEARRAY = 466,
+    USAMPLERCUBEARRAY = 467,
+    SAMPLER2DMS = 468,
+    ISAMPLER2DMS = 469,
+    USAMPLER2DMS = 470,
+    SAMPLER2DMSARRAY = 471,
+    ISAMPLER2DMSARRAY = 472,
+    USAMPLER2DMSARRAY = 473,
+    SAMPLEREXTERNALOES = 474,
+    SAMPLEREXTERNAL2DY2YEXT = 475,
+    F16SAMPLER1D = 476,
+    F16SAMPLER2D = 477,
+    F16SAMPLER3D = 478,
+    F16SAMPLER2DRECT = 479,
+    F16SAMPLERCUBE = 480,
+    F16SAMPLER1DARRAY = 481,
+    F16SAMPLER2DARRAY = 482,
+    F16SAMPLERCUBEARRAY = 483,
+    F16SAMPLERBUFFER = 484,
+    F16SAMPLER2DMS = 485,
+    F16SAMPLER2DMSARRAY = 486,
+    F16SAMPLER1DSHADOW = 487,
+    F16SAMPLER2DSHADOW = 488,
+    F16SAMPLER1DARRAYSHADOW = 489,
+    F16SAMPLER2DARRAYSHADOW = 490,
+    F16SAMPLER2DRECTSHADOW = 491,
+    F16SAMPLERCUBESHADOW = 492,
+    F16SAMPLERCUBEARRAYSHADOW = 493,
+    SAMPLER = 494,
+    SAMPLERSHADOW = 495,
+    TEXTURE1D = 496,
+    TEXTURE2D = 497,
+    TEXTURE3D = 498,
+    TEXTURECUBE = 499,
+    TEXTURE1DARRAY = 500,
+    TEXTURE2DARRAY = 501,
+    ITEXTURE1D = 502,
+    ITEXTURE2D = 503,
+    ITEXTURE3D = 504,
+    ITEXTURECUBE = 505,
+    ITEXTURE1DARRAY = 506,
+    ITEXTURE2DARRAY = 507,
+    UTEXTURE1D = 508,
+    UTEXTURE2D = 509,
+    UTEXTURE3D = 510,
+    UTEXTURECUBE = 511,
+    UTEXTURE1DARRAY = 512,
+    UTEXTURE2DARRAY = 513,
+    TEXTURE2DRECT = 514,
+    ITEXTURE2DRECT = 515,
+    UTEXTURE2DRECT = 516,
+    TEXTUREBUFFER = 517,
+    ITEXTUREBUFFER = 518,
+    UTEXTUREBUFFER = 519,
+    TEXTURECUBEARRAY = 520,
+    ITEXTURECUBEARRAY = 521,
+    UTEXTURECUBEARRAY = 522,
+    TEXTURE2DMS = 523,
+    ITEXTURE2DMS = 524,
+    UTEXTURE2DMS = 525,
+    TEXTURE2DMSARRAY = 526,
+    ITEXTURE2DMSARRAY = 527,
+    UTEXTURE2DMSARRAY = 528,
+    F16TEXTURE1D = 529,
+    F16TEXTURE2D = 530,
+    F16TEXTURE3D = 531,
+    F16TEXTURE2DRECT = 532,
+    F16TEXTURECUBE = 533,
+    F16TEXTURE1DARRAY = 534,
+    F16TEXTURE2DARRAY = 535,
+    F16TEXTURECUBEARRAY = 536,
+    F16TEXTUREBUFFER = 537,
+    F16TEXTURE2DMS = 538,
+    F16TEXTURE2DMSARRAY = 539,
+    SUBPASSINPUT = 540,
+    SUBPASSINPUTMS = 541,
+    ISUBPASSINPUT = 542,
+    ISUBPASSINPUTMS = 543,
+    USUBPASSINPUT = 544,
+    USUBPASSINPUTMS = 545,
+    F16SUBPASSINPUT = 546,
+    F16SUBPASSINPUTMS = 547,
+    IMAGE1D = 548,
+    IIMAGE1D = 549,
+    UIMAGE1D = 550,
+    IMAGE2D = 551,
+    IIMAGE2D = 552,
+    UIMAGE2D = 553,
+    IMAGE3D = 554,
+    IIMAGE3D = 555,
+    UIMAGE3D = 556,
+    IMAGE2DRECT = 557,
+    IIMAGE2DRECT = 558,
+    UIMAGE2DRECT = 559,
+    IMAGECUBE = 560,
+    IIMAGECUBE = 561,
+    UIMAGECUBE = 562,
+    IMAGEBUFFER = 563,
+    IIMAGEBUFFER = 564,
+    UIMAGEBUFFER = 565,
+    IMAGE1DARRAY = 566,
+    IIMAGE1DARRAY = 567,
+    UIMAGE1DARRAY = 568,
+    IMAGE2DARRAY = 569,
+    IIMAGE2DARRAY = 570,
+    UIMAGE2DARRAY = 571,
+    IMAGECUBEARRAY = 572,
+    IIMAGECUBEARRAY = 573,
+    UIMAGECUBEARRAY = 574,
+    IMAGE2DMS = 575,
+    IIMAGE2DMS = 576,
+    UIMAGE2DMS = 577,
+    IMAGE2DMSARRAY = 578,
+    IIMAGE2DMSARRAY = 579,
+    UIMAGE2DMSARRAY = 580,
+    F16IMAGE1D = 581,
+    F16IMAGE2D = 582,
+    F16IMAGE3D = 583,
+    F16IMAGE2DRECT = 584,
+    F16IMAGECUBE = 585,
+    F16IMAGE1DARRAY = 586,
+    F16IMAGE2DARRAY = 587,
+    F16IMAGECUBEARRAY = 588,
+    F16IMAGEBUFFER = 589,
+    F16IMAGE2DMS = 590,
+    F16IMAGE2DMSARRAY = 591,
+    STRUCT = 592,
+    VOID = 593,
+    WHILE = 594,
+    IDENTIFIER = 595,
+    TYPE_NAME = 596,
+    FLOATCONSTANT = 597,
+    DOUBLECONSTANT = 598,
+    INT16CONSTANT = 599,
+    UINT16CONSTANT = 600,
+    INT32CONSTANT = 601,
+    UINT32CONSTANT = 602,
+    INTCONSTANT = 603,
+    UINTCONSTANT = 604,
+    INT64CONSTANT = 605,
+    UINT64CONSTANT = 606,
+    BOOLCONSTANT = 607,
+    FLOAT16CONSTANT = 608,
+    LEFT_OP = 609,
+    RIGHT_OP = 610,
+    INC_OP = 611,
+    DEC_OP = 612,
+    LE_OP = 613,
+    GE_OP = 614,
+    EQ_OP = 615,
+    NE_OP = 616,
+    AND_OP = 617,
+    OR_OP = 618,
+    XOR_OP = 619,
+    MUL_ASSIGN = 620,
+    DIV_ASSIGN = 621,
+    ADD_ASSIGN = 622,
+    MOD_ASSIGN = 623,
+    LEFT_ASSIGN = 624,
+    RIGHT_ASSIGN = 625,
+    AND_ASSIGN = 626,
+    XOR_ASSIGN = 627,
+    OR_ASSIGN = 628,
+    SUB_ASSIGN = 629,
+    LEFT_PAREN = 630,
+    RIGHT_PAREN = 631,
+    LEFT_BRACKET = 632,
+    RIGHT_BRACKET = 633,
+    LEFT_BRACE = 634,
+    RIGHT_BRACE = 635,
+    DOT = 636,
+    COMMA = 637,
+    COLON = 638,
+    EQUAL = 639,
+    SEMICOLON = 640,
+    BANG = 641,
+    DASH = 642,
+    TILDE = 643,
+    PLUS = 644,
+    STAR = 645,
+    SLASH = 646,
+    PERCENT = 647,
+    LEFT_ANGLE = 648,
+    RIGHT_ANGLE = 649,
+    VERTICAL_BAR = 650,
+    CARET = 651,
+    AMPERSAND = 652,
+    QUESTION = 653,
+    INVARIANT = 654,
+    PRECISE = 655,
+    HIGH_PRECISION = 656,
+    MEDIUM_PRECISION = 657,
+    LOW_PRECISION = 658,
+    PRECISION = 659,
+    PACKED = 660,
+    RESOURCE = 661,
+    SUPERP = 662
   };
 #endif
 
@@ -456,7 +458,7 @@
 
 union YYSTYPE
 {
-#line 70 "MachineIndependent/glslang.y" /* yacc.c:1909  */
+#line 71 "MachineIndependent/glslang.y" /* yacc.c:1909  */
 
     struct {
         glslang::TSourceLoc loc;
@@ -489,9 +491,10 @@
             glslang::TArraySizes* arraySizes;
             glslang::TIdentifierList* identifierList;
         };
+        glslang::TArraySizes* typeParameters;
     } interm;
 
-#line 495 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909  */
+#line 498 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909  */
 };
 
 typedef union YYSTYPE YYSTYPE;
diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp
index f74b90a..a2c3627 100644
--- a/glslang/MachineIndependent/intermOut.cpp
+++ b/glslang/MachineIndependent/intermOut.cpp
@@ -43,6 +43,7 @@
 #else
 #include <cmath>
 #endif
+#include <cstdint>
 
 namespace {
 
@@ -817,6 +818,7 @@
     case EOpConstructStruct:  out.debug << "Construct structure";  break;
     case EOpConstructTextureSampler: out.debug << "Construct combined texture-sampler"; break;
     case EOpConstructReference:  out.debug << "Construct reference";  break;
+    case EOpConstructCooperativeMatrix:  out.debug << "Construct cooperative matrix";  break;
 
     case EOpLessThan:         out.debug << "Compare Less Than";             break;
     case EOpGreaterThan:      out.debug << "Compare Greater Than";          break;
@@ -1066,6 +1068,10 @@
     case EOpWritePackedPrimitiveIndices4x8NV: out.debug << "writePackedPrimitiveIndices4x8NV"; break;
 #endif
 
+    case EOpCooperativeMatrixLoad:  out.debug << "Load cooperative matrix";  break;
+    case EOpCooperativeMatrixStore:  out.debug << "Store cooperative matrix";  break;
+    case EOpCooperativeMatrixMulAdd: out.debug << "MulAdd cooperative matrices"; break;
+
     default: out.debug.message(EPrefixError, "Bad aggregation op");
     }
 
@@ -1157,8 +1163,11 @@
         switch (extra) {
         case TOutputTraverser::BinaryDoubleOutput:
         {
+            uint64_t b;
+            static_assert(sizeof(b) == sizeof(value), "sizeof(uint64_t) != sizeof(double)");
+            memcpy(&b, &value, sizeof(b));
+
             out.debug << " : ";
-            long long b = *reinterpret_cast<long long*>(&value);
             for (size_t i = 0; i < 8 * sizeof(value); ++i, ++b) {
                 out.debug << ((b & 0x8000000000000000) != 0 ? "1" : "0");
                 b <<= 1;
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index 977600b..0cf2d36 100755
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -222,8 +222,14 @@
         else if (xfbBuffers[b].stride != unit.xfbBuffers[b].stride)
             error(infoSink, "Contradictory xfb_stride");
         xfbBuffers[b].implicitStride = std::max(xfbBuffers[b].implicitStride, unit.xfbBuffers[b].implicitStride);
-        if (unit.xfbBuffers[b].containsDouble)
-            xfbBuffers[b].containsDouble = true;
+        if (unit.xfbBuffers[b].contains64BitType)
+            xfbBuffers[b].contains64BitType = true;
+#ifdef AMD_EXTENSIONS
+        if (unit.xfbBuffers[b].contains32BitType)
+            xfbBuffers[b].contains32BitType = true;
+        if (unit.xfbBuffers[b].contains16BitType)
+            xfbBuffers[b].contains16BitType = true;
+#endif
         // TODO: 4.4 link: enhanced layouts: compare ranges
     }
 
@@ -634,8 +640,14 @@
         error(infoSink, "Cannot use both gl_FragColor and gl_FragData");
 
     for (size_t b = 0; b < xfbBuffers.size(); ++b) {
-        if (xfbBuffers[b].containsDouble)
+        if (xfbBuffers[b].contains64BitType)
             RoundToPow2(xfbBuffers[b].implicitStride, 8);
+#ifdef AMD_EXTENSIONS
+        else if (xfbBuffers[b].contains32BitType)
+            RoundToPow2(xfbBuffers[b].implicitStride, 4);
+        else if (xfbBuffers[b].contains16BitType)
+            RoundToPow2(xfbBuffers[b].implicitStride, 2);
+#endif
 
         // "It is a compile-time or link-time error to have
         // any xfb_offset that overflows xfb_stride, whether stated on declarations before or after the xfb_stride, or
@@ -650,18 +662,31 @@
             xfbBuffers[b].stride = xfbBuffers[b].implicitStride;
 
         // "If the buffer is capturing any
-        // outputs with double-precision components, the stride must be a multiple of 8, otherwise it must be a
+        // outputs with double-precision or 64-bit integer components, the stride must be a multiple of 8, otherwise it must be a
         // multiple of 4, or a compile-time or link-time error results."
-        if (xfbBuffers[b].containsDouble && ! IsMultipleOfPow2(xfbBuffers[b].stride, 8)) {
-            error(infoSink, "xfb_stride must be multiple of 8 for buffer holding a double:");
+        if (xfbBuffers[b].contains64BitType && ! IsMultipleOfPow2(xfbBuffers[b].stride, 8)) {
+            error(infoSink, "xfb_stride must be multiple of 8 for buffer holding a double or 64-bit integer:");
             infoSink.info.prefix(EPrefixError);
             infoSink.info << "    xfb_buffer " << (unsigned int)b << ", xfb_stride " << xfbBuffers[b].stride << "\n";
+#ifdef AMD_EXTENSIONS
+        } else if (xfbBuffers[b].contains32BitType && ! IsMultipleOfPow2(xfbBuffers[b].stride, 4)) {
+#else
         } else if (! IsMultipleOfPow2(xfbBuffers[b].stride, 4)) {
+#endif
             error(infoSink, "xfb_stride must be multiple of 4:");
             infoSink.info.prefix(EPrefixError);
             infoSink.info << "    xfb_buffer " << (unsigned int)b << ", xfb_stride " << xfbBuffers[b].stride << "\n";
         }
+#ifdef AMD_EXTENSIONS
+        // "If the buffer is capturing any
+        // outputs with half-precision or 16-bit integer components, the stride must be a multiple of 2"
+        else if (xfbBuffers[b].contains16BitType && ! IsMultipleOfPow2(xfbBuffers[b].stride, 2)) {
+            error(infoSink, "xfb_stride must be multiple of 2 for buffer holding a half float or 16-bit integer:");
+            infoSink.info.prefix(EPrefixError);
+            infoSink.info << "    xfb_buffer " << (unsigned int)b << ", xfb_stride " << xfbBuffers[b].stride << "\n";
+        }
 
+#endif
         // "The resulting stride (implicit or explicit), when divided by 4, must be less than or equal to the
         // implementation-dependent constant gl_MaxTransformFeedbackInterleavedComponents."
         if (xfbBuffers[b].stride > (unsigned int)(4 * resources.maxTransformFeedbackInterleavedComponents)) {
@@ -1260,7 +1285,11 @@
     TXfbBuffer& buffer = xfbBuffers[qualifier.layoutXfbBuffer];
 
     // compute the range
-    unsigned int size = computeTypeXfbSize(type, buffer.containsDouble);
+#ifdef AMD_EXTENSIONS
+    unsigned int size = computeTypeXfbSize(type, buffer.contains64BitType, buffer.contains32BitType, buffer.contains16BitType);
+#else
+    unsigned int size = computeTypeXfbSize(type, buffer.contains64BitType);
+#endif
     buffer.implicitStride = std::max(buffer.implicitStride, qualifier.layoutXfbOffset + size);
     TRange range(qualifier.layoutXfbOffset, qualifier.layoutXfbOffset + size - 1);
 
@@ -1279,11 +1308,18 @@
 
 // Recursively figure out how many bytes of xfb buffer are used by the given type.
 // Return the size of type, in bytes.
-// Sets containsDouble to true if the type contains a double.
-// N.B. Caller must set containsDouble to false before calling.
-unsigned int TIntermediate::computeTypeXfbSize(const TType& type, bool& containsDouble) const
+// Sets contains64BitType to true if the type contains a 64-bit data type.
+#ifdef AMD_EXTENSIONS
+// Sets contains32BitType to true if the type contains a 32-bit data type.
+// Sets contains16BitType to true if the type contains a 16-bit data type.
+// N.B. Caller must set contains64BitType, contains32BitType, and contains16BitType to false before calling.
+unsigned int TIntermediate::computeTypeXfbSize(const TType& type, bool& contains64BitType, bool& contains32BitType, bool& contains16BitType) const
+#else
+// N.B. Caller must set contains64BitType to false before calling.
+unsigned int TIntermediate::computeTypeXfbSize(const TType& type, bool& contains64BitType) const
+#endif
 {
-    // "...if applied to an aggregate containing a double, the offset must also be a multiple of 8,
+    // "...if applied to an aggregate containing a double or 64-bit integer, the offset must also be a multiple of 8,
     // and the space taken in the buffer will be a multiple of 8.
     // ...within the qualified entity, subsequent components are each
     // assigned, in order, to the next available offset aligned to a multiple of
@@ -1294,29 +1330,59 @@
         // TODO: perf: this can be flattened by using getCumulativeArraySize(), and a deref that discards all arrayness
         assert(type.isSizedArray());
         TType elementType(type, 0);
-        return type.getOuterArraySize() * computeTypeXfbSize(elementType, containsDouble);
+#ifdef AMD_EXTENSIONS
+        return type.getOuterArraySize() * computeTypeXfbSize(elementType, contains64BitType, contains16BitType, contains16BitType);
+#else
+        return type.getOuterArraySize() * computeTypeXfbSize(elementType, contains64BitType);
+#endif
     }
 
     if (type.isStruct()) {
         unsigned int size = 0;
-        bool structContainsDouble = false;
+        bool structContains64BitType = false;
+#ifdef AMD_EXTENSIONS
+        bool structContains32BitType = false;
+        bool structContains16BitType = false;
+#endif
         for (int member = 0; member < (int)type.getStruct()->size(); ++member) {
             TType memberType(type, member);
             // "... if applied to
-            // an aggregate containing a double, the offset must also be a multiple of 8,
+            // an aggregate containing a double or 64-bit integer, the offset must also be a multiple of 8,
             // and the space taken in the buffer will be a multiple of 8."
-            bool memberContainsDouble = false;
-            int memberSize = computeTypeXfbSize(memberType, memberContainsDouble);
-            if (memberContainsDouble) {
-                structContainsDouble = true;
+            bool memberContains64BitType = false;
+#ifdef AMD_EXTENSIONS
+            bool memberContains32BitType = false;
+            bool memberContains16BitType = false;
+            int memberSize = computeTypeXfbSize(memberType, memberContains64BitType, memberContains32BitType, memberContains16BitType);
+#else
+            int memberSize = computeTypeXfbSize(memberType, memberContains64BitType);
+#endif
+            if (memberContains64BitType) {
+                structContains64BitType = true;
                 RoundToPow2(size, 8);
+#ifdef AMD_EXTENSIONS
+            } else if (memberContains32BitType) {
+                structContains32BitType = true;
+                RoundToPow2(size, 4);
+            } else if (memberContains16BitType) {
+                structContains16BitType = true;
+                RoundToPow2(size, 2);
+#endif
             }
             size += memberSize;
         }
 
-        if (structContainsDouble) {
-            containsDouble = true;
+        if (structContains64BitType) {
+            contains64BitType = true;
             RoundToPow2(size, 8);
+#ifdef AMD_EXTENSIONS
+        } else if (structContains32BitType) {
+            contains32BitType = true;
+            RoundToPow2(size, 4);
+        } else if (structContains16BitType) {
+            contains16BitType = true;
+            RoundToPow2(size, 2);
+#endif
         }
         return size;
     }
@@ -1333,11 +1399,23 @@
         numComponents = 1;
     }
 
-    if (type.getBasicType() == EbtDouble) {
-        containsDouble = true;
+    if (type.getBasicType() == EbtDouble || type.getBasicType() == EbtInt64 || type.getBasicType() == EbtUint64) {
+        contains64BitType = true;
         return 8 * numComponents;
+#ifdef AMD_EXTENSIONS
+    } else if (type.getBasicType() == EbtFloat16 || type.getBasicType() == EbtInt16 || type.getBasicType() == EbtUint16) {
+        contains16BitType = true;
+        return 2 * numComponents;
+    } else if (type.getBasicType() == EbtInt8 || type.getBasicType() == EbtUint8)
+        return numComponents;
+    else {
+        contains32BitType = true;
+        return 4 * numComponents;
+    }
+#else
     } else
         return 4 * numComponents;
+#endif
 }
 
 const int baseAlignmentVec4Std140 = 16;
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
old mode 100755
new mode 100644
index c114f21..ba17725
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -149,11 +149,20 @@
 
 // Things that need to be tracked per xfb buffer.
 struct TXfbBuffer {
-    TXfbBuffer() : stride(TQualifier::layoutXfbStrideEnd), implicitStride(0), containsDouble(false) { }
+#ifdef AMD_EXTENSIONS
+    TXfbBuffer() : stride(TQualifier::layoutXfbStrideEnd), implicitStride(0), contains64BitType(false),
+                   contains32BitType(false), contains16BitType(false) { }
+#else
+    TXfbBuffer() : stride(TQualifier::layoutXfbStrideEnd), implicitStride(0), contains64BitType(false) { }
+#endif
     std::vector<TRange> ranges;  // byte offsets that have already been assigned
     unsigned int stride;
     unsigned int implicitStride;
-    bool containsDouble;
+    bool contains64BitType;
+#ifdef AMD_EXTENSIONS
+    bool contains32BitType;
+    bool contains16BitType;
+#endif
 };
 
 // Track a set of strings describing how the module was processed.
@@ -252,6 +261,7 @@
         useStorageBuffer(false),
         useVulkanMemoryModel(false),
         hlslIoMapping(false),
+        useVariablePointers(false),
         textureSamplerTransformMode(EShTexSampTransKeep),
         needToLegalize(false),
         binaryDoubleOutput(false),
@@ -396,6 +406,12 @@
         usePhysicalStorageBuffer = true;
     }
     bool usingPhysicalStorageBuffer() const { return usePhysicalStorageBuffer; }
+    void setUseVariablePointers()
+    {
+        useVariablePointers = true;
+        processes.addProcess("use-variable-pointers");
+    }
+    bool usingVariablePointers() const { return useVariablePointers; }
 
     template<class T> T addCounterBufferName(const T& name) const { return name + implicitCounterName; }
     bool hasCounterBufferName(const TString& name) const {
@@ -420,11 +436,40 @@
         if (spvVersion.openGl > 0)
             processes.addProcess("client opengl100");
 
+        // target SPV
+        switch (spvVersion.spv) {
+        case 0:
+            break;
+        case EShTargetSpv_1_0:
+            break;
+        case EShTargetSpv_1_1:
+            processes.addProcess("target-env spirv1.1");
+            break;
+        case EShTargetSpv_1_2:
+            processes.addProcess("target-env spirv1.2");
+            break;
+        case EShTargetSpv_1_3:
+            processes.addProcess("target-env spirv1.3");
+            break;
+        default:
+            processes.addProcess("target-env spirvUnknown");
+            break;
+        }
+
         // target-environment processes
-        if (spvVersion.vulkan > 0)
+        switch (spvVersion.vulkan) {
+        case 0:
+            break;
+        case EShTargetVulkan_1_0:
             processes.addProcess("target-env vulkan1.0");
-        else if (spvVersion.vulkan > 0)
+            break;
+        case EShTargetVulkan_1_1:
+            processes.addProcess("target-env vulkan1.1");
+            break;
+        default:
             processes.addProcess("target-env vulkanUnknown");
+            break;
+        }
         if (spvVersion.openGl > 0)
             processes.addProcess("target-env opengl");
     }
@@ -450,9 +495,10 @@
     TIntermSymbol* addSymbol(const TVariable&, const TSourceLoc&);
     TIntermSymbol* addSymbol(const TType&, const TSourceLoc&);
     TIntermSymbol* addSymbol(const TIntermSymbol&);
-    TIntermTyped* addConversion(TOperator, const TType&, TIntermTyped*) const;
-    std::tuple<TIntermTyped*, TIntermTyped*> addConversion(TOperator op, TIntermTyped* node0, TIntermTyped* node1) const;
+    TIntermTyped* addConversion(TOperator, const TType&, TIntermTyped*);
+    std::tuple<TIntermTyped*, TIntermTyped*> addConversion(TOperator op, TIntermTyped* node0, TIntermTyped* node1);
     TIntermTyped* addUniShapeConversion(TOperator, const TType&, TIntermTyped*);
+    TIntermTyped* addConversion(TBasicType convertTo, TIntermTyped* node) const;
     void addBiShapeConversion(TOperator, TIntermTyped*& lhsNode, TIntermTyped*& rhsNode);
     TIntermTyped* addShapeConversion(const TType&, TIntermTyped*);
     TIntermTyped* addBinaryMath(TOperator, TIntermTyped* left, TIntermTyped* right, TSourceLoc);
@@ -640,7 +686,11 @@
     }
     unsigned getXfbStride(int buffer) const { return xfbBuffers[buffer].stride; }
     int addXfbBufferOffset(const TType&);
-    unsigned int computeTypeXfbSize(const TType&, bool& containsDouble) const;
+#ifdef AMD_EXTENSIONS
+    unsigned int computeTypeXfbSize(const TType&, bool& contains64BitType, bool& contains32BitType, bool& contains16BitType) const;
+#else
+    unsigned int computeTypeXfbSize(const TType&, bool& contains64BitType) const;
+#endif
     static int getBaseAlignmentScalar(const TType&, int& size);
     static int getBaseAlignment(const TType&, int& size, int& stride, TLayoutPacking layoutPacking, bool rowMajor);
     static int getScalarAlignment(const TType&, int& size, int& stride, bool rowMajor);
@@ -810,6 +860,7 @@
     bool useStorageBuffer;
     bool useVulkanMemoryModel;
     bool hlslIoMapping;
+    bool useVariablePointers;
 
     std::set<TString> ioAccessed;           // set of names of statically read/written I/O that might need extra checking
     std::vector<TIoRange> usedIo[4];        // sets of used locations, one for each of in, out, uniform, and buffers
diff --git a/glslang/MachineIndependent/parseVersions.h b/glslang/MachineIndependent/parseVersions.h
index b5e229a..02af76a 100755
--- a/glslang/MachineIndependent/parseVersions.h
+++ b/glslang/MachineIndependent/parseVersions.h
@@ -104,6 +104,7 @@
     virtual bool checkExtensionsRequested(const TSourceLoc&, int numExtensions, const char* const extensions[], const char* featureDesc);
     virtual void updateExtensionBehavior(const char* const extension, TExtensionBehavior);
     virtual void checkExtensionStage(const TSourceLoc&, const char* const extension);
+    virtual void fcoopmatCheck(const TSourceLoc&, const char* op, bool builtIn = false);
 
     virtual void C_DECL error(const TSourceLoc&, const char* szReason, const char* szToken,
         const char* szExtraInfoFormat, ...) = 0;
diff --git a/glslang/MachineIndependent/preprocessor/Pp.cpp b/glslang/MachineIndependent/preprocessor/Pp.cpp
index 3441948..c74e44f 100755
--- a/glslang/MachineIndependent/preprocessor/Pp.cpp
+++ b/glslang/MachineIndependent/preprocessor/Pp.cpp
@@ -147,6 +147,10 @@
         }
 
         token = scanToken(ppToken);
+    } else if (token != '\n' && token != EndOfInput && !ppToken->space) {
+        parseContext.ppWarn(ppToken->loc, "missing space after macro name", "#define", "");
+
+        return token;
     }
 
     // record the definition of the macro
@@ -162,29 +166,43 @@
     if (existing != nullptr) {
         if (! existing->undef) {
             // Already defined -- need to make sure they are identical:
-            // "Two replacement lists are identical if and only if the preprocessing tokens in both have the same number,
-            // ordering, spelling, and white-space separation, where all white-space separations are considered identical."
-            if (existing->functionLike != mac.functionLike)
-                parseContext.ppError(defineLoc, "Macro redefined; function-like versus object-like:", "#define", atomStrings.getString(defAtom));
-            else if (existing->args.size() != mac.args.size())
-                parseContext.ppError(defineLoc, "Macro redefined; different number of arguments:", "#define", atomStrings.getString(defAtom));
-            else {
-                if (existing->args != mac.args)
-                    parseContext.ppError(defineLoc, "Macro redefined; different argument names:", "#define", atomStrings.getString(defAtom));
+            // "Two replacement lists are identical if and only if the
+            // preprocessing tokens in both have the same number,
+            // ordering, spelling, and white-space separation, where all
+            // white-space separations are considered identical."
+            if (existing->functionLike != mac.functionLike) {
+                parseContext.ppError(defineLoc, "Macro redefined; function-like versus object-like:", "#define",
+                    atomStrings.getString(defAtom));
+            } else if (existing->args.size() != mac.args.size()) {
+                parseContext.ppError(defineLoc, "Macro redefined; different number of arguments:", "#define",
+                    atomStrings.getString(defAtom));
+            } else {
+                if (existing->args != mac.args) {
+                    parseContext.ppError(defineLoc, "Macro redefined; different argument names:", "#define",
+                       atomStrings.getString(defAtom));
+                }
+                // set up to compare the two
                 existing->body.reset();
                 mac.body.reset();
                 int newToken;
+                bool firstToken = true;
                 do {
                     int oldToken;
                     TPpToken oldPpToken;
                     TPpToken newPpToken;
                     oldToken = existing->body.getToken(parseContext, &oldPpToken);
                     newToken = mac.body.getToken(parseContext, &newPpToken);
+                    // for the first token, preceding spaces don't matter
+                    if (firstToken) {
+                        newPpToken.space = oldPpToken.space;
+                        firstToken = false;
+                    }
                     if (oldToken != newToken || oldPpToken != newPpToken) {
-                        parseContext.ppError(defineLoc, "Macro redefined; different substitutions:", "#define", atomStrings.getString(defAtom));
+                        parseContext.ppError(defineLoc, "Macro redefined; different substitutions:", "#define",
+                            atomStrings.getString(defAtom));
                         break;
                     }
-                } while (newToken > 0);
+                } while (newToken != EndOfInput);
             }
         }
         *existing = mac;
@@ -862,8 +880,7 @@
     if (token != PpAtomIdentifier)
         parseContext.ppError(ppToken->loc, "extension name expected", "#extension", "");
 
-    assert(strlen(ppToken->name) <= MaxTokenLength);
-    strcpy(extensionName, ppToken->name);
+    snprintf(extensionName, sizeof(extensionName), "%s", ppToken->name);
 
     token = scanToken(ppToken);
     if (token != ':') {
@@ -1023,7 +1040,9 @@
             case MacroExpandNotStarted:
                 break;
             case MacroExpandError:
-                token = EndOfInput;
+                // toss the rest of the pushed-input argument by scanning until tMarkerInput
+                while ((token = scanToken(ppToken)) != tMarkerInput::marker && token != EndOfInput)
+                    ;
                 break;
             case MacroExpandStarted:
             case MacroExpandUndef:
@@ -1035,13 +1054,10 @@
         expandedArg->putToken(token, ppToken);
     }
 
-    if (token == EndOfInput) {
+    if (token != tMarkerInput::marker) {
         // Error, or MacroExpand ate the marker, so had bad input, recover
         delete expandedArg;
         expandedArg = nullptr;
-    } else {
-        // remove the marker
-        popInput();
     }
 
     return expandedArg;
@@ -1258,7 +1274,7 @@
 
             if (token == ')') {
                 // closing paren of call
-                if (in->mac->args.size() == 1 && tokenRecorded == 0)
+                if (in->mac->args.size() == 1 && !tokenRecorded)
                     break;
                 arg++;
                 break;
diff --git a/glslang/MachineIndependent/preprocessor/PpContext.h b/glslang/MachineIndependent/preprocessor/PpContext.h
old mode 100755
new mode 100644
index 7b8b22e..8470e17
--- a/glslang/MachineIndependent/preprocessor/PpContext.h
+++ b/glslang/MachineIndependent/preprocessor/PpContext.h
@@ -84,6 +84,7 @@
 #include <sstream>
 
 #include "../ParseHelper.h"
+#include "PpTokens.h"
 
 /* windows only pragma */
 #ifdef _MSC_VER
@@ -212,7 +213,8 @@
         virtual int scan(TPpToken*) = 0;
         virtual int getch() = 0;
         virtual void ungetch() = 0;
-        virtual bool peekPasting() { return false; }          // true when about to see ##
+        virtual bool peekPasting() { return false; }             // true when about to see ##
+        virtual bool peekContinuedPasting(int) { return false; } // true when non-spaced tokens can paste
         virtual bool endOfReplacementList() { return false; } // true when at the end of a macro replacement list (RHS of #define)
         virtual bool isMacroInput() { return false; }
 
@@ -243,24 +245,79 @@
     // From PpTokens.cpp
     //
 
+    // Capture the needed parts of a token stream for macro recording/playback.
     class TokenStream {
     public:
-        TokenStream() : current(0) { }
+        // Manage a stream of these 'Token', which capture the relevant parts
+        // of a TPpToken, plus its atom.
+        class Token {
+        public:
+            Token(int atom, const TPpToken& ppToken) : 
+                atom(atom),
+                space(ppToken.space),
+                i64val(ppToken.i64val),
+                name(ppToken.name) { }
+            int get(TPpToken& ppToken)
+            {
+                ppToken.clear();
+                ppToken.space = space;
+                ppToken.i64val = i64val;
+                snprintf(ppToken.name, sizeof(ppToken.name), "%s", name.c_str());
+                return atom;
+            }
+            bool isAtom(int a) const { return atom == a; }
+            int getAtom() const { return atom; }
+            bool nonSpaced() const { return !space; }
+        protected:
+            Token() {}
+            int atom;
+            bool space;        // did a space precede the token?
+            long long i64val;
+            TString name;
+        };
+
+        TokenStream() : currentPos(0) { }
 
         void putToken(int token, TPpToken* ppToken);
+        bool peekToken(int atom) { return !atEnd() && stream[currentPos].isAtom(atom); }
+        bool peekContinuedPasting(int atom)
+        {
+            // This is basically necessary because, for example, the PP
+            // tokenizer only accepts valid numeric-literals plus suffixes, so
+            // separates numeric-literals plus bad suffix into two tokens, which
+            // should get both pasted together as one token when token pasting.
+            //
+            // The following code is a bit more generalized than the above example.
+            if (!atEnd() && atom == PpAtomIdentifier && stream[currentPos].nonSpaced()) {
+                switch(stream[currentPos].getAtom()) {
+                    case PpAtomConstInt:
+                    case PpAtomConstUint:
+                    case PpAtomConstInt64:
+                    case PpAtomConstUint64:
+                    case PpAtomConstInt16:
+                    case PpAtomConstUint16:
+                    case PpAtomConstFloat:
+                    case PpAtomConstDouble:
+                    case PpAtomConstFloat16:
+                    case PpAtomConstString:
+                    case PpAtomIdentifier:
+                        return true;
+                    default:
+                        break;
+                }
+            }
+
+            return false;
+        }
         int getToken(TParseContextBase&, TPpToken*);
-        bool atEnd() { return current >= data.size(); }
+        bool atEnd() { return currentPos >= stream.size(); }
         bool peekTokenizedPasting(bool lastTokenPastes);
         bool peekUntokenizedPasting();
-        void reset() { current = 0; }
+        void reset() { currentPos = 0; }
 
     protected:
-        void putSubtoken(char);
-        int getSubtoken();
-        void ungetSubtoken();
-
-        TVector<unsigned char> data;
-        size_t current;
+        TVector<Token> stream;
+        size_t currentPos;
     };
 
     //
@@ -320,6 +377,10 @@
     int  getChar() { return inputStack.back()->getch(); }
     void ungetChar() { inputStack.back()->ungetch(); }
     bool peekPasting() { return !inputStack.empty() && inputStack.back()->peekPasting(); }
+    bool peekContinuedPasting(int a)
+    {
+        return !inputStack.empty() && inputStack.back()->peekContinuedPasting(a);
+    }
     bool endOfReplacementList() { return inputStack.empty() || inputStack.back()->endOfReplacementList(); }
     bool isMacroInput() { return inputStack.size() > 0 && inputStack.back()->isMacroInput(); }
 
@@ -344,6 +405,7 @@
         virtual int getch() override { assert(0); return EndOfInput; }
         virtual void ungetch() override { assert(0); }
         bool peekPasting() override { return prepaste; }
+        bool peekContinuedPasting(int a) override { return mac->body.peekContinuedPasting(a); }
         bool endOfReplacementList() override { return mac->body.atEnd(); }
         bool isMacroInput() override { return true; }
 
@@ -418,14 +480,18 @@
 
     class tTokenInput : public tInput {
     public:
-        tTokenInput(TPpContext* pp, TokenStream* t, bool prepasting) : tInput(pp), tokens(t), lastTokenPastes(prepasting) { }
+        tTokenInput(TPpContext* pp, TokenStream* t, bool prepasting) :
+            tInput(pp),
+            tokens(t),
+            lastTokenPastes(prepasting) { }
         virtual int scan(TPpToken *ppToken) override { return tokens->getToken(pp->parseContext, ppToken); }
         virtual int getch() override { assert(0); return EndOfInput; }
         virtual void ungetch() override { assert(0); }
         virtual bool peekPasting() override { return tokens->peekTokenizedPasting(lastTokenPastes); }
+        bool peekContinuedPasting(int a) override { return tokens->peekContinuedPasting(a); }
     protected:
         TokenStream* tokens;
-        bool lastTokenPastes;     // true if the last token in the input is to be pasted, rather than consumed as a token
+        bool lastTokenPastes; // true if the last token in the input is to be pasted, rather than consumed as a token
     };
 
     class tUngotTokenInput : public tInput {
@@ -549,9 +615,9 @@
               scanner.setLine(startLoc.line);
               scanner.setString(startLoc.string);
 
-              scanner.setFile(startLoc.name->c_str(), 0);
-              scanner.setFile(startLoc.name->c_str(), 1);
-              scanner.setFile(startLoc.name->c_str(), 2);
+              scanner.setFile(startLoc.getFilenameStr(), 0);
+              scanner.setFile(startLoc.getFilenameStr(), 1);
+              scanner.setFile(startLoc.getFilenameStr(), 2);
         }
 
         // tInput methods:
diff --git a/glslang/MachineIndependent/preprocessor/PpScanner.cpp b/glslang/MachineIndependent/preprocessor/PpScanner.cpp
index 8dd1036..f6f52d7 100755
--- a/glslang/MachineIndependent/preprocessor/PpScanner.cpp
+++ b/glslang/MachineIndependent/preprocessor/PpScanner.cpp
@@ -96,12 +96,19 @@
 /////////////////////////////////// Floating point constants: /////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////
 
-/*
-* lFloatConst() - Scan a single- or double-precision floating point constant.  Assumes that the scanner
-*         has seen at least one digit, followed by either a decimal '.' or the
-*         letter 'e', or a precision ending (e.g., F or LF).
-*/
-
+// 
+// Scan a single- or double-precision floating point constant.
+// Assumes that the scanner has seen at least one digit,
+// followed by either a decimal '.' or the letter 'e', or a
+// precision ending (e.g., F or LF).
+//
+// This is technically not correct, as the preprocessor should just
+// accept the numeric literal along with whatever suffix it has, but
+// currently, it stops on seeing a bad suffix, treating that as the
+// next token. This effects things like token pasting, where it is
+// relevant how many tokens something was broken into.
+//
+// See peekContinuedPasting().
 int TPpContext::lFloatConst(int len, int ch, TPpToken* ppToken)
 {
     const auto saveName = [&](int ch) {
@@ -435,6 +442,14 @@
 //
 // Scanner used to tokenize source stream.
 //
+// N.B. Invalid numeric suffixes are not consumed.//
+// This is technically not correct, as the preprocessor should just
+// accept the numeric literal along with whatever suffix it has, but
+// currently, it stops on seeing a bad suffix, treating that as the
+// next token. This effects things like token pasting, where it is
+// relevant how many tokens something was broken into.
+// See peekContinuedPasting().
+//
 int TPpContext::tStringInput::scan(TPpToken* ppToken)
 {
     int AlreadyComplained = 0;
@@ -1116,7 +1131,7 @@
             parseContext.ppError(ppToken.loc, "character literals not supported", "\'", "");
             continue;
         default:
-            strcpy(ppToken.name, atomStrings.getString(token));
+            snprintf(ppToken.name, sizeof(ppToken.name), "%s", atomStrings.getString(token));
             break;
         }
 
@@ -1153,61 +1168,69 @@
             break;
         }
 
-        // get the token after the ##
-        token = scanToken(&pastedPpToken);
+        // Get the token(s) after the ##.
+        // Because of "space" semantics, and prior tokenization, what
+        // appeared a single token, e.g. "3A", might have been tokenized
+        // into two tokens "3" and "A", but the "A" will have 'space' set to
+        // false.  Accumulate all of these to recreate the original lexical
+        // appearing token.
+        do {
+            token = scanToken(&pastedPpToken);
 
-        // This covers end of argument expansion
-        if (token == tMarkerInput::marker) {
-            parseContext.ppError(ppToken.loc, "unexpected location; end of argument", "##", "");
-            break;
-        }
+            // This covers end of argument expansion
+            if (token == tMarkerInput::marker) {
+                parseContext.ppError(ppToken.loc, "unexpected location; end of argument", "##", "");
+                return resultToken;
+            }
 
-        // get the token text
-        switch (resultToken) {
-        case PpAtomIdentifier:
-            // already have the correct text in token.names
-            break;
-        case '=':
-        case '!':
-        case '-':
-        case '~':
-        case '+':
-        case '*':
-        case '/':
-        case '%':
-        case '<':
-        case '>':
-        case '|':
-        case '^':
-        case '&':
-        case PpAtomRight:
-        case PpAtomLeft:
-        case PpAtomAnd:
-        case PpAtomOr:
-        case PpAtomXor:
-            strcpy(ppToken.name, atomStrings.getString(resultToken));
-            strcpy(pastedPpToken.name, atomStrings.getString(token));
-            break;
-        default:
-            parseContext.ppError(ppToken.loc, "not supported for these tokens", "##", "");
-            return resultToken;
-        }
+            // get the token text
+            switch (resultToken) {
+            case PpAtomIdentifier:
+                // already have the correct text in token.names
+                break;
+            case '=':
+            case '!':
+            case '-':
+            case '~':
+            case '+':
+            case '*':
+            case '/':
+            case '%':
+            case '<':
+            case '>':
+            case '|':
+            case '^':
+            case '&':
+            case PpAtomRight:
+            case PpAtomLeft:
+            case PpAtomAnd:
+            case PpAtomOr:
+            case PpAtomXor:
+                snprintf(ppToken.name, sizeof(ppToken.name), "%s", atomStrings.getString(resultToken));
+                snprintf(pastedPpToken.name, sizeof(pastedPpToken.name), "%s", atomStrings.getString(token));
+                break;
+            default:
+                parseContext.ppError(ppToken.loc, "not supported for these tokens", "##", "");
+                return resultToken;
+            }
 
-        // combine the tokens
-        if (strlen(ppToken.name) + strlen(pastedPpToken.name) > MaxTokenLength) {
-            parseContext.ppError(ppToken.loc, "combined tokens are too long", "##", "");
-            return resultToken;
-        }
-        strncat(ppToken.name, pastedPpToken.name, MaxTokenLength - strlen(ppToken.name));
+            // combine the tokens
+            if (strlen(ppToken.name) + strlen(pastedPpToken.name) > MaxTokenLength) {
+                parseContext.ppError(ppToken.loc, "combined tokens are too long", "##", "");
+                return resultToken;
+            }
+            snprintf(&ppToken.name[0] + strlen(ppToken.name), sizeof(ppToken.name) - strlen(ppToken.name),
+                "%s", pastedPpToken.name);
 
-        // correct the kind of token we are making, if needed (identifiers stay identifiers)
-        if (resultToken != PpAtomIdentifier) {
-            int newToken = atomStrings.getAtom(ppToken.name);
-            if (newToken > 0)
-                resultToken = newToken;
-            else
-                parseContext.ppError(ppToken.loc, "combined token is invalid", "##", "");
-        }
+            // correct the kind of token we are making, if needed (identifiers stay identifiers)
+            if (resultToken != PpAtomIdentifier) {
+                int newToken = atomStrings.getAtom(ppToken.name);
+                if (newToken > 0)
+                    resultToken = newToken;
+                else
+                    parseContext.ppError(ppToken.loc, "combined token is invalid", "##", "");
+            }
+        } while (peekContinuedPasting(resultToken));
     }
 
     return resultToken;
diff --git a/glslang/MachineIndependent/preprocessor/PpTokens.cpp b/glslang/MachineIndependent/preprocessor/PpTokens.cpp
index f8029f5..ac9d8ac 100755
--- a/glslang/MachineIndependent/preprocessor/PpTokens.cpp
+++ b/glslang/MachineIndependent/preprocessor/PpTokens.cpp
@@ -99,151 +99,33 @@
 
 namespace glslang {
 
-
-namespace {
-
-    // When recording (and playing back) should the backing name string
-    // be saved (restored)?
-    bool SaveName(int atom)
-    {
-        switch (atom) {
-        case PpAtomIdentifier:
-        case PpAtomConstString:
-        case PpAtomConstInt:
-        case PpAtomConstUint:
-        case PpAtomConstInt64:
-        case PpAtomConstUint64:
-    #ifdef AMD_EXTENSIONS
-        case PpAtomConstInt16:
-        case PpAtomConstUint16:
-    #endif
-        case PpAtomConstFloat:
-        case PpAtomConstDouble:
-        case PpAtomConstFloat16:
-            return true;
-        default:
-            return false;
-        }
-    }
-
-    // When recording (and playing back) should the numeric value
-    // be saved (restored)?
-    bool SaveValue(int atom)
-    {
-        switch (atom) {
-        case PpAtomConstInt:
-        case PpAtomConstUint:
-        case PpAtomConstInt64:
-        case PpAtomConstUint64:
-    #ifdef AMD_EXTENSIONS
-        case PpAtomConstInt16:
-        case PpAtomConstUint16:
-    #endif
-        case PpAtomConstFloat:
-        case PpAtomConstDouble:
-        case PpAtomConstFloat16:
-            return true;
-        default:
-            return false;
-        }
-    }
-}
-
-// push onto back of stream
-void TPpContext::TokenStream::putSubtoken(char subtoken)
-{
-    data.push_back(static_cast<unsigned char>(subtoken));
-}
-
-// get the next token in stream
-int TPpContext::TokenStream::getSubtoken()
-{
-    if (current < data.size())
-        return data[current++];
-    else
-        return EndOfInput;
-}
-
-// back up one position in the stream
-void TPpContext::TokenStream::ungetSubtoken()
-{
-    if (current > 0)
-        --current;
-}
-
-// Add a complete token (including backing string) to the end of a list
-// for later playback.
+// Add a token (including backing string) to the end of a macro
+// token stream, for later playback.
 void TPpContext::TokenStream::putToken(int atom, TPpToken* ppToken)
 {
-    // save the atom
-    assert((atom & ~0xff) == 0);
-    putSubtoken(static_cast<char>(atom));
-
-    // save the backing name string
-    if (SaveName(atom)) {
-        const char* s = ppToken->name;
-        while (*s)
-            putSubtoken(*s++);
-        putSubtoken(0);
-    }
-
-    // save the numeric value
-    if (SaveValue(atom)) {
-        const char* n = reinterpret_cast<const char*>(&ppToken->i64val);
-        for (size_t i = 0; i < sizeof(ppToken->i64val); ++i)
-            putSubtoken(*n++);
-    }
+    TokenStream::Token streamToken(atom, *ppToken);
+    stream.push_back(streamToken);
 }
 
-// Read the next token from a token stream.
-// (Not the source stream, but a stream used to hold a tokenized macro).
+// Read the next token from a macro token stream.
 int TPpContext::TokenStream::getToken(TParseContextBase& parseContext, TPpToken *ppToken)
 {
-    // get the atom
-    int atom = getSubtoken();
-    if (atom == EndOfInput)
-        return atom;
+    if (atEnd())
+        return EndOfInput;
 
-    // init the token
-    ppToken->clear();
+    int atom = stream[currentPos++].get(*ppToken);
     ppToken->loc = parseContext.getCurrentLoc();
 
-    // get the backing name string
-    if (SaveName(atom)) {
-        int ch = getSubtoken();
-        int len = 0;
-        while (ch != 0 && ch != EndOfInput) {
-            if (len < MaxTokenLength) {
-                ppToken->name[len] = (char)ch;
-                len++;
-                ch = getSubtoken();
-            } else {
-                parseContext.error(ppToken->loc, "token too long", "", "");
-                break;
-            }
-        }
-        ppToken->name[len] = 0;
-    }
-
     // Check for ##, unless the current # is the last character
     if (atom == '#') {
-        if (current < data.size()) {
-            if (getSubtoken() == '#') {
-                parseContext.requireProfile(ppToken->loc, ~EEsProfile, "token pasting (##)");
-                parseContext.profileRequires(ppToken->loc, ~EEsProfile, 130, 0, "token pasting (##)");
-                atom = PpAtomPaste;
-            } else
-                ungetSubtoken();
+        if (peekToken('#')) {
+            parseContext.requireProfile(ppToken->loc, ~EEsProfile, "token pasting (##)");
+            parseContext.profileRequires(ppToken->loc, ~EEsProfile, 130, 0, "token pasting (##)");
+            currentPos++;
+            atom = PpAtomPaste;
         }
     }
 
-    // get the numeric value
-    if (SaveValue(atom)) {
-        char* n = reinterpret_cast<char*>(&ppToken->i64val);
-        for (size_t i = 0; i < sizeof(ppToken->i64val); ++i)
-            *n++ = (char)getSubtoken();
-    }
-
     return atom;
 }
 
@@ -256,15 +138,14 @@
 {
     // 1. preceding ##?
 
-    size_t savePos = current;
-    int subtoken;
+    size_t savePos = currentPos;
     // skip white space
-    do {
-        subtoken = getSubtoken();
-    } while (subtoken == ' ');
-    current = savePos;
-    if (subtoken == PpAtomPaste)
+    while (peekToken(' '))
+        ++currentPos;
+    if (peekToken(PpAtomPaste)) {
+        currentPos = savePos;
         return true;
+    }
 
     // 2. last token and we've been told after this there will be a ##
 
@@ -273,18 +154,18 @@
     // Getting here means the last token will be pasted, after this
 
     // Are we at the last non-whitespace token?
-    savePos = current;
+    savePos = currentPos;
     bool moreTokens = false;
     do {
-        subtoken = getSubtoken();
-        if (subtoken == EndOfInput)
+        if (atEnd())
             break;
-        if (subtoken != ' ') {
+        if (!peekToken(' ')) {
             moreTokens = true;
             break;
         }
+        ++currentPos;
     } while (true);
-    current = savePos;
+    currentPos = savePos;
 
     return !moreTokens;
 }
@@ -293,23 +174,21 @@
 bool TPpContext::TokenStream::peekUntokenizedPasting()
 {
     // don't return early, have to restore this
-    size_t savePos = current;
+    size_t savePos = currentPos;
 
     // skip white-space
-    int subtoken;
-    do {
-        subtoken = getSubtoken();
-    } while (subtoken == ' ');
+    while (peekToken(' '))
+        ++currentPos;
 
     // check for ##
     bool pasting = false;
-    if (subtoken == '#') {
-        subtoken = getSubtoken();
-        if (subtoken == '#')
+    if (peekToken('#')) {
+        ++currentPos;
+        if (peekToken('#'))
             pasting = true;
     }
 
-    current = savePos;
+    currentPos = savePos;
 
     return pasting;
 }
diff --git a/glslang/MachineIndependent/reflection.cpp b/glslang/MachineIndependent/reflection.cpp
index 8cfc2ac..2b28403 100644
--- a/glslang/MachineIndependent/reflection.cpp
+++ b/glslang/MachineIndependent/reflection.cpp
@@ -93,26 +93,71 @@
             // Use a degenerate (empty) set of dereferences to immediately put as at the end of
             // the dereference change expected by blowUpActiveAggregate.
             TList<TIntermBinary*> derefs;
-            blowUpActiveAggregate(base.getType(), base.getName(), derefs, derefs.end(), -1, -1, 0);
+            blowUpActiveAggregate(base.getType(), base.getName(), derefs, derefs.end(), -1, -1, 0, 0,
+                                  base.getQualifier().storage, true);
         }
     }
 
-    void addAttribute(const TIntermSymbol& base)
+    void addPipeIOVariable(const TIntermSymbol& base)
     {
         if (processedDerefs.find(&base) == processedDerefs.end()) {
             processedDerefs.insert(&base);
 
             const TString &name = base.getName();
             const TType &type = base.getType();
+            const bool input = base.getQualifier().isPipeInput();
 
-            TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(name);
-            if (it == reflection.nameToIndex.end()) {
-                reflection.nameToIndex[name] = (int)reflection.indexToAttribute.size();
-                reflection.indexToAttribute.push_back(TObjectReflection(name, type, 0, mapToGlType(type), 0, 0));
+            TReflection::TMapIndexToReflection &ioItems =
+                input ? reflection.indexToPipeInput : reflection.indexToPipeOutput;
+
+            if (reflection.options & EShReflectionUnwrapIOBlocks) {
+                bool anonymous = IsAnonymous(name);
+
+                TString baseName;
+                if (type.getBasicType() == EbtBlock) {
+                    baseName = anonymous ? TString() : type.getTypeName();
+                } else {
+                    baseName = anonymous ? TString() : name;
+                }
+
+                // by convention if this is an arrayed block we ignore the array in the reflection
+                if (type.isArray() && type.getBasicType() == EbtBlock) {
+                    blowUpIOAggregate(input, baseName, TType(type, 0));
+                } else {               
+                    blowUpIOAggregate(input, baseName, type);
+                }
+            } else {
+                TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(name.c_str());
+                if (it == reflection.nameToIndex.end()) {
+                    reflection.nameToIndex[name.c_str()] = (int)ioItems.size();
+                    ioItems.push_back(
+                        TObjectReflection(name.c_str(), type, 0, mapToGlType(type), mapToGlArraySize(type), 0));
+
+                    EShLanguageMask& stages = ioItems.back().stages;
+                    stages = static_cast<EShLanguageMask>(stages | 1 << intermediate.getStage());
+                } else {
+                    EShLanguageMask& stages = ioItems[it->second].stages;
+                    stages = static_cast<EShLanguageMask>(stages | 1 << intermediate.getStage());
+                }
             }
         }
     }
 
+    // shared calculation by getOffset and getOffsets
+    void updateOffset(const TType& parentType, const TType& memberType, int& offset, int& memberSize)
+    {
+        int dummyStride;
+
+        // modify just the children's view of matrix layout, if there is one for this member
+        TLayoutMatrix subMatrixLayout = memberType.getQualifier().layoutMatrix;
+        int memberAlignment = intermediate.getMemberAlignment(memberType, memberSize, dummyStride,
+                                                              parentType.getQualifier().layoutPacking,
+                                                              subMatrixLayout != ElmNone
+                                                                  ? subMatrixLayout == ElmRowMajor
+                                                                  : parentType.getQualifier().layoutMatrix == ElmRowMajor);
+        RoundToPow2(offset, memberAlignment);
+    }
+
     // Lookup or calculate the offset of a block member, using the recursively
     // defined block offset rules.
     int getOffset(const TType& type, int index)
@@ -125,18 +170,11 @@
         if (memberList[index].type->getQualifier().hasOffset())
             return memberList[index].type->getQualifier().layoutOffset;
 
-        int memberSize;
-        int dummyStride;
+        int memberSize = 0;
         int offset = 0;
         for (int m = 0; m <= index; ++m) {
-            // modify just the children's view of matrix layout, if there is one for this member
-            TLayoutMatrix subMatrixLayout = memberList[m].type->getQualifier().layoutMatrix;
-            int memberAlignment = intermediate.getMemberAlignment(*memberList[m].type, memberSize, dummyStride,
-                                                                  type.getQualifier().layoutPacking,
-                                                                  subMatrixLayout != ElmNone
-                                                                      ? subMatrixLayout == ElmRowMajor
-                                                                      : type.getQualifier().layoutMatrix == ElmRowMajor);
-            RoundToPow2(offset, memberAlignment);
+            updateOffset(type, *memberList[m].type, offset, memberSize);
+
             if (m < index)
                 offset += memberSize;
         }
@@ -144,6 +182,50 @@
         return offset;
     }
 
+    // Lookup or calculate the offset of all block members at once, using the recursively
+    // defined block offset rules.
+    void getOffsets(const TType& type, TVector<int>& offsets)
+    {
+        const TTypeList& memberList = *type.getStruct();
+
+        int memberSize = 0;
+        int offset = 0;
+        for (size_t m = 0; m < offsets.size(); ++m) {
+            // if the user supplied an offset, snap to it now
+            if (memberList[m].type->getQualifier().hasOffset())
+                offset = memberList[m].type->getQualifier().layoutOffset;
+
+            // calculate the offset of the next member and align the current offset to this member
+            updateOffset(type, *memberList[m].type, offset, memberSize);
+
+            // save the offset of this member
+            offsets[m] = offset;
+
+            // update for the next member
+            offset += memberSize;
+        }
+    }
+
+    // Calculate the stride of an array type
+    int getArrayStride(const TType& baseType, const TType& type)
+    {
+        int dummySize;
+        int stride;
+
+        // consider blocks to have 0 stride, so that all offsets are relative to the start of their block
+        if (type.getBasicType() == EbtBlock)
+            return 0;
+
+        TLayoutMatrix subMatrixLayout = type.getQualifier().layoutMatrix;
+        intermediate.getMemberAlignment(type, dummySize, stride,
+                                        baseType.getQualifier().layoutPacking,
+                                        subMatrixLayout != ElmNone
+                                            ? subMatrixLayout == ElmRowMajor
+                                            : baseType.getQualifier().layoutMatrix == ElmRowMajor);
+
+        return stride;
+    }
+
     // Calculate the block data size.
     // Block arrayness is not taken into account, each element is backed by a separate buffer.
     int getBlockSize(const TType& blockType)
@@ -161,6 +243,36 @@
         return lastOffset + lastMemberSize;
     }
 
+    // count the total number of leaf members from iterating out of a block type
+    int countAggregateMembers(const TType& parentType)
+    {
+        if (! parentType.isStruct())
+            return 1;
+
+        const bool strictArraySuffix = (reflection.options & EShReflectionStrictArraySuffix);
+
+        bool blockParent = (parentType.getBasicType() == EbtBlock && parentType.getQualifier().storage == EvqBuffer);
+
+        const TTypeList &memberList = *parentType.getStruct();
+
+        int ret = 0;
+
+        for (size_t i = 0; i < memberList.size(); i++)
+        {
+            const TType &memberType = *memberList[i].type;
+            int numMembers = countAggregateMembers(memberType);
+            // for sized arrays of structs, apply logic to expand out the same as we would below in
+            // blowUpActiveAggregate
+            if (memberType.isArray() && ! memberType.getArraySizes()->hasUnsized() && memberType.isStruct()) {
+                if (! strictArraySuffix || ! blockParent)
+                    numMembers *= memberType.getArraySizes()->getCumulativeSize();
+            }
+            ret += numMembers;
+        }
+
+        return ret;
+    }
+
     // Traverse the provided deref chain, including the base, and
     // - build a full reflection-granularity name, array size, etc. entry out of it, if it goes down to that granularity
     // - recursively expand any variable array index in the middle of that traversal
@@ -169,8 +281,19 @@
     // arraySize tracks, just for the final dereference in the chain, if there was a specific known size.
     // A value of 0 for arraySize will mean to use the full array's size.
     void blowUpActiveAggregate(const TType& baseType, const TString& baseName, const TList<TIntermBinary*>& derefs,
-                               TList<TIntermBinary*>::const_iterator deref, int offset, int blockIndex, int arraySize)
+                               TList<TIntermBinary*>::const_iterator deref, int offset, int blockIndex, int arraySize,
+                               int topLevelArrayStride, TStorageQualifier baseStorage, bool active)
     {
+        // when strictArraySuffix is enabled, we closely follow the rules from ARB_program_interface_query.
+        // Broadly:
+        // * arrays-of-structs always have a [x] suffix.
+        // * with array-of-struct variables in the root of a buffer block, only ever return [0].
+        // * otherwise, array suffixes are added whenever we iterate, even if that means expanding out an array.
+        const bool strictArraySuffix = (reflection.options & EShReflectionStrictArraySuffix);
+
+        // is this variable inside a buffer block. This flag is set back to false after we iterate inside the first array element.
+        bool blockParent = (baseType.getBasicType() == EbtBlock && baseType.getQualifier().storage == EvqBuffer);
+
         // process the part of the dereference chain that was explicit in the shader
         TString name = baseName;
         const TType* terminalType = &baseType;
@@ -179,25 +302,50 @@
             terminalType = &visitNode->getType();
             int index;
             switch (visitNode->getOp()) {
-            case EOpIndexIndirect:
+            case EOpIndexIndirect: {
+                int stride = getArrayStride(baseType, visitNode->getLeft()->getType());
+
+                if (topLevelArrayStride == 0)
+                    topLevelArrayStride = stride;
+
                 // Visit all the indices of this array, and for each one add on the remaining dereferencing
                 for (int i = 0; i < std::max(visitNode->getLeft()->getType().getOuterArraySize(), 1); ++i) {
                     TString newBaseName = name;
-                    if (baseType.getBasicType() != EbtBlock)
+                    if (strictArraySuffix && blockParent)
+                        newBaseName.append(TString("[0]"));
+                    else if (strictArraySuffix || baseType.getBasicType() != EbtBlock)
                         newBaseName.append(TString("[") + String(i) + "]");
                     TList<TIntermBinary*>::const_iterator nextDeref = deref;
                     ++nextDeref;
-                    TType derefType(*terminalType, 0);
-                    blowUpActiveAggregate(derefType, newBaseName, derefs, nextDeref, offset, blockIndex, arraySize);
+                    blowUpActiveAggregate(*terminalType, newBaseName, derefs, nextDeref, offset, blockIndex, arraySize,
+                                          topLevelArrayStride, baseStorage, active);
+
+                    if (offset >= 0)
+                        offset += stride;
                 }
 
                 // it was all completed in the recursive calls above
                 return;
-            case EOpIndexDirect:
+            }
+            case EOpIndexDirect: {
+                int stride = getArrayStride(baseType, visitNode->getLeft()->getType());
+
                 index = visitNode->getRight()->getAsConstantUnion()->getConstArray()[0].getIConst();
-                if (baseType.getBasicType() != EbtBlock)
+                if (strictArraySuffix && blockParent) {
+                    name.append(TString("[0]"));
+                } else if (strictArraySuffix || baseType.getBasicType() != EbtBlock) {
                     name.append(TString("[") + String(index) + "]");
+
+                    if (offset >= 0)
+                        offset += stride * index;
+                }
+
+                if (topLevelArrayStride == 0)
+                    topLevelArrayStride = stride;
+
+                blockParent = false;
                 break;
+            }
             case EOpIndexDirectStruct:
                 index = visitNode->getRight()->getAsConstantUnion()->getConstArray()[0].getIConst();
                 if (offset >= 0)
@@ -213,24 +361,65 @@
 
         // if the terminalType is still too coarse a granularity, this is still an aggregate to expand, expand it...
         if (! isReflectionGranularity(*terminalType)) {
+            // the base offset of this node, that children are relative to
+            int baseOffset = offset;
+
             if (terminalType->isArray()) {
                 // Visit all the indices of this array, and for each one,
                 // fully explode the remaining aggregate to dereference
-                for (int i = 0; i < std::max(terminalType->getOuterArraySize(), 1); ++i) {
+
+                int stride = 0;
+                if (offset >= 0)
+                    stride = getArrayStride(baseType, *terminalType);
+
+                if (topLevelArrayStride == 0)
+                    topLevelArrayStride = stride;
+
+                int arrayIterateSize = std::max(terminalType->getOuterArraySize(), 1);
+
+                // for top-level arrays in blocks, only expand [0] to avoid explosion of items
+                if (strictArraySuffix && blockParent)
+                    arrayIterateSize = 1;
+
+                for (int i = 0; i < arrayIterateSize; ++i) {
                     TString newBaseName = name;
                     newBaseName.append(TString("[") + String(i) + "]");
                     TType derefType(*terminalType, 0);
-                    blowUpActiveAggregate(derefType, newBaseName, derefs, derefs.end(), offset, blockIndex, 0);
+                    if (offset >= 0)
+                        offset = baseOffset + stride * i;
+
+                    blowUpActiveAggregate(derefType, newBaseName, derefs, derefs.end(), offset, blockIndex, 0,
+                                          topLevelArrayStride, baseStorage, active);
                 }
             } else {
                 // Visit all members of this aggregate, and for each one,
                 // fully explode the remaining aggregate to dereference
                 const TTypeList& typeList = *terminalType->getStruct();
+
+                TVector<int> memberOffsets;
+
+                if (baseOffset >= 0) {
+                    memberOffsets.resize(typeList.size());
+                    getOffsets(*terminalType, memberOffsets);
+                }
+
                 for (int i = 0; i < (int)typeList.size(); ++i) {
                     TString newBaseName = name;
-                    newBaseName.append(TString(".") + typeList[i].type->getFieldName());
+                    if (newBaseName.size() > 0)
+                        newBaseName.append(".");
+                    newBaseName.append(typeList[i].type->getFieldName());
                     TType derefType(*terminalType, i);
-                    blowUpActiveAggregate(derefType, newBaseName, derefs, derefs.end(), offset, blockIndex, 0);
+                    if (offset >= 0)
+                        offset = baseOffset + memberOffsets[i];
+
+                    int arrayStride = topLevelArrayStride;
+                    if (terminalType->getBasicType() == EbtBlock && terminalType->getQualifier().storage == EvqBuffer &&
+                        derefType.isArray()) {
+                        arrayStride = getArrayStride(baseType, derefType);
+                    }
+
+                    blowUpActiveAggregate(derefType, newBaseName, derefs, derefs.end(), offset, blockIndex, 0,
+                                          arrayStride, baseStorage, active);
                 }
             }
 
@@ -238,6 +427,10 @@
             return;
         }
 
+        if ((reflection.options & EShReflectionBasicArraySuffix) && terminalType->isArray()) {
+            name.append(TString("[0]"));
+        }
+
         // Finally, add a full string to the reflection database, and update the array size if necessary.
         // If the dereferenced entity to record is an array, compute the size and update the maximum size.
 
@@ -245,15 +438,100 @@
         if (arraySize == 0)
             arraySize = mapToGlArraySize(*terminalType);
 
-        TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(name);
+        TReflection::TMapIndexToReflection& variables = reflection.GetVariableMapForStorage(baseStorage);
+
+        TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(name.c_str());
         if (it == reflection.nameToIndex.end()) {
-            reflection.nameToIndex[name] = (int)reflection.indexToUniform.size();
-            reflection.indexToUniform.push_back(TObjectReflection(name, *terminalType, offset,
-                                                                  mapToGlType(*terminalType),
-                                                                  arraySize, blockIndex));
-        } else if (arraySize > 1) {
-            int& reflectedArraySize = reflection.indexToUniform[it->second].size;
-            reflectedArraySize = std::max(arraySize, reflectedArraySize);
+            int uniformIndex = (int)variables.size();
+            reflection.nameToIndex[name.c_str()] = uniformIndex;
+            variables.push_back(TObjectReflection(name.c_str(), *terminalType, offset, mapToGlType(*terminalType),
+                                                  arraySize, blockIndex));
+            if (terminalType->isArray()) {
+                variables.back().arrayStride = getArrayStride(baseType, *terminalType);
+                if (topLevelArrayStride == 0)
+                    topLevelArrayStride = variables.back().arrayStride;
+            }
+
+            if ((reflection.options & EShReflectionSeparateBuffers) && terminalType->getBasicType() == EbtAtomicUint)
+                reflection.atomicCounterUniformIndices.push_back(uniformIndex);
+
+            variables.back().topLevelArrayStride = topLevelArrayStride;
+            
+            if ((reflection.options & EShReflectionAllBlockVariables) && active) {
+                EShLanguageMask& stages = variables.back().stages;
+                stages = static_cast<EShLanguageMask>(stages | 1 << intermediate.getStage());
+            }
+        } else {
+            if (arraySize > 1) {
+                int& reflectedArraySize = variables[it->second].size;
+                reflectedArraySize = std::max(arraySize, reflectedArraySize);
+            }
+
+            if ((reflection.options & EShReflectionAllBlockVariables) && active) {
+              EShLanguageMask& stages = variables[it->second].stages;
+              stages = static_cast<EShLanguageMask>(stages | 1 << intermediate.getStage());
+            }
+        }
+    }
+    
+    // similar to blowUpActiveAggregate, but with simpler rules and no dereferences to follow.
+    void blowUpIOAggregate(bool input, const TString &baseName, const TType &type)
+    {
+        TString name = baseName;
+
+        // if the type is still too coarse a granularity, this is still an aggregate to expand, expand it...
+        if (! isReflectionGranularity(type)) {
+            if (type.isArray()) {
+                // Visit all the indices of this array, and for each one,
+                // fully explode the remaining aggregate to dereference
+                for (int i = 0; i < std::max(type.getOuterArraySize(), 1); ++i) {
+                    TString newBaseName = name;
+                    newBaseName.append(TString("[") + String(i) + "]");
+                    TType derefType(type, 0);
+
+                    blowUpIOAggregate(input, newBaseName, derefType);
+                }
+            } else {
+                // Visit all members of this aggregate, and for each one,
+                // fully explode the remaining aggregate to dereference
+                const TTypeList& typeList = *type.getStruct();
+
+                for (int i = 0; i < (int)typeList.size(); ++i) {
+                    TString newBaseName = name;
+                    if (newBaseName.size() > 0)
+                        newBaseName.append(".");
+                    newBaseName.append(typeList[i].type->getFieldName());
+                    TType derefType(type, i);
+
+                    blowUpIOAggregate(input, newBaseName, derefType);
+                }
+            }
+
+            // it was all completed in the recursive calls above
+            return;
+        }
+
+        if ((reflection.options & EShReflectionBasicArraySuffix) && type.isArray()) {
+            name.append(TString("[0]"));
+        }
+
+        TReflection::TMapIndexToReflection &ioItems =
+            input ? reflection.indexToPipeInput : reflection.indexToPipeOutput;
+
+        std::string namespacedName = input ? "in " : "out ";
+        namespacedName += name.c_str();
+
+        TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(namespacedName);
+        if (it == reflection.nameToIndex.end()) {
+            reflection.nameToIndex[namespacedName] = (int)ioItems.size();
+            ioItems.push_back(
+                TObjectReflection(name.c_str(), type, 0, mapToGlType(type), mapToGlArraySize(type), 0));
+
+            EShLanguageMask& stages = ioItems.back().stages;
+            stages = static_cast<EShLanguageMask>(stages | 1 << intermediate.getStage());
+        } else {
+            EShLanguageMask& stages = ioItems[it->second].stages;
+            stages = static_cast<EShLanguageMask>(stages | 1 << intermediate.getStage());
         }
     }
 
@@ -303,6 +581,10 @@
             anonymous = IsAnonymous(base->getName());
 
             const TString& blockName = base->getType().getTypeName();
+            TString baseName;
+            
+            if (! anonymous)
+                baseName = blockName;
 
             if (base->getType().isArray()) {
                 TType derefType(base->getType(), 0);
@@ -311,8 +593,56 @@
                 for (int e = 0; e < base->getType().getCumulativeArraySize(); ++e)
                     blockIndex = addBlockName(blockName + "[" + String(e) + "]", derefType,
                                               getBlockSize(base->getType()));
+                baseName.append(TString("[0]"));
             } else
                 blockIndex = addBlockName(blockName, base->getType(), getBlockSize(base->getType()));
+
+            if (reflection.options & EShReflectionAllBlockVariables) {
+                // Use a degenerate (empty) set of dereferences to immediately put as at the end of
+                // the dereference change expected by blowUpActiveAggregate.
+                TList<TIntermBinary*> derefs;
+
+                // because we don't have any derefs, the first thing blowUpActiveAggregate will do is iterate over each
+                // member in the struct definition. This will lose any information about whether the parent was a buffer
+                // block. So if we're using strict array rules which don't expand the first child of a buffer block we
+                // instead iterate over the children here.
+                const bool strictArraySuffix = (reflection.options & EShReflectionStrictArraySuffix);
+                bool blockParent = (base->getType().getBasicType() == EbtBlock && base->getQualifier().storage == EvqBuffer);
+
+                if (strictArraySuffix && blockParent) {
+                    const TTypeList& typeList = *base->getType().getStruct();
+
+                    TVector<int> memberOffsets;
+
+                    memberOffsets.resize(typeList.size());
+                    getOffsets(base->getType(), memberOffsets);
+
+                    for (int i = 0; i < (int)typeList.size(); ++i) {
+                        TType derefType(base->getType(), i);
+                        TString name = baseName;
+                        if (name.size() > 0)
+                            name.append(".");
+                        name.append(typeList[i].type->getFieldName());
+
+                        // if this member is an array, store the top-level array stride but start the explosion from
+                        // the inner struct type.
+                        if (derefType.isArray() && derefType.isStruct()) {
+                            name.append("[0]");
+                            blowUpActiveAggregate(TType(derefType, 0), name, derefs, derefs.end(), memberOffsets[i],
+                                                  blockIndex, 0, getArrayStride(base->getType(), derefType),
+                                                  base->getQualifier().storage, false);
+                        } else {
+                            blowUpActiveAggregate(derefType, name, derefs, derefs.end(), memberOffsets[i], blockIndex,
+                                                  0, 0, base->getQualifier().storage, false);
+                        }
+                    }
+                } else {
+                    // otherwise - if we're not using strict array suffix rules, or this isn't a block so we are
+                    // expanding root arrays anyway, just start the iteration from the base block type.
+                    blowUpActiveAggregate(base->getType(), baseName, derefs, derefs.end(), 0, blockIndex, 0, 0,
+                                          base->getQualifier().storage, false);
+                }
+            }
         }
 
         // Process the dereference chain, backward, accumulating the pieces for later forward traversal.
@@ -342,27 +672,39 @@
             else
                 baseName = base->getName();
         }
-        blowUpActiveAggregate(base->getType(), baseName, derefs, derefs.begin(), offset, blockIndex, arraySize);
+        blowUpActiveAggregate(base->getType(), baseName, derefs, derefs.begin(), offset, blockIndex, arraySize, 0,
+                              base->getQualifier().storage, true);
     }
 
     int addBlockName(const TString& name, const TType& type, int size)
     {
+        TReflection::TMapIndexToReflection& blocks = reflection.GetBlockMapForStorage(type.getQualifier().storage);
+
         int blockIndex;
-        TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(name);
-        if (reflection.nameToIndex.find(name) == reflection.nameToIndex.end()) {
-            blockIndex = (int)reflection.indexToUniformBlock.size();
-            reflection.nameToIndex[name] = blockIndex;
-            reflection.indexToUniformBlock.push_back(TObjectReflection(name, type, -1, -1, size, -1));
-        } else
+        TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(name.c_str());
+        if (reflection.nameToIndex.find(name.c_str()) == reflection.nameToIndex.end()) {
+            blockIndex = (int)blocks.size();
+            reflection.nameToIndex[name.c_str()] = blockIndex;
+            blocks.push_back(TObjectReflection(name.c_str(), type, -1, -1, size, -1));
+
+            blocks.back().numMembers = countAggregateMembers(type);
+
+            EShLanguageMask& stages = blocks.back().stages;
+            stages = static_cast<EShLanguageMask>(stages | 1 << intermediate.getStage());
+        } else {
             blockIndex = it->second;
 
+            EShLanguageMask& stages = blocks[blockIndex].stages;
+            stages = static_cast<EShLanguageMask>(stages | 1 << intermediate.getStage());
+        }
+
         return blockIndex;
     }
 
     // Are we at a level in a dereference chain at which individual active uniform queries are made?
     bool isReflectionGranularity(const TType& type)
     {
-        return type.getBasicType() != EbtBlock && type.getBasicType() != EbtStruct;
+        return type.getBasicType() != EbtBlock && type.getBasicType() != EbtStruct && !type.isArrayOfArrays();
     }
 
     // For a binary operation indexing into an aggregate, chase down the base of the aggregate.
@@ -746,8 +1088,47 @@
     if (base->getQualifier().storage == EvqUniform)
         addUniform(*base);
 
-    if (intermediate.getStage() == EShLangVertex && base->getQualifier().isPipeInput())
-        addAttribute(*base);
+    if ((intermediate.getStage() == reflection.firstStage && base->getQualifier().isPipeInput()) ||
+        (intermediate.getStage() == reflection.lastStage && base->getQualifier().isPipeOutput()))
+        addPipeIOVariable(*base);
+}
+
+//
+// Implement TObjectReflection methods.
+//
+
+TObjectReflection::TObjectReflection(const std::string &pName, const TType &pType, int pOffset, int pGLDefineType,
+                                     int pSize, int pIndex)
+    : name(pName), offset(pOffset), glDefineType(pGLDefineType), size(pSize), index(pIndex), counterIndex(-1),
+      numMembers(-1), arrayStride(0), topLevelArrayStride(0), stages(EShLanguageMask(0)), type(pType.clone())
+{
+}
+
+int TObjectReflection::getBinding() const
+{
+    if (type == nullptr || !type->getQualifier().hasBinding())
+        return -1;
+    return type->getQualifier().layoutBinding;
+}
+
+void TObjectReflection::dump() const
+{
+    printf("%s: offset %d, type %x, size %d, index %d, binding %d, stages %d", name.c_str(), offset, glDefineType, size,
+           index, getBinding(), stages);
+
+    if (counterIndex != -1)
+        printf(", counter %d", counterIndex);
+
+    if (numMembers != -1)
+        printf(", numMembers %d", numMembers);
+
+    if (arrayStride != 0)
+        printf(", arrayStride %d", arrayStride);
+
+    if (topLevelArrayStride != 0)
+        printf(", topLevelArrayStride %d", topLevelArrayStride);
+
+    printf("\n");
 }
 
 //
@@ -770,7 +1151,7 @@
 {
     // search for ones that have counters
     for (int i = 0; i < int(indexToUniformBlock.size()); ++i) {
-        const TString counterName(intermediate.addCounterBufferName(indexToUniformBlock[i].name));
+        const TString counterName(intermediate.addCounterBufferName(indexToUniformBlock[i].name).c_str());
         const int index = getIndex(counterName);
 
         if (index >= 0)
@@ -781,9 +1162,17 @@
 // build Shader Stages mask for all uniforms
 void TReflection::buildUniformStageMask(const TIntermediate& intermediate)
 {
+    if (options & EShReflectionAllBlockVariables)
+        return;
+
     for (int i = 0; i < int(indexToUniform.size()); ++i) {
         indexToUniform[i].stages = static_cast<EShLanguageMask>(indexToUniform[i].stages | 1 << intermediate.getStage());
     }
+
+    for (int i = 0; i < int(indexToBufferVariable.size()); ++i) {
+        indexToBufferVariable[i].stages =
+            static_cast<EShLanguageMask>(indexToBufferVariable[i].stages | 1 << intermediate.getStage());
+    }
 }
 
 // Merge live symbols from 'intermediate' into the existing reflection database.
@@ -828,9 +1217,24 @@
         indexToUniformBlock[i].dump();
     printf("\n");
 
-    printf("Vertex attribute reflection:\n");
-    for (size_t i = 0; i < indexToAttribute.size(); ++i)
-        indexToAttribute[i].dump();
+    printf("Buffer variable reflection:\n");
+    for (size_t i = 0; i < indexToBufferVariable.size(); ++i)
+      indexToBufferVariable[i].dump();
+    printf("\n");
+
+    printf("Buffer block reflection:\n");
+    for (size_t i = 0; i < indexToBufferBlock.size(); ++i)
+      indexToBufferBlock[i].dump();
+    printf("\n");
+
+    printf("Pipeline input reflection:\n");
+    for (size_t i = 0; i < indexToPipeInput.size(); ++i)
+        indexToPipeInput[i].dump();
+    printf("\n");
+
+    printf("Pipeline output reflection:\n");
+    for (size_t i = 0; i < indexToPipeOutput.size(); ++i)
+        indexToPipeOutput[i].dump();
     printf("\n");
 
     if (getLocalSize(0) > 1) {
diff --git a/glslang/MachineIndependent/reflection.h b/glslang/MachineIndependent/reflection.h
index 49282c3..44b17a0 100644
--- a/glslang/MachineIndependent/reflection.h
+++ b/glslang/MachineIndependent/reflection.h
@@ -52,50 +52,11 @@
 class TIntermAggregate;
 class TReflectionTraverser;
 
-// Data needed for just a single object at the granularity exchanged by the reflection API
-class TObjectReflection {
-public:
-    TObjectReflection(const TString& pName, const TType& pType, int pOffset, int pGLDefineType, int pSize, int pIndex) :
-        name(pName), offset(pOffset),
-        glDefineType(pGLDefineType), size(pSize), index(pIndex), counterIndex(-1), stages(EShLanguageMask(0)), type(pType.clone()) { }
-
-    const TType* getType() const { return type; }
-    int getBinding() const
-    {
-        if (type == nullptr || !type->getQualifier().hasBinding())
-            return -1;
-        return type->getQualifier().layoutBinding;
-    }
-    void dump() const
-    {
-        printf("%s: offset %d, type %x, size %d, index %d, binding %d, stages %d",
-               name.c_str(), offset, glDefineType, size, index, getBinding(), stages );
-
-        if (counterIndex != -1)
-            printf(", counter %d", counterIndex);
-
-        printf("\n");
-    }
-    static TObjectReflection badReflection() { return TObjectReflection(); }
-
-    TString name;
-    int offset;
-    int glDefineType;
-    int size;         // data size in bytes for a block, array size for a (non-block) object that's an array
-    int index;
-    int counterIndex;
-    EShLanguageMask stages;
-
-protected:
-    TObjectReflection() : offset(-1), glDefineType(-1), size(-1), index(-1), type(nullptr) { }
-
-    const TType* type;
-};
-
 // The full reflection database
 class TReflection {
 public:
-    TReflection() : badReflection(TObjectReflection::badReflection())
+    TReflection(EShReflectionOptions opts, EShLanguage first, EShLanguage last)
+        : options(opts), firstStage(first), lastStage(last), badReflection(TObjectReflection::badReflection())
     { 
         for (int dim=0; dim<3; ++dim)
             localSize[dim] = 0;
@@ -126,17 +87,57 @@
             return badReflection;
     }
 
-    // for mapping an attribute index to the attribute's description
-    int getNumAttributes() { return (int)indexToAttribute.size(); }
-    const TObjectReflection& getAttribute(int i) const
+    // for mapping an pipeline input index to the input's description
+    int getNumPipeInputs() { return (int)indexToPipeInput.size(); }
+    const TObjectReflection& getPipeInput(int i) const
     {
-        if (i >= 0 && i < (int)indexToAttribute.size())
-            return indexToAttribute[i];
+        if (i >= 0 && i < (int)indexToPipeInput.size())
+            return indexToPipeInput[i];
         else
             return badReflection;
     }
 
-    // for mapping any name to its index (block names, uniform names and attribute names)
+    // for mapping an pipeline output index to the output's description
+    int getNumPipeOutputs() { return (int)indexToPipeOutput.size(); }
+    const TObjectReflection& getPipeOutput(int i) const
+    {
+        if (i >= 0 && i < (int)indexToPipeOutput.size())
+            return indexToPipeOutput[i];
+        else
+            return badReflection;
+    }
+
+    // for mapping from an atomic counter to the uniform index
+    int getNumAtomicCounters() const { return (int)atomicCounterUniformIndices.size(); }
+    const TObjectReflection& getAtomicCounter(int i) const
+    {
+        if (i >= 0 && i < (int)atomicCounterUniformIndices.size())
+            return getUniform(atomicCounterUniformIndices[i]);
+        else
+            return badReflection;
+    }
+
+    // for mapping a buffer variable index to a buffer variable object's description
+    int getNumBufferVariables() { return (int)indexToBufferVariable.size(); }
+    const TObjectReflection& getBufferVariable(int i) const
+    {
+        if (i >= 0 && i < (int)indexToBufferVariable.size())
+            return indexToBufferVariable[i];
+        else
+            return badReflection;
+    }
+    
+    // for mapping a storage block index to the storage block's description
+    int getNumStorageBuffers() const { return (int)indexToBufferBlock.size(); }
+    const TObjectReflection&  getStorageBufferBlock(int i) const
+    {
+        if (i >= 0 && i < (int)indexToBufferBlock.size())
+            return indexToBufferBlock[i];
+        else
+            return badReflection;
+    }
+
+    // for mapping any name to its index (block names, uniform names and input/output names)
     int getIndex(const char* name) const
     {
         TNameToIndex::const_iterator it = nameToIndex.find(name);
@@ -162,14 +163,37 @@
     void buildAttributeReflection(EShLanguage, const TIntermediate&);
 
     // Need a TString hash: typedef std::unordered_map<TString, int> TNameToIndex;
-    typedef std::map<TString, int> TNameToIndex;
+    typedef std::map<std::string, int> TNameToIndex;
     typedef std::vector<TObjectReflection> TMapIndexToReflection;
+    typedef std::vector<int> TIndices;
+
+    TMapIndexToReflection& GetBlockMapForStorage(TStorageQualifier storage)
+    {
+        if ((options & EShReflectionSeparateBuffers) && storage == EvqBuffer)
+            return indexToBufferBlock;
+        return indexToUniformBlock;
+    }
+    TMapIndexToReflection& GetVariableMapForStorage(TStorageQualifier storage)
+    {
+        if ((options & EShReflectionSeparateBuffers) && storage == EvqBuffer)
+            return indexToBufferVariable;
+        return indexToUniform;
+    }
+
+    EShReflectionOptions options;
+
+    EShLanguage firstStage;
+    EShLanguage lastStage;
 
     TObjectReflection badReflection; // return for queries of -1 or generally out of range; has expected descriptions with in it for this
     TNameToIndex nameToIndex;        // maps names to indexes; can hold all types of data: uniform/buffer and which function names have been processed
     TMapIndexToReflection indexToUniform;
     TMapIndexToReflection indexToUniformBlock;
-    TMapIndexToReflection indexToAttribute;
+    TMapIndexToReflection indexToBufferVariable;
+    TMapIndexToReflection indexToBufferBlock;
+    TMapIndexToReflection indexToPipeInput;
+    TMapIndexToReflection indexToPipeOutput;
+    TIndices atomicCounterUniformIndices;
 
     unsigned int localSize[3];
 };
diff --git a/glslang/OSDependent/Unix/ossource.cpp b/glslang/OSDependent/Unix/ossource.cpp
index 02d6fe4..48ff4f2 100644
--- a/glslang/OSDependent/Unix/ossource.cpp
+++ b/glslang/OSDependent/Unix/ossource.cpp
@@ -46,7 +46,7 @@
 #include <cstdio>
 #include <sys/time.h>
 
-#ifdef DUMP_COUNTERS
+#if !defined(__Fuchsia__)
 #include <sys/resource.h>
 #endif
 
@@ -74,7 +74,7 @@
 void OS_CleanupThreadData(void)
 {
     // Fuchsia does not have a meaningful pthread_cancel.
-#if defined(__Fuchsia__) || defined(__ANDROID__)
+#if defined(__ANDROID__) || defined(__Fuchsia__)
     DetachThreadLinux(NULL);
 #else
     int old_cancel_state, old_cancel_type;
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index d73021c..0c25569 100755
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -53,9 +53,6 @@
 #define SH_IMPORT_EXPORT
 #else
 #define SH_IMPORT_EXPORT
-#ifndef __fastcall
-#define __fastcall
-#endif
 #define C_DECL
 #endif
 
@@ -83,7 +80,7 @@
 //
 // Call this at process shutdown to clean up memory.
 //
-SH_IMPORT_EXPORT int __fastcall ShFinalize();
+SH_IMPORT_EXPORT int ShFinalize();
 
 //
 // Types of languages the compiler can consume.
@@ -240,6 +237,19 @@
 };
 
 //
+// Options for building reflection
+//
+typedef enum {
+    EShReflectionDefault           = 0,        // default is original behaviour before options were added
+    EShReflectionStrictArraySuffix = (1 << 0), // reflection will follow stricter rules for array-of-structs suffixes
+    EShReflectionBasicArraySuffix  = (1 << 1), // arrays of basic types will be appended with [0] as in GL reflection
+    EShReflectionIntermediateIO    = (1 << 2), // reflect inputs and outputs to program, even with no vertex shader
+    EShReflectionSeparateBuffers   = (1 << 3), // buffer variables and buffer blocks are reflected separately
+    EShReflectionAllBlockVariables = (1 << 4), // reflect all variables in blocks, even if they are inactive
+    EShReflectionUnwrapIOBlocks    = (1 << 5), // unwrap input/output blocks the same as with uniform blocks
+} EShReflectionOptions;
+
+//
 // Build a table for bindings.  This can be used for locating
 // attributes, uniforms, globals, etc., as needed.
 //
@@ -599,6 +609,41 @@
     TShader& operator=(TShader&);
 };
 
+//
+// A reflection database and its interface, consistent with the OpenGL API reflection queries.
+//
+
+// Data needed for just a single object at the granularity exchanged by the reflection API
+class TObjectReflection {
+public:
+    TObjectReflection(const std::string& pName, const TType& pType, int pOffset, int pGLDefineType, int pSize, int pIndex);
+
+    const TType* getType() const { return type; }
+    int getBinding() const;
+    void dump() const;
+    static TObjectReflection badReflection() { return TObjectReflection(); }
+
+    std::string name;
+    int offset;
+    int glDefineType;
+    int size;                   // data size in bytes for a block, array size for a (non-block) object that's an array
+    int index;
+    int counterIndex;
+    int numMembers;
+    int arrayStride;            // stride of an array variable
+    int topLevelArrayStride;    // stride of the top-level variable in a storage buffer member
+    EShLanguageMask stages;
+
+protected:
+    TObjectReflection()
+        : offset(-1), glDefineType(-1), size(-1), index(-1), counterIndex(-1), numMembers(-1), arrayStride(0),
+          topLevelArrayStride(0), stages(EShLanguageMask(0)), type(nullptr)
+    {
+    }
+
+    const TType* type;
+};
+
 class TReflection;
 class TIoMapper;
 
@@ -688,28 +733,89 @@
     TIntermediate* getIntermediate(EShLanguage stage) const { return intermediate[stage]; }
 
     // Reflection Interface
-    bool buildReflection();                          // call first, to do liveness analysis, index mapping, etc.; returns false on failure
-    int getNumLiveUniformVariables() const;                // can be used for glGetProgramiv(GL_ACTIVE_UNIFORMS)
-    int getNumLiveUniformBlocks() const;                   // can be used for glGetProgramiv(GL_ACTIVE_UNIFORM_BLOCKS)
-    const char* getUniformName(int index) const;           // can be used for "name" part of glGetActiveUniform()
-    const char* getUniformBlockName(int blockIndex) const; // can be used for glGetActiveUniformBlockName()
-    int getUniformBlockSize(int blockIndex) const;         // can be used for glGetActiveUniformBlockiv(UNIFORM_BLOCK_DATA_SIZE)
-    int getUniformIndex(const char* name) const;           // can be used for glGetUniformIndices()
-    int getUniformBinding(int index) const;                // returns the binding number
-    EShLanguageMask getUniformStages(int index) const;     // returns Shaders Stages where a Uniform is present
-    int getUniformBlockBinding(int index) const;           // returns the block binding number
-    int getUniformBlockIndex(int index) const;             // can be used for glGetActiveUniformsiv(GL_UNIFORM_BLOCK_INDEX)
-    int getUniformBlockCounterIndex(int index) const;      // returns block index of associated counter.
-    int getUniformType(int index) const;                   // can be used for glGetActiveUniformsiv(GL_UNIFORM_TYPE)
-    int getUniformBufferOffset(int index) const;           // can be used for glGetActiveUniformsiv(GL_UNIFORM_OFFSET)
-    int getUniformArraySize(int index) const;              // can be used for glGetActiveUniformsiv(GL_UNIFORM_SIZE)
-    int getNumLiveAttributes() const;                      // can be used for glGetProgramiv(GL_ACTIVE_ATTRIBUTES)
+
+    // call first, to do liveness analysis, index mapping, etc.; returns false on failure
+    bool buildReflection(int opts = EShReflectionDefault);    
+
     unsigned getLocalSize(int dim) const;                  // return dim'th local size
-    const char *getAttributeName(int index) const;         // can be used for glGetActiveAttrib()
-    int getAttributeType(int index) const;                 // can be used for glGetActiveAttrib()
-    const TType* getUniformTType(int index) const;         // returns a TType*
-    const TType* getUniformBlockTType(int index) const;    // returns a TType*
-    const TType* getAttributeTType(int index) const;       // returns a TType*
+    int getReflectionIndex(const char *name) const;
+
+    int getNumUniformVariables() const;
+    const TObjectReflection& getUniform(int index) const;
+    int getNumUniformBlocks() const;
+    const TObjectReflection& getUniformBlock(int index) const;
+    int getNumPipeInputs() const;
+    const TObjectReflection& getPipeInput(int index) const;
+    int getNumPipeOutputs() const;
+    const TObjectReflection& getPipeOutput(int index) const;
+    int getNumBufferVariables() const;
+    const TObjectReflection& getBufferVariable(int index) const;
+    int getNumBufferBlocks() const;
+    const TObjectReflection& getBufferBlock(int index) const;
+    int getNumAtomicCounters() const;
+    const TObjectReflection& getAtomicCounter(int index) const;
+
+    // Legacy Reflection Interface - expressed in terms of above interface
+
+    // can be used for glGetProgramiv(GL_ACTIVE_UNIFORMS)
+    int getNumLiveUniformVariables() const             { return getNumUniformVariables(); }
+
+    // can be used for glGetProgramiv(GL_ACTIVE_UNIFORM_BLOCKS)
+    int getNumLiveUniformBlocks() const                { return getNumUniformBlocks(); }
+
+    // can be used for glGetProgramiv(GL_ACTIVE_ATTRIBUTES)
+    int getNumLiveAttributes() const                   { return getNumPipeInputs(); }
+
+    // can be used for glGetUniformIndices()
+    int getUniformIndex(const char *name) const        { return getReflectionIndex(name); }
+
+    // can be used for "name" part of glGetActiveUniform()
+    const char *getUniformName(int index) const        { return getUniform(index).name.c_str(); }
+
+    // returns the binding number
+    int getUniformBinding(int index) const             { return getUniform(index).getBinding(); }
+
+    // returns Shaders Stages where a Uniform is present
+    EShLanguageMask getUniformStages(int index) const  { return getUniform(index).stages; }
+
+    // can be used for glGetActiveUniformsiv(GL_UNIFORM_BLOCK_INDEX)
+    int getUniformBlockIndex(int index) const          { return getUniform(index).index; }
+
+    // can be used for glGetActiveUniformsiv(GL_UNIFORM_TYPE)
+    int getUniformType(int index) const                { return getUniform(index).glDefineType; }
+
+    // can be used for glGetActiveUniformsiv(GL_UNIFORM_OFFSET)
+    int getUniformBufferOffset(int index) const        { return getUniform(index).offset; }
+
+    // can be used for glGetActiveUniformsiv(GL_UNIFORM_SIZE)
+    int getUniformArraySize(int index) const           { return getUniform(index).size; }
+
+    // returns a TType*
+    const TType *getUniformTType(int index) const      { return getUniform(index).getType(); }
+
+    // can be used for glGetActiveUniformBlockName()
+    const char *getUniformBlockName(int index) const   { return getUniformBlock(index).name.c_str(); }
+
+    // can be used for glGetActiveUniformBlockiv(UNIFORM_BLOCK_DATA_SIZE)
+    int getUniformBlockSize(int index) const           { return getUniformBlock(index).size; }
+
+    // returns the block binding number
+    int getUniformBlockBinding(int index) const        { return getUniformBlock(index).getBinding(); }
+
+    // returns block index of associated counter.
+    int getUniformBlockCounterIndex(int index) const   { return getUniformBlock(index).counterIndex; }
+
+    // returns a TType*
+    const TType *getUniformBlockTType(int index) const { return getUniformBlock(index).getType(); }
+
+    // can be used for glGetActiveAttrib()
+    const char *getAttributeName(int index) const      { return getPipeInput(index).name.c_str(); }
+
+    // can be used for glGetActiveAttrib()
+    int getAttributeType(int index) const              { return getPipeInput(index).glDefineType; }
+
+    // returns a TType*
+    const TType *getAttributeTType(int index) const    { return getPipeInput(index).getType(); }
 
     void dumpReflection();
 
diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp
index 00bb433..b64b415 100644
--- a/gtests/AST.FromFile.cpp
+++ b/gtests/AST.FromFile.cpp
@@ -93,9 +93,13 @@
         "cppSimple.vert",
         "cppIndent.vert",
         "cppIntMinOverNegativeOne.frag",
+        "cppMerge.frag",
         "cppNest.vert",
         "cppBad.vert",
         "cppBad2.vert",
+        "cppBad3.vert",
+        "cppBad4.vert",
+        "cppBad5.vert",
         "cppComplexExpr.vert",
         "cppDeepNest.frag",
         "cppPassMacroName.frag",
@@ -113,6 +117,7 @@
         "300operations.frag",
         "300block.frag",
         "300samplerExternal.frag",
+        "300samplerExternalYUV.frag",
         "310.comp",
         "310.vert",
         "310.geom",
@@ -231,7 +236,39 @@
         "precise_struct_block.vert",
         "maxClipDistances.vert",
         "findFunction.frag",
-        "constantUnaryConversion.comp"
+        "constantUnaryConversion.comp",
+        "glsl.450.subgroup.frag",
+        "glsl.450.subgroup.geom",
+        "glsl.450.subgroup.tesc",
+        "glsl.450.subgroup.tese",
+        "glsl.450.subgroup.vert",
+        "glsl.450.subgroupArithmetic.comp",
+        "glsl.450.subgroupBasic.comp",
+        "glsl.450.subgroupBallot.comp",
+        "glsl.450.subgroupBallotNeg.comp",
+        "glsl.450.subgroupClustered.comp",
+        "glsl.450.subgroupClusteredNeg.comp",
+        "glsl.450.subgroupPartitioned.comp",
+        "glsl.450.subgroupShuffle.comp",
+        "glsl.450.subgroupShuffleRelative.comp",
+        "glsl.450.subgroupQuad.comp",
+        "glsl.450.subgroupVote.comp",
+        "glsl.es320.subgroup.frag",
+        "glsl.es320.subgroup.geom",
+        "glsl.es320.subgroup.tesc",
+        "glsl.es320.subgroup.tese",
+        "glsl.es320.subgroup.vert",
+        "glsl.es320.subgroupArithmetic.comp",
+        "glsl.es320.subgroupBasic.comp",
+        "glsl.es320.subgroupBallot.comp",
+        "glsl.es320.subgroupBallotNeg.comp",
+        "glsl.es320.subgroupClustered.comp",
+        "glsl.es320.subgroupClusteredNeg.comp",
+        "glsl.es320.subgroupPartitioned.comp",
+        "glsl.es320.subgroupShuffle.comp",
+        "glsl.es320.subgroupShuffleRelative.comp",
+        "glsl.es320.subgroupQuad.comp",
+        "glsl.es320.subgroupVote.comp",
     })),
     FileNameAsCustomTestSuffix
 );
diff --git a/gtests/Config.FromFile.cpp b/gtests/Config.FromFile.cpp
index dccf5d6..d6fbf20 100644
--- a/gtests/Config.FromFile.cpp
+++ b/gtests/Config.FromFile.cpp
@@ -100,7 +100,7 @@
     ::testing::ValuesIn(std::vector<TestCaseSpec>({
         {"specExamples.vert", "baseResults/test.conf", "specExamplesConf.vert.out", (EShMessages)(EShMsgAST | EShMsgCascadingErrors)},
         {"100Limits.vert", "100.conf", "100LimitsConf.vert.out", EShMsgCascadingErrors},
-    })),
+    }))
 );
 // clang-format on
 
diff --git a/gtests/HexFloat.cpp b/gtests/HexFloat.cpp
index ddbee1f..ead4fd3 100644
--- a/gtests/HexFloat.cpp
+++ b/gtests/HexFloat.cpp
@@ -127,7 +127,7 @@
         {float(ldexp(1.0, -127) / 2.0 + (ldexp(1.0, -127) / 4.0f)),
          "0x1.8p-128"},
 
-    })),);
+    })));
 
 INSTANTIATE_TEST_CASE_P(
     Float32NanTests, HexFloatTest,
@@ -145,7 +145,7 @@
         {uint32_t(0x7f800c00), "0x1.0018p+128"},     // +nan
         {uint32_t(0x7F80F000), "0x1.01ep+128"},      // +nan
         {uint32_t(0x7FFFFFFF), "0x1.fffffep+128"},   // +nan
-    })),);
+    })));
 
 INSTANTIATE_TEST_CASE_P(
     Float64Tests, HexDoubleTest,
@@ -218,7 +218,7 @@
             {ldexp(1.0, -1023) / 2.0 + (ldexp(1.0, -1023) / 4.0),
              "0x1.8p-1024"},
 
-        })),);
+        })));
 
 INSTANTIATE_TEST_CASE_P(
     Float64NanTests, HexDoubleTest,
@@ -237,7 +237,7 @@
         {uint64_t(0x7FF0000000000001LL), "0x1.0000000000001p+1024"},   // -nan
         {uint64_t(0x7FF0000300000000LL), "0x1.00003p+1024"},           // -nan
         {uint64_t(0x7FFFFFFFFFFFFFFFLL), "0x1.fffffffffffffp+1024"},   // -nan
-    })),);
+    })));
 
 TEST(HexFloatStreamTest, OperatorLeftShiftPreservesFloatAndFill) {
   std::stringstream s;
@@ -282,7 +282,7 @@
         {"0xFFp+0", 255.f},
         {"0x0.8p+0", 0.5f},
         {"0x0.4p+0", 0.25f},
-    })),);
+    })));
 
 INSTANTIATE_TEST_CASE_P(
     Float32DecodeInfTests, DecodeHexFloatTest,
@@ -292,7 +292,7 @@
         {"0x32p+127", uint32_t(0x7F800000)},   // inf
         {"0x32p+500", uint32_t(0x7F800000)},   // inf
         {"-0x32p+127", uint32_t(0xFF800000)},  // -inf
-    })),);
+    })));
 
 INSTANTIATE_TEST_CASE_P(
     Float64DecodeTests, DecodeHexDoubleTest,
@@ -315,7 +315,7 @@
             {"0xFFp+0", 255.},
             {"0x0.8p+0", 0.5},
             {"0x0.4p+0", 0.25},
-        })),);
+        })));
 
 INSTANTIATE_TEST_CASE_P(
     Float64DecodeInfTests, DecodeHexDoubleTest,
@@ -326,7 +326,7 @@
             {"0x32p+1023", uint64_t(0x7FF0000000000000)},   // inf
             {"0x32p+5000", uint64_t(0x7FF0000000000000)},   // inf
             {"-0x32p+1023", uint64_t(0xFFF0000000000000)},  // -inf
-        })),);
+        })));
 
 TEST(FloatProxy, ValidConversion) {
   EXPECT_THAT(FloatProxy<float>(1.f).getAsFloat(), Eq(1.0f));
@@ -495,7 +495,7 @@
 
         {std::numeric_limits<float>::infinity(), "0x1p+128"},
         {-std::numeric_limits<float>::infinity(), "-0x1p+128"},
-    })),);
+    })));
 
 INSTANTIATE_TEST_CASE_P(
     Float64Tests, FloatProxyDoubleTest,
@@ -532,7 +532,7 @@
             {std::numeric_limits<double>::infinity(), "0x1p+1024"},
             {-std::numeric_limits<double>::infinity(), "-0x1p+1024"},
 
-        })),);
+        })));
 
 // double is used so that unbiased_exponent can be used with the output
 // of ldexp directly.
@@ -793,7 +793,7 @@
     {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -129)), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToPositiveInfinity},
     {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -131)), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToNegativeInfinity},
     {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -130)), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToNearestEven},
-  })),);
+  })));
 // clang-format on
 
 struct UpCastSignificandCase {
@@ -837,7 +837,7 @@
     {0x0F00, 0x600000},
     {0x0F01, 0x602000},
     {0x0FFF, 0x7FE000},
-  })),);
+  })));
 
 struct DownCastTest {
   float source_float;
@@ -914,7 +914,7 @@
     {-std::numeric_limits<float>::infinity(), negative_infinity, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
 
     // Nans are below because we cannot test for equality.
-  })),);
+  })));
 
 struct UpCastCase{
   uint16_t source_half;
@@ -965,7 +965,7 @@
     // inf
     {0x7C00, std::numeric_limits<float>::infinity()},
     {0xFC00, -std::numeric_limits<float>::infinity()},
-  })),);
+  })));
 
 TEST(HexFloatOperationTests, NanTests) {
   using HF = spvutils::HexFloat<spvutils::FloatProxy<float>>;
@@ -1071,7 +1071,7 @@
         // We can't have -1e40 and negate_value == true since
         // that represents an original case of "--1e40" which
         // is invalid.
-  }),);
+  }));
 
 using ParseNormalFloat16Test =
     ::testing::TestWithParam<FloatParseCase<Float16>>;
@@ -1114,7 +1114,7 @@
         BadFloatParseCase<Float16>("-2.0", true, uint16_t{0}),
         BadFloatParseCase<Float16>("+0.0", true, uint16_t{0}),
         BadFloatParseCase<Float16>("+2.0", true, uint16_t{0}),
-    }),);
+    }));
 
 // A test case for detecting infinities.
 template <typename T>
@@ -1149,7 +1149,7 @@
         {"-1e40", false, -FLT_MAX},
         {"1e400", false, FLT_MAX},
         {"-1e400", false, -FLT_MAX},
-    })),);
+    })));
 
 using FloatProxyParseOverflowDoubleTest =
     ::testing::TestWithParam<OverflowParseCase<double>>;
@@ -1176,7 +1176,7 @@
         {"-1e40", true, -1e40},
         {"1e400", false, DBL_MAX},
         {"-1e400", false, -DBL_MAX},
-    })),);
+    })));
 
 using FloatProxyParseOverflowFloat16Test =
     ::testing::TestWithParam<OverflowParseCase<uint16_t>>;
@@ -1207,7 +1207,7 @@
         {"-1e38", false, uint16_t{0xfbff}},
         {"-1e40", false, uint16_t{0xfbff}},
         {"-1e400", false, uint16_t{0xfbff}},
-    })),);
+    })));
 
 TEST(FloatProxy, Max) {
   EXPECT_THAT(FloatProxy<Float16>::max().getAsFloat().get_value(),
diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp
index a17f470..78e92cb 100644
--- a/gtests/Hlsl.FromFile.cpp
+++ b/gtests/Hlsl.FromFile.cpp
@@ -185,6 +185,7 @@
         {"hlsl.depthLess.frag", "PixelShaderFunction"},
         {"hlsl.discard.frag", "PixelShaderFunction"},
         {"hlsl.doLoop.frag", "PixelShaderFunction"},
+        {"hlsl.earlydepthstencil.frag", "main"},
         {"hlsl.emptystructreturn.frag", "main"},
         {"hlsl.emptystructreturn.vert", "main"},
         {"hlsl.emptystruct.init.vert", "main"},
diff --git a/gtests/Link.FromFile.Vk.cpp b/gtests/Link.FromFile.Vk.cpp
index 4a88203..fe96bd9 100644
--- a/gtests/Link.FromFile.Vk.cpp
+++ b/gtests/Link.FromFile.Vk.cpp
@@ -108,7 +108,7 @@
     ::testing::ValuesIn(std::vector<std::vector<std::string>>({
         {"link1.vk.frag", "link2.vk.frag"},
         {"spv.unit1.frag", "spv.unit2.frag", "spv.unit3.frag"},
-    })),
+    }))
 );
 // clang-format on
 
diff --git a/gtests/Link.FromFile.cpp b/gtests/Link.FromFile.cpp
index 49d021a..abc33a9 100644
--- a/gtests/Link.FromFile.cpp
+++ b/gtests/Link.FromFile.cpp
@@ -101,7 +101,7 @@
         {"max_vertices_0.geom"},
         {"es-link1.frag", "es-link2.frag"},
         {"missingBodies.vert"}
-    })),
+    }))
 );
 // clang-format on
 
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index 170f985..4663df6 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -272,6 +272,8 @@
         "spv.bufferhandle13.frag",
         "spv.bufferhandle14.frag",
         "spv.bufferhandle15.frag",
+        "spv.bufferhandle16.frag",
+        "spv.bufferhandle17_Errors.frag",
         "spv.bufferhandle2.frag",
         "spv.bufferhandle3.frag",
         "spv.bufferhandle4.frag",
@@ -286,6 +288,8 @@
         "spv.constStruct.vert",
         "spv.controlFlowAttributes.frag",
         "spv.conversion.frag",
+        "spv.coopmat.comp",
+        "spv.coopmat_Error.comp",
         "spv.dataOut.frag",
         "spv.dataOutIndirect.frag",
         "spv.dataOutIndirect.vert",
@@ -410,6 +414,7 @@
     ::testing::ValuesIn(std::vector<std::string>({
         "spv.1.3.8bitstorage-ubo.vert",
         "spv.1.3.8bitstorage-ssbo.vert",
+        "spv.1.3.coopmat.comp",
         "spv.deviceGroup.frag",
         "spv.drawParams.vert",
         "spv.int8.frag",
@@ -528,6 +533,7 @@
 INSTANTIATE_TEST_CASE_P(
     Glsl, CompileVulkanToSpirvTestAMD,
     ::testing::ValuesIn(std::vector<std::string>({
+        "spv.16bitxfb.vert",
         "spv.float16.frag",
         "spv.float16Fetch.frag",
         "spv.imageLoadStoreLod.frag",
diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index 277d33a..45cf5d5 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -1197,7 +1197,7 @@
     TSampler sampler;
     sampler.set(txType.getBasicType(), dim, false, isShadow, false);
 
-	if (!parseContext.setTextureReturnType(sampler, txType, token.loc))
+    if (!parseContext.setTextureReturnType(sampler, txType, token.loc))
         return false;
 
     type.shallowCopy(TType(sampler, EvqUniform, arraySizes));
@@ -1489,7 +1489,7 @@
     case EHTokSampler3d:              // ...
     case EHTokSamplerCube:            // ...
         if (parseContext.hlslDX9Compatible())
-			return acceptSamplerTypeDX9(type);
+            return acceptSamplerTypeDX9(type);
         else
             return acceptSamplerType(type);
         break;
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
old mode 100755
new mode 100644
index d6dc2e8..213f236
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -39,6 +39,7 @@
 #include "hlslGrammar.h"
 #include "hlslAttributes.h"
 
+#include "../glslang/Include/Common.h"
 #include "../glslang/MachineIndependent/Scan.h"
 #include "../glslang/MachineIndependent/preprocessor/PpContext.h"
 
@@ -133,7 +134,7 @@
         // Print a message formated such that if you click on the message it will take you right to
         // the line through most UIs.
         const glslang::TSourceLoc& sourceLoc = input.getSourceLoc();
-        infoSink.info << sourceLoc.name->c_str() << "(" << sourceLoc.line << "): error at column " << sourceLoc.column
+        infoSink.info << sourceLoc.getFilenameStr() << "(" << sourceLoc.line << "): error at column " << sourceLoc.column
                       << ", HLSL parsing failed.\n";
         ++numErrors;
         return false;
@@ -653,10 +654,6 @@
         return nullptr;
     }
 
-    // Error check for requiring specific extensions present.
-    if (symbol && symbol->getNumExtensions())
-        requireExtensions(loc, symbol->getNumExtensions(), symbol->getExtensions(), symbol->getName().c_str());
-
     const TVariable* variable = nullptr;
     const TAnonMember* anon = symbol ? symbol->getAsAnonMember() : nullptr;
     TIntermTyped* node = nullptr;
@@ -1872,6 +1869,9 @@
             }
             break;
         }
+        case EatEarlyDepthStencil:
+            intermediate.setEarlyFragmentTests();
+            break;
         case EatBuiltIn:
         case EatLocation:
             // tolerate these because of dual use of entrypoint and type attributes
@@ -3129,7 +3129,7 @@
         if (textureShadowEntry != textureShadowVariant.end())
             newId = textureShadowEntry->second->get(shadowMode);
         else
-            textureShadowVariant[texSymbol->getId()] = new tShadowTextureSymbols;
+            textureShadowVariant[texSymbol->getId()] = NewPoolObject(tShadowTextureSymbols(), 1);
 
         // Sometimes we have to create another symbol (if this texture has been seen before,
         // and we haven't created the form for this shadow mode).
@@ -3208,7 +3208,7 @@
     TType blockType;
     counterBufferType(loc, blockType);
 
-    TString* blockName = new TString(intermediate.addCounterBufferName(name));
+    TString* blockName = NewPoolTString(intermediate.addCounterBufferName(name).c_str());
 
     // Counter buffer is not yet in use
     structBufferCounter[*blockName] = false;
@@ -3255,7 +3255,8 @@
     if (argAggregate) {
         if (argAggregate->getSequence().empty())
             return;
-        bufferObj = argAggregate->getSequence()[0]->getAsTyped();
+        if (argAggregate->getSequence()[0])
+            bufferObj = argAggregate->getSequence()[0]->getAsTyped();
     } else {
         bufferObj = arguments->getAsSymbolNode();
     }
@@ -3754,7 +3755,8 @@
             if (arguments->getAsTyped()->getBasicType() != EbtSampler)
                 return;
         } else {
-            if (argAggregate->getSequence().size() == 0 ||
+            if (argAggregate->getSequence().size() == 0 || 
+                argAggregate->getSequence()[0] == nullptr ||
                 argAggregate->getSequence()[0]->getAsTyped()->getBasicType() != EbtSampler)
                 return;
         }
@@ -4605,7 +4607,7 @@
         if (nullptr == symbol) {
             type.getQualifier().builtIn = builtin;
 
-            TVariable* variable = new TVariable(new TString(name), type);
+            TVariable* variable = new TVariable(NewPoolTString(name), type);
 
             symbolTable.insert(*variable);
 
@@ -5293,7 +5295,7 @@
 
             TIntermTyped* arg0 = nullptr;
 
-            if (aggregate && aggregate->getSequence().size() > 0)
+            if (aggregate && aggregate->getSequence().size() > 0 && aggregate->getSequence()[0])
                 arg0 = aggregate->getSequence()[0]->getAsTyped();
             else if (arguments->getAsSymbolNode())
                 arg0 = arguments->getAsSymbolNode();
@@ -5321,11 +5323,6 @@
             //  - a built-in function not mapped to an operator, or
             //  - a user function.
 
-            // Error check for a function requiring specific extensions present.
-            if (builtIn && fnCandidate->getNumExtensions())
-                requireExtensions(loc, fnCandidate->getNumExtensions(), fnCandidate->getExtensions(),
-                                  fnCandidate->getName().c_str());
-
             // turn an implicit member-function resolution into an explicit call
             TString callerName;
             if (thisDepth == 0)
@@ -5767,7 +5764,7 @@
         std::any_of(aggregate->getSequence().begin(),
                     aggregate->getSequence().end(),
                     [this](const TIntermNode* node) {
-                        return (node->getAsTyped() != nullptr) && hasStructBuffCounter(node->getAsTyped()->getType());
+                        return (node && node->getAsTyped() != nullptr) && hasStructBuffCounter(node->getAsTyped()->getType());
                     });
 
     // Nothing to do, if we didn't find one.
@@ -8697,13 +8694,26 @@
     int nextOffset = qualifier.layoutXfbOffset;
     for (unsigned int member = 0; member < typeList.size(); ++member) {
         TQualifier& memberQualifier = typeList[member].type->getQualifier();
-        bool containsDouble = false;
-        int memberSize = intermediate.computeTypeXfbSize(*typeList[member].type, containsDouble);
+        bool contains64BitType = false;
+#ifdef AMD_EXTENSIONS
+        bool contains32BitType = false;
+        bool contains16BitType = false;
+        int memberSize = intermediate.computeTypeXfbSize(*typeList[member].type, contains64BitType, contains32BitType, contains16BitType);
+#else
+        int memberSize = intermediate.computeTypeXfbSize(*typeList[member].type, contains64BitType);
+#endif
         // see if we need to auto-assign an offset to this member
         if (! memberQualifier.hasXfbOffset()) {
-            // "if applied to an aggregate containing a double, the offset must also be a multiple of 8"
-            if (containsDouble)
+            // "if applied to an aggregate containing a double or 64-bit integer, the offset must also be a multiple of 8"
+            if (contains64BitType)
                 RoundToPow2(nextOffset, 8);
+#ifdef AMD_EXTENSIONS
+            else if (contains32BitType)
+                RoundToPow2(nextOffset, 4);
+            // "if applied to an aggregate containing a half float or 16-bit integer, the offset must also be a multiple of 2"
+            else if (contains16BitType)
+                RoundToPow2(nextOffset, 2);
+#endif
             memberQualifier.layoutXfbOffset = nextOffset;
         } else
             nextOffset = memberQualifier.layoutXfbOffset;
diff --git a/known_good.json b/known_good.json
index e1a1120..9798b49 100644
--- a/known_good.json
+++ b/known_good.json
@@ -5,14 +5,14 @@
       "site" : "github",
       "subrepo" : "KhronosGroup/SPIRV-Tools",
       "subdir" : "External/spirv-tools",
-      "commit" : "df5bd2d05ac1fd3ec3024439f885ec21cc949b22"
+      "commit" : "b12e7338eeeaa06571839d1dfbc21126180090cc"
     },
     {
       "name" : "spirv-tools/external/spirv-headers",
       "site" : "github",
       "subrepo" : "KhronosGroup/SPIRV-Headers",
       "subdir" : "External/spirv-tools/external/spirv-headers",
-      "commit" : "79b6681aadcb53c27d1052e5f8a0e82a981dbf2f"
+      "commit" : "3beb2a0373101562e1a1206edc33cf64fae87b54"
     }
   ]
 }